From 5a999473ca6d025304a3cd2ae4684ffcb4f371c0 Mon Sep 17 00:00:00 2001 From: Michael Hollister Date: Mon, 21 Oct 2024 20:51:07 +0000 Subject: [PATCH] Add Electron Forge --- .gitignore | 1 + .gitlab-ci.yml | 5 +- clients/terminal/LICENSE | 675 -- receivers/electron/.gitignore | 2 - receivers/electron/.gitlab-ci.yml | 77 +- receivers/electron/.npmrc | 1 + receivers/electron/Dockerfile | 17 + receivers/electron/LICENSE | 674 -- receivers/electron/app.ico | Bin 16261 -> 0 bytes receivers/electron/app.png | Bin 14555 -> 0 bytes receivers/electron/assets/icons/icon.icns | Bin 0 -> 147924 bytes receivers/electron/assets/icons/icon.ico | Bin 0 -> 8116 bytes receivers/electron/assets/icons/icon.png | Bin 0 -> 13506 bytes receivers/electron/assets/icons/icon.svg | 20 + receivers/electron/assets/icons/icon1024.png | Bin 0 -> 34651 bytes receivers/electron/assets/icons/icon512.png | Bin 0 -> 43658 bytes .../electron/assets/images/background.png | Bin 0 -> 45901 bytes receivers/electron/deploy.sh | 32 - receivers/electron/forge.config.js | 207 + receivers/electron/package-lock.json | 7506 ++++++++++++++--- receivers/electron/package.json | 29 +- receivers/electron/packaging/package-all.sh | 7 - receivers/electron/packaging/package-macos.sh | 20 - receivers/electron/packaging/package.sh | 28 - receivers/electron/scripts/create-iconset.sh | 15 + receivers/electron/scripts/deploy.py | 150 + receivers/electron/src/DiscoveryService.ts | 6 +- receivers/electron/src/FCastSession.ts | 4 +- receivers/electron/src/Main.ts | 8 +- receivers/electron/src/TcpListenerService.ts | 8 +- receivers/electron/tsconfig.json | 5 +- 31 files changed, 6811 insertions(+), 2686 deletions(-) create mode 100644 .gitignore delete mode 100644 clients/terminal/LICENSE create mode 100644 receivers/electron/.npmrc create mode 100644 receivers/electron/Dockerfile delete mode 100644 receivers/electron/LICENSE delete mode 100644 receivers/electron/app.ico delete mode 100644 receivers/electron/app.png create mode 100644 receivers/electron/assets/icons/icon.icns create mode 100644 receivers/electron/assets/icons/icon.ico create mode 100644 receivers/electron/assets/icons/icon.png create mode 100644 receivers/electron/assets/icons/icon.svg create mode 100644 receivers/electron/assets/icons/icon1024.png create mode 100644 receivers/electron/assets/icons/icon512.png create mode 100644 receivers/electron/assets/images/background.png delete mode 100644 receivers/electron/deploy.sh create mode 100644 receivers/electron/forge.config.js delete mode 100644 receivers/electron/packaging/package-all.sh delete mode 100644 receivers/electron/packaging/package-macos.sh delete mode 100644 receivers/electron/packaging/package.sh create mode 100755 receivers/electron/scripts/create-iconset.sh create mode 100644 receivers/electron/scripts/deploy.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4fb321d..0bef116 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,14 @@ stages: + - buildDockerContainers - buildAndDeployAndroid - deployWebsite - buildAndDeployElectron variables: - ANDROID_VERSION_NAME: + ANDROID_VERSION_NAME: value: "" description: "Enter the version name here (e.g. 1.0.1)." - ANDROID_VERSION_CODE: + ANDROID_VERSION_CODE: value: "" description: "Enter the version code here (e.g. 1)." diff --git a/clients/terminal/LICENSE b/clients/terminal/LICENSE deleted file mode 100644 index 402b5f9..0000000 --- a/clients/terminal/LICENSE +++ /dev/null @@ -1,675 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 2023 Koen - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) 2023 Koen - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - diff --git a/receivers/electron/.gitignore b/receivers/electron/.gitignore index 6feb750..c680fb1 100644 --- a/receivers/electron/.gitignore +++ b/receivers/electron/.gitignore @@ -131,5 +131,3 @@ dist # Ignore VSCode user project settings .vscode - -packaging/*.zip \ No newline at end of file diff --git a/receivers/electron/.gitlab-ci.yml b/receivers/electron/.gitlab-ci.yml index 4807b43..43a8ccc 100644 --- a/receivers/electron/.gitlab-ci.yml +++ b/receivers/electron/.gitlab-ci.yml @@ -1,7 +1,76 @@ -buildAndDeployElectron: - stage: buildAndDeployElectron + +buildElectronDockerContainer: + stage: buildDockerContainers + image: docker:20.10.16 + services: + - docker:20.10.16-dind + tags: + - fcast before_script: - cd receivers/electron script: - - sh deploy.sh - when: manual \ No newline at end of file + - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin + - docker build -t $CI_REGISTRY/videostreaming/fcast/receiver-electron-dev:latest . + - docker push $CI_REGISTRY/videostreaming/fcast/receiver-electron-dev:latest + when: manual + +buildMac: + stage: buildAndDeployElectron + tags: + - m1-macos + before_script: + - cd receivers/electron + script: + - npm install + - npm run build + - npm run make -- --platform="darwin" --arch="arm64" + - npm run make -- --platform="darwin" --arch="x64" + - scp -r out/make/* root@$FCAST_DO_RUNNER_IP:/artifacts/ + artifacts: + untracked: false + when: on_success + access: all + expire_in: "30 days" + paths: + - receivers/electron/out/make/* + when: manual + +buildWindowsAndLinux: + stage: buildAndDeployElectron + image: gitlab.futo.org:5050/videostreaming/fcast/receiver-electron-dev:latest + tags: + - fcast + before_script: + - cd receivers/electron + script: + - npm install + - npm run build + - npm run make -- --platform="win32" --arch="x64" + - npm run make -- --platform="linux" --arch="x64" + - npm run make -- --platform="linux" --arch="arm64" + - cp -rf out/make/* /artifacts/ + artifacts: + untracked: false + when: on_success + access: all + expire_in: "30 days" + paths: + - receivers/electron/out/make/* + exclude: + - receivers/electron/out/make/wix/x64/*.w* + when: manual + +deploy: + stage: buildAndDeployElectron + image: python:3.12.7-bookworm + tags: + - fcast + # dependencies: + # - buildMac + # - buildWindowsAndLinux + before_script: + - cd receivers/electron + - pip install boto3 + script: + - python3 scripts/deploy.py + when: manual diff --git a/receivers/electron/.npmrc b/receivers/electron/.npmrc new file mode 100644 index 0000000..6e4ba02 --- /dev/null +++ b/receivers/electron/.npmrc @@ -0,0 +1 @@ +@futo:registry=https://gitlab.futo.org/api/v4/projects/305/packages/npm/ diff --git a/receivers/electron/Dockerfile b/receivers/electron/Dockerfile new file mode 100644 index 0000000..58982b5 --- /dev/null +++ b/receivers/electron/Dockerfile @@ -0,0 +1,17 @@ +FROM node:22.10.0-bookworm + +RUN dpkg --add-architecture i386 +RUN apt update && apt install -y zip dpkg fakeroot rpm wget p7zip-full unzip + +RUN mkdir -pm755 /etc/apt/keyrings +RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key +RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources +RUN echo "deb http://deb.debian.org/debian bookworm main contrib non-free" > /etc/apt/sources.list +RUN echo "deb http://deb.debian.org/debian bookworm-updates main contrib non-free" >> /etc/apt/sources.list + +RUN apt update && apt install -y --install-recommends winehq-stable mono-devel winetricks +RUN winetricks -q -f dotnet45 + +RUN wget https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314-binaries.zip +RUN unzip wix314-binaries.zip -d wix314-binaries +ENV WINEPATH="/wix314-binaries/" diff --git a/receivers/electron/LICENSE b/receivers/electron/LICENSE deleted file mode 100644 index 73ef3bc..0000000 --- a/receivers/electron/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 2023 Koen - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) 2023 Koen - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/receivers/electron/app.ico b/receivers/electron/app.ico deleted file mode 100644 index 559624e8f971f498f41e2f2322618e11350cf950..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16261 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 M@-OAeWK0782l-+d-~a#s diff --git a/receivers/electron/assets/icons/icon.icns b/receivers/electron/assets/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..1b8637081d7a24902b96b8fe6082a17ed42ff7f1 GIT binary patch literal 147924 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 literal 0 HcmV?d00001 diff --git a/receivers/electron/assets/icons/icon.ico b/receivers/electron/assets/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..cdd2f08bbf72ae12f706cf5cca4030b7345967ed GIT binary patch literal 8116 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 mYdgeVz_uJMl46QI9t0gMdHuqEelxBdrha=QNj literal 0 HcmV?d00001 diff --git a/receivers/electron/assets/icons/icon.svg b/receivers/electron/assets/icons/icon.svg new file mode 100644 index 0000000..9e27f91 --- /dev/null +++ b/receivers/electron/assets/icons/icon.svg @@ -0,0 +1,20 @@ + + + + + + diff --git a/receivers/electron/assets/icons/icon1024.png b/receivers/electron/assets/icons/icon1024.png new file mode 100644 index 0000000000000000000000000000000000000000..4ef4fbe95208ac331d336226883590a056279414 GIT binary patch literal 34651 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%0AuRj(XH-|=%|Tks1?O`g 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 literal 0 HcmV?d00001 diff --git a/receivers/electron/assets/icons/icon512.png b/receivers/electron/assets/icons/icon512.png new file mode 100644 index 0000000000000000000000000000000000000000..84248ff2cb1b6acb642f791679af6908c3509c51 GIT binary patch literal 43658 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 K-+qtk75RVLC2tY{ literal 0 HcmV?d00001 diff --git a/receivers/electron/assets/images/background.png b/receivers/electron/assets/images/background.png new file mode 100644 index 0000000000000000000000000000000000000000..d6435c511d10bb8f86227e5ed42cbab8a4da96f7 GIT binary patch literal 45901 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 literal 0 HcmV?d00001 diff --git a/receivers/electron/deploy.sh b/receivers/electron/deploy.sh deleted file mode 100644 index df46837..0000000 --- a/receivers/electron/deploy.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -DOCUMENT_ROOT=/var/www/html - -# Build content -echo "Building content..." -npm install -cd packaging -sh package-all.sh - -# Take site offline -echo "Taking site offline..." -touch $DOCUMENT_ROOT/maintenance.file - -# Swap over the content -echo "Deploying content..." -cp fcast-receiver-*.zip $DOCUMENT_ROOT/fcastreceiver/ -cd .. -cp package.json $DOCUMENT_ROOT/fcastreceiver/ -cp -r dist $DOCUMENT_ROOT/fcastreceiver/ - -# Notify Cloudflare to wipe the CDN cache -echo "Purging Cloudflare cache..." -curl -X POST "https://api.cloudflare.com/client/v4/zones/ff904f7348b9513064b23e852e328abb/purge_cache" \ - -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ - -H "Content-Type: application/json" \ - --data '{"purge_everything":true}' - -sleep 30 - -# Take site back online -echo "Bringing site back online..." -rm $DOCUMENT_ROOT/maintenance.file diff --git a/receivers/electron/forge.config.js b/receivers/electron/forge.config.js new file mode 100644 index 0000000..72aef31 --- /dev/null +++ b/receivers/electron/forge.config.js @@ -0,0 +1,207 @@ +const fs = require('fs'); +const yargs = require('yargs/yargs'); +const { hideBin } = require('yargs/helpers'); +const { exec } = require('child_process'); +const path = require('path'); +// const extract = require('extract-zip') + +const { FusesPlugin } = require('@electron-forge/plugin-fuses'); +const { FuseV1Options, FuseVersion } = require('@electron/fuses'); + +const argv = yargs(hideBin(process.argv)).argv; +const APPLICATION_NAME = 'fcast-receiver'; +const APPLICATION_TITLE = 'FCast Receiver'; + +module.exports = { + packagerConfig: { + asar: true, + icon: './assets/icons/icon', + // TODO: Windows signing + osxSign: {}, + osxNotarize: { + appleApiKey: process.env.FCAST_APPLE_API_KEY, + appleApiKeyId: process.env.FCAST_APPLE_API_KEY_ID, + appleApiIssuer: process.env.FCAST_APPLE_API_ISSUER + } + }, + rebuildConfig: {}, + makers: [ + { + name: '@electron-forge/maker-deb', + config: { + options: { + categories: ['AudioVideo', 'Audio', 'Video', 'Network', 'Utility'], + homepage: 'https://fcast.org/', + icon: './assets/icons/icon.png', + } + }, + }, + { + name: '@electron-forge/maker-dmg', + config: { + additionalDMGOptions: { + window: { + position: { + x: 425, + y: 275 + }, + size: { + width: 640, + height: 480 + } + } + }, + background: './assets/images/background.png', + contents: [ + { 'x': 190, 'y': 350, 'type': 'file', 'path': `out/${APPLICATION_NAME}-darwin-${argv.arch}/${APPLICATION_TITLE}.app` }, + { 'x': 460, 'y': 350, 'type': 'link', 'path': '/Applications' }, + { 'x': 0, 'y': 540, 'type': 'position', 'path': '.background' }, + { 'x': 120, 'y': 540, 'type': 'position', 'path': '.VolumeIcon.icns' } + ], + format: 'ULFO', + icon: './assets/icons/icon.icns', + name: APPLICATION_TITLE + } + }, + { + name: '@electron-forge/maker-rpm', + config: { + options: { + categories: ['AudioVideo', 'Audio', 'Video', 'Network', 'Utility'], + homepage: 'https://fcast.org/', + icon: './assets/icons/icon.png', + license: 'MIT', + } + }, + }, + // Same as '@electron-forge/maker-wix', except linux compatible + { + name: '@futo/forge-maker-wix-linux', + config: { + arch: 'x64', + appUserModelId: `org.futo.${APPLICATION_NAME}`, + // TODO: Windows signing + icon: './assets/icons/icon.ico', + name: APPLICATION_TITLE, + programFilesFolderName: APPLICATION_TITLE, + shortcutName: APPLICATION_TITLE, + } + }, + { + name: '@electron-forge/maker-zip', + // Manually creating zip for mac targets due to .app renaming + platforms: ["win32", "linux"], + config: {} + }, + ], + hooks: { + postPackage: async (config, packageResults) => { + switch (packageResults.platform) { + case "darwin": { + let artifactName = `${APPLICATION_NAME}.app`; + if (fs.existsSync(`./out/${APPLICATION_NAME}-${packageResults.platform}-${packageResults.arch}/${artifactName}`)) { + fs.renameSync(`./out/${APPLICATION_NAME}-${packageResults.platform}-${packageResults.arch}/${artifactName}`, `./out/${APPLICATION_NAME}-${packageResults.platform}-${packageResults.arch}/${APPLICATION_TITLE}.app`); + } + break; + } + default: + break; + } + }, + postMake: async (forgeConfig, makeResults) => { + for (const e of makeResults) { + // Standardize artifact output naming + switch (e.platform) { + case "win32": { + let artifactName = `${APPLICATION_NAME}-win32-${e.arch}-${e.packageJSON.version}.zip`; + if (fs.existsSync(`./out/make/zip/win32/${e.arch}/${artifactName}`)) { + fs.renameSync(`./out/make/zip/win32/${e.arch}/${artifactName}`, `./out/make/zip/win32/${e.arch}/${APPLICATION_NAME}-${e.packageJSON.version}-windows-${e.arch}.zip`); + } + + artifactName = `${APPLICATION_NAME}.msi`; + if (fs.existsSync(`./out/make/wix/${e.arch}/${artifactName}`)) { + fs.renameSync(`./out/make/wix/${e.arch}/${artifactName}`, `./out/make/wix/${e.arch}/${APPLICATION_NAME}-${e.packageJSON.version}-windows-${e.arch}-setup.msi`); + } + + break; + } + case "darwin": { + let artifactName = `${APPLICATION_TITLE}.dmg`; + if (fs.existsSync(`./out/make/${artifactName}`)) { + fs.mkdirSync(`./out/make/dmg/${e.arch}`, { recursive: true }); + fs.renameSync(`./out/make/${artifactName}`, `./out/make/dmg/${e.arch}/${APPLICATION_NAME}-${e.packageJSON.version}-macOS-${e.arch}.dmg`); + } + + console.log(`Making a zip distributable for ${e.platform}/${e.arch}`); + const zipName = `${APPLICATION_NAME}-${e.packageJSON.version}-macOS-${e.arch}.zip`; + const zipPath = path.resolve(process.cwd(), 'out', 'make', 'zip', e.platform, e.arch, zipName); + + exec(`mkdir -p ${path.dirname(zipPath)}`, execOutput); + exec(`cd out/${APPLICATION_NAME}-${e.platform}-${e.arch}; zip -r -y "${zipPath}" "${APPLICATION_TITLE}.app"`, execOutput); + + break; + } + case "linux": { + let artifactName = `${APPLICATION_NAME}-linux-${e.arch}-${e.packageJSON.version}.zip`; + if (fs.existsSync(`./out/make/zip/linux/${e.arch}/${artifactName}`)) { + // TODO: Revisit Ubuntu 24.04 SUID sandbox issue + + // await extract(`./out/make/zip/linux/${e.arch}/${artifactName}`, { dir: `${process.cwd()}/out/make/zip/linux/${e.arch}/` }); + // fs.chownSync(`${process.cwd()}/out/make/zip/linux/${e.arch}/${APPLICATION_NAME}-linux-${e.arch}/chrome-sandbox`, 0, 0); + // fs.chmodSync(`${process.cwd()}/out/make/zip/linux/${e.arch}/${APPLICATION_NAME}-linux-${e.arch}/chrome-sandbox`, 4755); + fs.renameSync(`./out/make/zip/linux/${e.arch}/${artifactName}`, `./out/make/zip/linux/${e.arch}/${APPLICATION_NAME}-${e.packageJSON.version}-linux-${e.arch}.zip`); + } + + artifactName = `${APPLICATION_NAME}_${e.packageJSON.version}_amd64.deb` + if (fs.existsSync(`./out/make/deb/${e.arch}/${artifactName}`)) { + fs.renameSync(`./out/make/deb/${e.arch}/${artifactName}`, `./out/make/deb/${e.arch}/${APPLICATION_NAME}-${e.packageJSON.version}-linux-${e.arch}.deb`); + } + + artifactName = `${APPLICATION_NAME}_${e.packageJSON.version}_arm64.deb` + if (fs.existsSync(`./out/make/deb/${e.arch}/${artifactName}`)) { + fs.renameSync(`./out/make/deb/${e.arch}/${artifactName}`, `./out/make/deb/${e.arch}/${APPLICATION_NAME}-${e.packageJSON.version}-linux-${e.arch}.deb`); + } + + artifactName = `${APPLICATION_NAME}-${e.packageJSON.version}-1.x86_64.rpm` + if (fs.existsSync(`./out/make/rpm/${e.arch}/${artifactName}`)) { + fs.renameSync(`./out/make/rpm/${e.arch}/${artifactName}`, `./out/make/rpm/${e.arch}/${APPLICATION_NAME}-${e.packageJSON.version}-linux-${e.arch}.rpm`); + } + + artifactName = `${APPLICATION_NAME}-${e.packageJSON.version}-1.arm64.rpm` + if (fs.existsSync(`./out/make/rpm/${e.arch}/${artifactName}`)) { + fs.renameSync(`./out/make/rpm/${e.arch}/${artifactName}`, `./out/make/rpm/${e.arch}/${APPLICATION_NAME}-${e.packageJSON.version}-linux-${e.arch}.rpm`); + } + + break; + } + default: + break; + } + } + } + }, + plugins: [ + { + name: '@electron-forge/plugin-auto-unpack-natives', + config: {}, + }, + // Fuses are used to enable/disable various Electron functionality + // at package time, before code signing the application + new FusesPlugin({ + version: FuseVersion.V1, + [FuseV1Options.RunAsNode]: false, + [FuseV1Options.EnableCookieEncryption]: true, + [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false, + [FuseV1Options.EnableNodeCliInspectArguments]: false, + [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true, + [FuseV1Options.OnlyLoadAppFromAsar]: true, + }), + ], +}; + +function execOutput(err, stdout, stderr) { + if (err) { + console.log(stderr); + } + console.log(stdout); +} diff --git a/receivers/electron/package-lock.json b/receivers/electron/package-lock.json index 4bd0145..52b5a4d 100644 --- a/receivers/electron/package-lock.json +++ b/receivers/electron/package-lock.json @@ -1,166 +1,110 @@ { "name": "fcast-receiver", - "version": "1.0.14", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "fcast-receiver", - "version": "1.0.14", + "version": "2.0.0", "license": "MIT", "dependencies": { - "@types/yargs": "^17.0.33", "bufferutil": "^4.0.8", "http": "^0.0.1-security", "https": "^1.0.0", "qrcode": "^1.5.3", + "update-electron-app": "^3.0.0", "url": "^0.11.3", "uuid": "^9.0.1", "ws": "^8.14.2", "yargs": "^17.7.2" }, "devDependencies": { + "@electron-forge/cli": "^7.4.0", + "@electron-forge/maker-deb": "^7.5.0", + "@electron-forge/maker-dmg": "^7.5.0", + "@electron-forge/maker-rpm": "^7.5.0", + "@electron-forge/maker-wix": "^7.5.0", + "@electron-forge/maker-zip": "^7.4.0", + "@electron-forge/plugin-auto-unpack-natives": "^7.4.0", + "@electron-forge/plugin-fuses": "^7.4.0", + "@electron/fuses": "^1.8.0", "@eslint/js": "^9.10.0", + "@futo/forge-maker-wix-linux": "^7.5.0", "@types/jest": "^29.5.11", "@types/mdns": "^0.0.38", "@types/node-forge": "^1.3.10", "@types/workerpool": "^6.1.1", "@types/ws": "^8.5.10", - "electron": "^22.2.0", + "@types/yargs": "^17.0.33", + "electron": "^32.2.1", "eslint": "^9.10.0", "globals": "^15.9.0", "jest": "^29.7.0", "mdns-js": "github:mdns-js/node-mdns-js", "ts-jest": "^29.1.1", "ts-loader": "^9.4.2", - "typescript": "^4.9.5", + "typescript": "^5.5.4", "typescript-eslint": "^8.4.0", "webpack": "^5.75.0", "webpack-cli": "^5.0.1" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", + "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", - "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", + "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.6", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helpers": "^7.25.7", + "@babel/parser": "^7.25.8", + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.8", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -175,30 +119,42 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", + "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/types": "^7.25.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", + "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -206,78 +162,41 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", + "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", + "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -287,88 +206,84 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", + "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", + "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", + "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", + "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", - "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", + "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.6", - "@babel/types": "^7.23.6" + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.25.7", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -379,6 +294,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -391,6 +307,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -405,6 +322,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -413,13 +331,15 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -429,6 +349,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -438,6 +359,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -446,10 +368,14 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", + "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.8" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -462,6 +388,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -474,6 +401,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -486,6 +414,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -493,11 +422,44 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", + "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -510,6 +472,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -518,12 +481,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", + "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -537,6 +501,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -549,6 +514,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -561,6 +527,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -573,6 +540,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -585,6 +553,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -597,6 +566,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -604,11 +574,28 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -620,12 +607,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz", + "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -635,33 +623,32 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", + "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", - "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", + "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -674,18 +661,20 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", + "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -696,22 +685,474 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@bitdisaster/exe-icon-extractor": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@bitdisaster/exe-icon-extractor/-/exe-icon-extractor-1.0.10.tgz", + "integrity": "sha512-iTZ8cVGZ5dglNRyFdSj8U60mHIrC8XNIuOHN/NkM5/dQP4nsmpyqeQTAADLLQgoFCNJD+DiwQCv8dR2cCeWP4g==", + "dev": true, + "hasInstallScript": true, + "license": "ISC", + "optional": true }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" } }, - "node_modules/@electron/get": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", - "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", + "node_modules/@electron-forge/cli": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-7.5.0.tgz", + "integrity": "sha512-dlxr4ac5ONWs1Wmbgh18rclxcp9Fe5SzCF9ookp08Z1w4YP9FbQd1SHs0oLKWLF6qH9qdX8H2EWB9Nt6tOzC5g==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.electron-forge-cli?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "MIT", + "dependencies": { + "@electron-forge/core": "7.5.0", + "@electron-forge/shared-types": "7.5.0", + "@electron/get": "^3.0.0", + "chalk": "^4.0.0", + "commander": "^4.1.1", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "listr2": "^7.0.2", + "semver": "^7.2.1" + }, + "bin": { + "electron-forge": "dist/electron-forge.js", + "electron-forge-vscode-nix": "script/vscode.sh", + "electron-forge-vscode-win": "script/vscode.cmd" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/core": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-7.5.0.tgz", + "integrity": "sha512-Hg/fXabRZtMbyrtnpzpb3i49qNai+juCg+6bgyjYfWgJGr5VGH947lWd7skujH5qJ+Y7FgvANDGnenZuQwxZNw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.electron-forge-core?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "MIT", + "dependencies": { + "@electron-forge/core-utils": "7.5.0", + "@electron-forge/maker-base": "7.5.0", + "@electron-forge/plugin-base": "7.5.0", + "@electron-forge/publisher-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0", + "@electron-forge/template-base": "7.5.0", + "@electron-forge/template-vite": "7.5.0", + "@electron-forge/template-vite-typescript": "7.5.0", + "@electron-forge/template-webpack": "7.5.0", + "@electron-forge/template-webpack-typescript": "7.5.0", + "@electron-forge/tracer": "7.5.0", + "@electron/get": "^3.0.0", + "@electron/packager": "^18.3.5", + "@electron/rebuild": "^3.2.10", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "fast-glob": "^3.2.7", + "filenamify": "^4.1.0", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5", + "interpret": "^3.1.1", + "listr2": "^7.0.2", + "lodash": "^4.17.20", + "log-symbols": "^4.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "rechoir": "^0.8.0", + "resolve-package": "^1.0.1", + "semver": "^7.2.1", + "source-map-support": "^0.5.13", + "sudo-prompt": "^9.1.1", + "username": "^5.1.0", + "yarn-or-npm": "^3.0.1" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/core-utils": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-7.5.0.tgz", + "integrity": "sha512-PtyQT6qeOEJsi4ltoB7Jb6YUUCwK3gDt5gVyAF2aJ8eZi9rJ0hasHc5vjcmBaz9FwDMjYZrBD8oRBhNgbhEakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0", + "@electron/rebuild": "^3.2.10", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "log-symbols": "^4.0.0", + "semver": "^7.2.1", + "yarn-or-npm": "^3.0.1" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/maker-base": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.5.0.tgz", + "integrity": "sha512-+jluKW2UPxaI1+qQQ8fqaUVVbZohRjOSF0Iti7STRFbgJKJitzPB24Cjji9qJCKIx5klMeEiwp0YPAE/d9Xt8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0", + "fs-extra": "^10.0.0", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/maker-deb": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-7.5.0.tgz", + "integrity": "sha512-rMXYJzu2LuyDQ5TX4VzQ2OSWDFC7Y1nJpBoyJvXfkA5fF5NNScOFYPv1YzEYAXMcG5hCOVLorsG9HDTEC8uh9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/maker-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0" + }, + "engines": { + "node": ">= 16.4.0" + }, + "optionalDependencies": { + "electron-installer-debian": "^3.2.0" + } + }, + "node_modules/@electron-forge/maker-dmg": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-dmg/-/maker-dmg-7.5.0.tgz", + "integrity": "sha512-OcySukBT6FQJRbb0CKXnre4e0JinJfDGteCOLypB8UsN5Wg/4lIDB0hMhBmWGPJkZXKUDGkB1lhkdcLKbzT50Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/maker-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 16.4.0" + }, + "optionalDependencies": { + "electron-installer-dmg": "^5.0.1" + } + }, + "node_modules/@electron-forge/maker-rpm": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-7.5.0.tgz", + "integrity": "sha512-NzrtEqa61D++GoaURpicj9oxwOA/z0wcZaeipsrzUEBXE53UAo47tdIZjh396MhC0z9Mr6bxgDwpPUZF9QgfDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/maker-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0" + }, + "engines": { + "node": ">= 16.4.0" + }, + "optionalDependencies": { + "electron-installer-redhat": "^3.2.0" + } + }, + "node_modules/@electron-forge/maker-wix": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-wix/-/maker-wix-7.5.0.tgz", + "integrity": "sha512-6OmaviVRixGJ8EYvWik76zWJBvKW8XkQZ/mpwd4JjYcVKudA0zWbzEw2xBzf62TaRoXtSHTxbpfJRDiHyJK4dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/maker-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0", + "chalk": "^4.0.0", + "electron-wix-msi": "^5.1.3", + "log-symbols": "^4.0.0", + "parse-author": "^2.0.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/maker-zip": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-7.5.0.tgz", + "integrity": "sha512-gIO3bEbubOJqWV6kd0b9nBwTrFfFQv/K8PAqg6e0uSZiy7QuSCFZVAZse02gO3AzxVDSVjjTQ4nmXBXC4Glh1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/maker-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0", + "cross-zip": "^4.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/plugin-auto-unpack-natives": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.5.0.tgz", + "integrity": "sha512-cT/yTAr5Zd81HANi5bdyCoSG9nzIrB1WIEkFA7sWuyATiOjk9SGKn1aM543XWJ/TFkTg0800JpyocsSC9wOzEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/plugin-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/plugin-base": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.5.0.tgz", + "integrity": "sha512-44AbXSb5lDY8uHIo0mJ91atOSWgxv3iuECk07/gDBiuMPX62dwHnLteEjQF4GBXJZTpnV7SxhD+d2AUBQmoojw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/plugin-fuses": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-fuses/-/plugin-fuses-7.5.0.tgz", + "integrity": "sha512-nF5C4TN/rzN95F5HwAkyYTgy44Mu3EAys8O5zShzg7rye8d5BTnx2peAGtROZcChSaHRql09EeoOswNtuJNMcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/plugin-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0" + }, + "engines": { + "node": ">= 16.4.0" + }, + "peerDependencies": { + "@electron/fuses": ">=1.0.0" + } + }, + "node_modules/@electron-forge/publisher-base": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-7.5.0.tgz", + "integrity": "sha512-PcF3jWA+oXRwNVWjKW6GxHJywJ62QXpYF/8SMs7kgKzBDzLqrbUnWuaXoCP5kCP+AxM495ZU5L2dyJek1eM+VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/shared-types": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-7.5.0.tgz", + "integrity": "sha512-VXuLVGYa3ZulBlmjA40ZEpk+iPH5ebN0v7t27wDt3rm23bph2aQrL7uSTLXhobenXYBVKggXnQt6rJ9A7FCDNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/tracer": "7.5.0", + "@electron/packager": "^18.3.5", + "@electron/rebuild": "^3.2.10", + "listr2": "^7.0.2" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-base": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-7.5.0.tgz", + "integrity": "sha512-wEz4FI90jje4FdwJ4FzqUejodfioNcJjlgG2Ci1FiRn4Qv0jX4MP8SEgKmnD44181/44HgMa429zxRv/fDYzOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "username": "^5.1.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-vite": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-7.5.0.tgz", + "integrity": "sha512-AkMO5nW5jC8ijCYeoAK7hu+K5o7NMoHNsn71eepJ/kjOnSxXjJeBVGmP4DgzF2zc6AgeRz2TCKx6P8GUtFG5cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0", + "@electron-forge/template-base": "7.5.0", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-vite-typescript": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.5.0.tgz", + "integrity": "sha512-bD9QQ6uEsDHp6/V7odCkoK53egy0A4LEh++F1VYFt7SWJ5+InkcSLww7ELz2hrNmpmXb+euRrNagL1gorPToSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0", + "@electron-forge/template-base": "7.5.0", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-webpack": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-7.5.0.tgz", + "integrity": "sha512-Il9dO4VMhxibsYTsKRkccWUN3WFg55PEQFL93oarFcEtAT3sjMx/1bZDj/2AIHqbwIf7IrCylPKiPP2uUNOM9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0", + "@electron-forge/template-base": "7.5.0", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-webpack-typescript": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.5.0.tgz", + "integrity": "sha512-Q11xAzFxWtES0bwykMd8MAzrVRtmSruXQxQIvqM7Qf3VmU8joq8v5njmn13LeCDkcRGjALiJqO8EsgsW3bttNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-forge/shared-types": "7.5.0", + "@electron-forge/template-base": "7.5.0", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/tracer": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.5.0.tgz", + "integrity": "sha512-1dE0wKCmv/K3BXCH70o2jp/y2kXgZQm73gIvzyadySXYwu2L4BWxhAO+Q+JsnbUk+nclHEup5ph4D0JoPIWLcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chrome-trace-event": "^1.0.3" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron/asar": { + "version": "3.2.13", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.13.tgz", + "integrity": "sha512-pY5z2qQSwbFzJsBdgfJIzXf5ElHTVMutC2dxh0FD60njknMu3n1NnTABOcQwbb5/v5soqE79m9UjaJryBf3epg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/glob": "^7.1.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -722,17 +1163,361 @@ "sumchecker": "^3.0.1" }, "engines": { - "node": ">=12" + "node": ">=14" }, "optionalDependencies": { "global-agent": "^3.0.0" } }, + "node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@electron/get/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@electron/get/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@electron/node-gyp": { + "version": "10.2.0-electron.1", + "resolved": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "integrity": "sha512-7o2pP1DFdFgkNv5CxE4m3iLsf8Xa4pus2eD/yzjdHFzEuZMXOLv4nRpJEAvaLtbkRJHsuhRueIvVa4NFx78UgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^8.1.0", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.2.1", + "nopt": "^6.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/node-gyp/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/node-gyp/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/node-gyp/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.1.tgz", + "integrity": "sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/packager": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.3.5.tgz", + "integrity": "sha512-ClgTxXTt3MesWAcjIxIkgxELjTcllw1FRoVsihP7uT48kpDMqI71p4XvnMWbq8PvU57TcrKICAaLkxRhbc+/wQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@electron/asar": "^3.2.13", + "@electron/get": "^3.0.0", + "@electron/notarize": "^2.1.0", + "@electron/osx-sign": "^1.0.5", + "@electron/universal": "^2.0.1", + "@electron/windows-sign": "^1.0.0", + "debug": "^4.0.1", + "extract-zip": "^2.0.0", + "filenamify": "^4.1.0", + "fs-extra": "^11.1.0", + "galactus": "^1.0.0", + "get-package-info": "^1.0.0", + "junk": "^3.1.0", + "parse-author": "^2.0.0", + "plist": "^3.0.0", + "resedit": "^2.0.0", + "resolve": "^1.1.6", + "semver": "^7.1.3", + "yargs-parser": "^21.1.1" + }, + "bin": { + "electron-packager": "bin/electron-packager.js" + }, + "engines": { + "node": ">= 16.13.0" + }, + "funding": { + "url": "https://github.com/electron/packager?sponsor=1" + } + }, + "node_modules/@electron/packager/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/rebuild": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz", + "integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.2.0", + "ora": "^5.1.0", + "read-binary-file-arch": "^1.0.6", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/universal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.1.tgz", + "integrity": "sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.2.7", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "engines": { + "node": ">=16.4" + } + }, + "node_modules/@electron/universal/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/universal/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/windows-sign": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.1.3.tgz", + "integrity": "sha512-OqVSdAe+/88fIjvTDWiy+5Ho1nXsiBhE5RTsIQ6M/zcxcDAEP2TlQCkOyusItnmzXRN+XTFaK9gKhiZ6KGyXQw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "bin": { + "electron-windows-sign": "bin/electron-windows-sign.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -748,6 +1533,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -756,10 +1542,11 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -769,6 +1556,7 @@ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", @@ -778,11 +1566,22 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", + "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -801,17 +1600,12 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -819,23 +1613,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@eslint/js": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz", - "integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==", + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", + "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -845,15 +1628,17 @@ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz", - "integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.1.tgz", + "integrity": "sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "levn": "^0.4.1" }, @@ -861,11 +1646,80 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@futo/electron-wix-msi-linux": { + "version": "5.1.3", + "resolved": "https://gitlab.futo.org/api/v4/projects/305/packages/npm/@futo/electron-wix-msi-linux/-/@futo/electron-wix-msi-linux-5.1.3.tgz", + "integrity": "sha1-hp2fVWHfLwoZTf91QQ3JFyohSi8=", + "dev": true, + "dependencies": { + "@electron/windows-sign": "^1.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "klaw": "^4.1.0", + "lodash": "^4.17.21", + "rcedit": "^4.0.1", + "rcinfo": "^0.1.3", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@futo/forge-maker-wix-linux": { + "version": "7.5.0", + "resolved": "https://gitlab.futo.org/api/v4/projects/305/packages/npm/@futo/forge-maker-wix-linux/-/@futo/forge-maker-wix-linux-7.5.0.tgz", + "integrity": "sha1-Z6Q5d6AVQjTTU2jeoLi2xxP6FcU=", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0", + "@futo/electron-wix-msi-linux": "^5.1.3", + "chalk": "^4.0.0", + "log-symbols": "^4.0.0", + "parse-author": "^2.0.0", + "rxjs": "^7.8.1" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@humanfs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", + "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz", + "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.0", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -875,10 +1729,11 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", - "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -892,6 +1747,7 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -903,11 +1759,109 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -917,6 +1871,7 @@ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -934,6 +1889,7 @@ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -981,6 +1937,7 @@ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -996,6 +1953,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -1009,6 +1967,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1021,6 +1980,7 @@ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1038,6 +1998,7 @@ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -1053,6 +2014,7 @@ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -1091,41 +2053,12 @@ } } }, - "node_modules/@jest/reporters/node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1138,6 +2071,7 @@ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1152,6 +2086,7 @@ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -1167,6 +2102,7 @@ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -1182,6 +2118,7 @@ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1208,6 +2145,7 @@ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1225,6 +2163,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1235,10 +2174,11 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -1248,6 +2188,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -1257,32 +2198,59 @@ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1296,6 +2264,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -1305,6 +2274,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1313,17 +2283,48 @@ "node": ">= 8" } }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -1332,10 +2333,11 @@ } }, "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -1345,6 +2347,7 @@ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -1354,6 +2357,7 @@ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", "dev": true, + "license": "MIT", "dependencies": { "defer-to-connect": "^2.0.0" }, @@ -1361,11 +2365,33 @@ "node": ">=10" } }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/appdmg": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@types/appdmg/-/appdmg-0.5.5.tgz", + "integrity": "sha512-G+n6DgZTZFOteITE30LnWj+HRVIGr7wMlAiLWOO02uJFWVEitaPU9JVXm9wJokkgshBawb2O1OykdcsmkkZfgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -1379,6 +2405,7 @@ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } @@ -1388,16 +2415,18 @@ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", - "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } @@ -1407,6 +2436,7 @@ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", "dev": true, + "license": "MIT", "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", @@ -1415,37 +2445,64 @@ } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "dev": true + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } @@ -1455,15 +2512,17 @@ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { - "version": "29.5.11", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz", - "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==", + "version": "29.5.13", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", + "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -1473,13 +2532,15 @@ "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/keyv": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -1489,30 +2550,44 @@ "resolved": "https://registry.npmjs.org/@types/mdns/-/mdns-0.0.38.tgz", "integrity": "sha512-uiDl+FWeO2JYStfiPsyPpU7bHK3VYETquPo3A8bj6h2+iqDIEfXpaZaLvyGDGL9ilcrGc1vp+ek3Ab+QtDBXPA==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { - "version": "18.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", - "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==", - "dev": true + "version": "22.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.7.tgz", + "integrity": "sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } }, "node_modules/@types/node-forge": { - "version": "1.3.10", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.10.tgz", - "integrity": "sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==", + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -1521,22 +2596,25 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/workerpool": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@types/workerpool/-/workerpool-6.1.1.tgz", - "integrity": "sha512-o7oSOSEiu8u9pCRv5+1AA61HlL7ruX07NrAQS3bufWXqH0fJSwP7e/1W/PFVCOY634Xz/JLHqXJAHwpogdRvNg==", + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/@types/workerpool/-/workerpool-6.4.7.tgz", + "integrity": "sha512-DI2U4obcMzFViyNjLw0xXspim++qkAJ4BWRdYPVMMFtOpTvMr6PAk3UTZEoSqnZnvgUkJ3ck97Ybk+iIfuJHMg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -1545,6 +2623,8 @@ "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -1552,29 +2632,33 @@ "node_modules/@types/yargs-parser": { "version": "21.0.3", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" }, "node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "@types/node": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.4.0.tgz", - "integrity": "sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.10.0.tgz", + "integrity": "sha512-phuB3hoP7FFKbRXxjl+DRlQDuJqhpOnm5MmtROXyWi3uS/Xg2ZXqiQfcG2BJHiN4QKyzdOJi3NEn/qTnjUlkmQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.4.0", - "@typescript-eslint/type-utils": "8.4.0", - "@typescript-eslint/utils": "8.4.0", - "@typescript-eslint/visitor-keys": "8.4.0", + "@typescript-eslint/scope-manager": "8.10.0", + "@typescript-eslint/type-utils": "8.10.0", + "@typescript-eslint/utils": "8.10.0", + "@typescript-eslint/visitor-keys": "8.10.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1598,15 +2682,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.4.0.tgz", - "integrity": "sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.10.0.tgz", + "integrity": "sha512-E24l90SxuJhytWJ0pTQydFT46Nk0Z+bsLKo/L8rtQSL93rQ6byd1V/QbDpHUTdLPOMsBCcYXZweADNCfOCmOAg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.4.0", - "@typescript-eslint/types": "8.4.0", - "@typescript-eslint/typescript-estree": "8.4.0", - "@typescript-eslint/visitor-keys": "8.4.0", + "@typescript-eslint/scope-manager": "8.10.0", + "@typescript-eslint/types": "8.10.0", + "@typescript-eslint/typescript-estree": "8.10.0", + "@typescript-eslint/visitor-keys": "8.10.0", "debug": "^4.3.4" }, "engines": { @@ -1626,13 +2711,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.4.0.tgz", - "integrity": "sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.10.0.tgz", + "integrity": "sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.4.0", - "@typescript-eslint/visitor-keys": "8.4.0" + "@typescript-eslint/types": "8.10.0", + "@typescript-eslint/visitor-keys": "8.10.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1643,13 +2729,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.4.0.tgz", - "integrity": "sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.10.0.tgz", + "integrity": "sha512-PCpUOpyQSpxBn230yIcK+LeCQaXuxrgCm2Zk1S+PTIRJsEfU6nJ0TtwyH8pIwPK/vJoA+7TZtzyAJSGBz+s/dg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.4.0", - "@typescript-eslint/utils": "8.4.0", + "@typescript-eslint/typescript-estree": "8.10.0", + "@typescript-eslint/utils": "8.10.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1667,10 +2754,11 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.4.0.tgz", - "integrity": "sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.10.0.tgz", + "integrity": "sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -1680,13 +2768,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.4.0.tgz", - "integrity": "sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.10.0.tgz", + "integrity": "sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.4.0", - "@typescript-eslint/visitor-keys": "8.4.0", + "@typescript-eslint/types": "8.10.0", + "@typescript-eslint/visitor-keys": "8.10.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1712,6 +2801,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -1721,6 +2811,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1731,28 +2822,17 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/utils": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.4.0.tgz", - "integrity": "sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.10.0.tgz", + "integrity": "sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.4.0", - "@typescript-eslint/types": "8.4.0", - "@typescript-eslint/typescript-estree": "8.4.0" + "@typescript-eslint/scope-manager": "8.10.0", + "@typescript-eslint/types": "8.10.0", + "@typescript-eslint/typescript-estree": "8.10.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1766,12 +2846,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.4.0.tgz", - "integrity": "sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.10.0.tgz", + "integrity": "sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.4.0", + "@typescript-eslint/types": "8.10.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1787,6 +2868,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -1799,6 +2881,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -1808,25 +2891,29 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -1837,13 +2924,15 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -1856,6 +2945,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -1865,6 +2955,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } @@ -1873,13 +2964,15 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -1896,6 +2989,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -1909,6 +3003,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -1921,6 +3016,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -1935,16 +3031,18 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, "node_modules/@webpack-cli/configtest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", - "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -1954,10 +3052,11 @@ } }, "node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -1967,10 +3066,11 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", - "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -1984,23 +3084,43 @@ } } }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "license": "ISC" }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2013,6 +3133,7 @@ "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^8" } @@ -2022,15 +3143,57 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dev": true, + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2047,6 +3210,7 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -2056,6 +3220,7 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -2066,22 +3231,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2090,6 +3244,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2105,6 +3260,7 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2113,26 +3269,112 @@ "node": ">= 8" } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/appdmg": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.6.tgz", + "integrity": "sha512-GRmFKlCG+PWbcYF4LUNonTYmy0GjguDy6Jh9WP8mpd0T6j80XIJyXBiWlD0U+MLNhqV9Nhx49Gl9GpVToulpLg==", "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "dependencies": { - "sprintf-js": "~1.0.2" + "async": "^1.4.2", + "ds-store": "^0.1.5", + "execa": "^1.0.0", + "fs-temp": "^1.0.0", + "fs-xattr": "^0.3.0", + "image-size": "^0.7.4", + "is-my-json-valid": "^2.20.0", + "minimist": "^1.1.3", + "parse-color": "^1.0.0", + "path-exists": "^4.0.0", + "repeat-string": "^1.5.4" + }, + "bin": { + "appdmg": "bin/appdmg.js" + }, + "engines": { + "node": ">=8.5" } }, - "node_modules/argparse/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/asar": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", + "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==", + "deprecated": "Please use @electron/asar moving forward. There is no API change, just a package name change", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + }, + "optionalDependencies": { + "@types/glob": "^7.1.1" + } + }, + "node_modules/asar/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -2154,6 +3396,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -2170,6 +3413,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -2181,11 +3425,22 @@ "node": ">=8" } }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -2197,23 +3452,27 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -2224,6 +3483,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -2239,20 +3499,86 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/base32-encode": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.2.0.tgz", + "integrity": "sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "to-data-view": "^1.1.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" }, "node_modules/boolean": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true, + "license": "MIT", "optional": true }, + "node_modules/bplist-creator": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz", + "integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "stream-buffers": "~2.2.0" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2263,6 +3589,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -2271,9 +3598,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "dev": true, "funding": [ { @@ -2289,11 +3616,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -2307,6 +3635,7 @@ "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -2319,15 +3648,42 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } @@ -2336,13 +3692,15 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/bufferutil": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-gyp-build": "^4.3.0" }, @@ -2350,20 +3708,106 @@ "node": ">=6.14.2" } }, + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.6.0" } }, "node_modules/cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", "dev": true, + "license": "MIT", "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -2377,14 +3821,36 @@ "node": ">=8" } }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2395,6 +3861,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -2403,14 +3870,15 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001570", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", - "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==", + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", "dev": true, "funding": [ { @@ -2425,13 +3893,15 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2448,19 +3918,39 @@ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0" } }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", @@ -2472,20 +3962,79 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -2495,11 +4044,68 @@ "node": ">=12" } }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -2514,6 +4120,7 @@ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", "dev": true, + "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" }, @@ -2526,6 +4133,7 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -2535,12 +4143,14 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2551,37 +4161,56 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" }, "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -2598,11 +4227,19 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2612,13 +4249,86 @@ "node": ">= 8" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/cross-spawn-windows-exe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz", + "integrity": "sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-cross-spawn-windows-exe?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", "dependencies": { - "ms": "2.1.2" + "@malept/cross-spawn-promise": "^1.1.0", + "is-wsl": "^2.2.0", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cross-spawn-windows-exe/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cross-zip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-4.0.1.tgz", + "integrity": "sha512-n63i0lZ0rvQ6FXiGQ+/JFCKAUyPFhLQYJIqKaa+tSJtfKeULF/IDNDAbdnSIxgS4NTuw2b0+lj8LzfITuq+ZxQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.10" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2633,6 +4343,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2642,6 +4353,7 @@ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" }, @@ -2657,6 +4369,7 @@ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2665,10 +4378,11 @@ } }, "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "dev": true, + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -2682,46 +4396,68 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -2732,11 +4468,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -2746,6 +4493,7 @@ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/diff-sequences": { @@ -2753,6 +4501,7 @@ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -2760,13 +4509,26 @@ "node_modules/dijkstrajs": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, + "node_modules/dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } }, "node_modules/dns-js": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/dns-js/-/dns-js-0.2.1.tgz", "integrity": "sha512-D5ZrNcaDrDMmb6AKqnLUK+WyT4ST8lRNwfq0BpH26OAupFRtQxMNdSxq04HjXvYPQ6U7e2SPCVHWjM2vfOcRyA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^2.1.0", "qap": "^3.1.2" @@ -2780,6 +4542,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -2788,17 +4551,55 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/ds-store": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz", + "integrity": "sha512-kY21M6Lz+76OS3bnCzjdsJSF7LBpLYGCVfavW8TgQD2XkcqIZ86W0y9qUDZu6fp7SIZzqosMDW2zi7zVFfv4hw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "bplist-creator": "~0.0.3", + "macos-alias": "~0.2.5", + "tn1150": "^0.1.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/electron": { - "version": "22.3.27", - "resolved": "https://registry.npmjs.org/electron/-/electron-22.3.27.tgz", - "integrity": "sha512-7Rht21vHqj4ZFRnKuZdFqZFsvMBCmDqmjetiMqPtF+TmTBiGne1mnstVXOA/SRGhN2Qy5gY5bznJKpiqogjM8A==", + "version": "32.2.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.1.tgz", + "integrity": "sha512-GCPI/5hU34pPcNltNpz+uylhhuTm9BM0N8RmrbVgaWBodLSmmcCkvpgN0BseKhO6IwQOPzWaovrcZ/nPIpfGaQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "@electron/get": "^2.0.0", - "@types/node": "^16.11.26", + "@types/node": "^20.9.0", "extract-zip": "^2.0.1" }, "bin": { @@ -2808,23 +4609,543 @@ "node": ">= 12.20.55" } }, + "node_modules/electron-installer-common": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.10.3.tgz", + "integrity": "sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "asar": "^3.0.0", + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "glob": "^7.1.4", + "lodash": "^4.17.15", + "parse-author": "^2.0.0", + "semver": "^7.1.1", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "url": "https://github.com/electron-userland/electron-installer-common?sponsor=1" + }, + "optionalDependencies": { + "@types/fs-extra": "^9.0.1" + } + }, + "node_modules/electron-installer-common/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-common/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-debian": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/electron-installer-debian/-/electron-installer-debian-3.2.0.tgz", + "integrity": "sha512-58ZrlJ1HQY80VucsEIG9tQ//HrTlG6sfofA3nRGr6TmkX661uJyu4cMPPh6kXW+aHdq/7+q25KyQhDrXvRL7jw==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin", + "linux" + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "get-folder-size": "^2.0.1", + "lodash": "^4.17.4", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "bin": { + "electron-installer-debian": "src/cli.js" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-installer-debian/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-debian/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/electron-installer-debian/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/electron-installer-debian/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-debian/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/electron-installer-debian/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-debian/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "optional": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-dmg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-5.0.1.tgz", + "integrity": "sha512-qOa1aAQdX57C+vzhDk3549dd/PRlNL4F8y736MTD1a43qptD+PvHY97Bo9gSf+OZ8iUWE7BrYSpk/FgLUe40EA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@types/appdmg": "^0.5.5", + "debug": "^4.3.2", + "minimist": "^1.2.7" + }, + "bin": { + "electron-installer-dmg": "dist/electron-installer-dmg-bin.js" + }, + "engines": { + "node": ">= 16" + }, + "optionalDependencies": { + "appdmg": "^0.6.4" + } + }, + "node_modules/electron-installer-redhat": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz", + "integrity": "sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin", + "linux" + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "bin": { + "electron-installer-redhat": "src/cli.js" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-installer-redhat/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-redhat/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/electron-installer-redhat/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/electron-installer-redhat/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-redhat/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-redhat/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-redhat/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/electron-installer-redhat/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-redhat/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "optional": true, + "engines": { + "node": ">=10" + } + }, "node_modules/electron-to-chromium": { - "version": "1.4.614", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.614.tgz", - "integrity": "sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==", - "dev": true + "version": "1.5.41", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", + "integrity": "sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/electron-wix-msi": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/electron-wix-msi/-/electron-wix-msi-5.1.3.tgz", + "integrity": "sha512-EYj1cm1nZoVHmIIx3o0aKt784lxdEpJnXbEnyypklUCnglqSb7ni+1xi1Vp/gtrGS/mzIxnWBT+x5fIfuDjhvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/windows-sign": "^1.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "klaw": "^4.1.0", + "lodash": "^4.17.21", + "rcedit": "^4.0.1", + "rcinfo": "^0.1.3", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@bitdisaster/exe-icon-extractor": "^1.0.10" + } + }, + "node_modules/electron/node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } }, "node_modules/electron/node_modules/@types/node": { - "version": "16.18.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.12.tgz", - "integrity": "sha512-vzLe5NaNMjIE3mcddFVGlAXN1LEWueUsMsOJWaT6wWMJGyljHAWHznqfnKUQWGzu7TLPrGvWdNAsvQYW+C0xtw==", - "dev": true + "version": "20.16.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.13.tgz", + "integrity": "sha512-GjQ7im10B0labo8ZGXDGROUl9k0BNyDgzfGpb4g/cl+4yYDWVKcozANF4FGr4/p0O/rAkQClM6Wiwkije++1Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/electron/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/electron/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/electron/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } }, "node_modules/emittery": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -2833,20 +5154,37 @@ } }, "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" }, "node_modules/encode-utf8": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, + "license": "MIT", "dependencies": { "once": "^1.4.0" } @@ -2856,6 +5194,7 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -2869,15 +5208,17 @@ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", + "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", "dev": true, + "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -2885,32 +5226,64 @@ "node": ">=4" } }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -2920,6 +5293,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2928,28 +5302,32 @@ } }, "node_modules/eslint": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz", - "integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==", + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz", + "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.7.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.10.0", - "@eslint/plugin-kit": "^0.1.0", + "@eslint/js": "9.13.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.5", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.0", - "@nodelib/fs.walk": "^1.2.8", + "@humanwhocodes/retry": "^0.3.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.2", - "eslint-visitor-keys": "^4.0.0", - "espree": "^10.1.0", + "eslint-scope": "^8.1.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -2959,13 +5337,11 @@ "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "bin": { @@ -2987,35 +5363,11 @@ } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", - "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -3027,85 +5379,29 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/eslint-visitor-keys": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", - "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" + "eslint-visitor-keys": "^4.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3119,6 +5415,7 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -3132,6 +5429,7 @@ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -3139,20 +5437,12 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -3160,20 +5450,12 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -3183,52 +5465,118 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=6" } }, - "node_modules/execa/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, - "engines": { - "node": ">=10" + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, "node_modules/exit": { @@ -3240,11 +5588,25 @@ "node": ">= 0.8.0" } }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/expect": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -3256,11 +5618,19 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -3276,17 +5646,35 @@ "@types/yauzl": "^2.9.1" } }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -3303,6 +5691,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -3314,19 +5703,22 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.9.1" } @@ -3336,6 +5728,7 @@ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -3345,6 +5738,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } @@ -3354,6 +5748,7 @@ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, + "license": "MIT", "dependencies": { "pend": "~1.2.0" } @@ -3363,6 +5758,7 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" }, @@ -3370,11 +5766,73 @@ "node": ">=16.0.0" } }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3383,15 +5841,30 @@ } }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" } }, "node_modules/flat-cache": { @@ -3399,6 +5872,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" @@ -3411,27 +5885,94 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, + "license": "ISC" + }, + "node_modules/flora-colossus": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-2.0.0.tgz", + "integrity": "sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==", + "dev": true, + "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "debug": "^4.3.4", + "fs-extra": "^10.1.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">= 12" + } + }, + "node_modules/fmix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", + "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "imul": "^1.0.0" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-temp": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz", + "integrity": "sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "random-path": "^0.1.0" + } + }, + "node_modules/fs-xattr": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.1.tgz", + "integrity": "sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "!win32" + ], + "engines": { + "node": ">=8.6.0" } }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -3439,6 +5980,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3451,15 +5993,63 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/galactus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/galactus/-/galactus-1.0.0.tgz", + "integrity": "sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "flora-colossus": "^2.0.0", + "fs-extra": "^10.1.0" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/gar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz", + "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-property": "^1.0.2" + } + }, + "node_modules/generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-property": "^1.0.0" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -3468,53 +6058,127 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "node_modules/get-folder-size": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz", + "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==", + "dev": true, + "license": "MIT", + "optional": true, "dependencies": { + "gar": "^1.0.4", + "tiny-each-async": "2.0.3" + }, + "bin": { + "get-folder-size": "bin/get-folder-size" + } + }, + "node_modules/get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-modules": "1.0.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz", + "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/get-package-info/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/get-package-info/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" + } + }, + "node_modules/github-url-to-object": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/github-url-to-object/-/github-url-to-object-4.0.6.tgz", + "integrity": "sha512-NaqbYHMUAlPcmWFdrAB7bcxrNIiiJWJe8s/2+iOc9vlcHlwHqSGrPk+Yi3nu6ebTwgsZEa7igz+NH2vEq3gYwQ==", + "license": "MIT", + "dependencies": { + "is-url": "^1.1.0" } }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3535,6 +6199,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -3546,13 +6211,15 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/global-agent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", "dev": true, + "license": "BSD-3-Clause", "optional": true, "dependencies": { "boolean": "^3.0.1", @@ -3566,24 +6233,57 @@ "node": ">=10.0" } }, - "node_modules/global-agent/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, "node_modules/globals": { - "version": "15.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", - "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.11.0.tgz", + "integrity": "sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -3592,13 +6292,15 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -3611,6 +6313,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -3623,6 +6326,7 @@ "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", "dev": true, + "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -3647,50 +6351,43 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } + "license": "MIT" }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3702,6 +6399,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3710,9 +6408,10 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -3720,11 +6419,32 @@ "node": ">= 0.4" } }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/http": { "version": "0.0.1-security", @@ -3735,13 +6455,30 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", "dev": true, + "license": "MIT", "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" @@ -3753,31 +6490,108 @@ "node_modules/https": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz", - "integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==" + "integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==", + "license": "ISC" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, + "node_modules/image-size": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3789,20 +6603,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -3817,20 +6623,51 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/imul": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz", + "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true, + "license": "ISC" + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3840,50 +6677,100 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" }, "node_modules/interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-generator-fn": { @@ -3891,6 +6778,7 @@ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3900,6 +6788,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3907,29 +6796,62 @@ "node": ">=0.10.0" } }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-my-ip-valid": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", + "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/is-my-json-valid": { + "version": "2.20.6", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", + "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^5.0.0", + "xtend": "^4.0.0" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -3937,29 +6859,92 @@ "node": ">=0.10.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "license": "MIT" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3969,19 +6954,21 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", "semver": "^7.5.4" }, @@ -3989,26 +6976,12 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -4023,6 +6996,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -4033,10 +7007,11 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -4045,11 +7020,38 @@ "node": ">=8" } }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, "node_modules/jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -4076,6 +7078,7 @@ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -4085,26 +7088,75 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-changed-files/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-circus": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -4131,26 +7183,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-cli": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -4184,6 +7222,7 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -4229,6 +7268,7 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -4244,6 +7284,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -4256,6 +7297,7 @@ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -4272,6 +7314,7 @@ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -4289,6 +7332,7 @@ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -4298,6 +7342,7 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -4318,41 +7363,12 @@ "fsevents": "^2.3.2" } }, - "node_modules/jest-haste-map/node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/jest-leak-detector": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -4366,6 +7382,7 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -4381,6 +7398,7 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -4401,6 +7419,7 @@ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -4415,6 +7434,7 @@ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -4432,6 +7452,7 @@ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -4441,6 +7462,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -4461,6 +7483,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -4474,6 +7497,7 @@ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -4501,66 +7525,23 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runner/node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-runner/node_modules/source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/jest-runtime": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -4594,6 +7575,7 @@ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -4620,26 +7602,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -4657,6 +7625,7 @@ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -4674,6 +7643,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4686,6 +7656,7 @@ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -4701,17 +7672,19 @@ } }, "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker/node_modules/supports-color": { @@ -4719,6 +7692,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4733,62 +7707,76 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true, + "license": "ISC", "optional": true }, "node_modules/json5": { @@ -4796,6 +7784,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -4804,19 +7793,45 @@ } }, "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -4826,15 +7841,27 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/klaw": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.1.0.tgz", + "integrity": "sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14.0" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -4844,6 +7871,7 @@ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -4853,6 +7881,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -4865,59 +7894,248 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/listr2": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-7.0.2.tgz", + "integrity": "sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", + "rfdc": "^1.3.0", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^1.0.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "yallist": "^3.0.2" + } + }, + "node_modules/macos-alias": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/macos-alias/-/macos-alias-0.2.11.tgz", + "integrity": "sha512-zIUs3+qpml+w3wiRuADutd7XIO8UABqksot10Utl/tji4UxZzLG4fWDC+yJZoO8/Ehg5RqsvSRE/6TS5AEOeWw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "nan": "^2.4.0" } }, "node_modules/make-dir": { @@ -4925,6 +8143,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -4935,41 +8154,80 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "escape-string-regexp": "^4.0.0" @@ -4997,6 +8255,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5005,28 +8264,47 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mdns-js/node_modules/semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -5036,6 +8314,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -5049,6 +8328,7 @@ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5058,6 +8338,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -5070,6 +8351,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5079,6 +8361,7 @@ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -5088,6 +8371,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -5095,28 +8379,247 @@ "node": "*" } }, - "node_modules/ms": { + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/murmur-32": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz", + "integrity": "sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "encode-utf8": "^1.0.3", + "fmix": "^0.1.0", + "imul": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "dev": true, + "license": "MIT", + "optional": true }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-abi": { + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-api-version": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.0.tgz", + "integrity": "sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } }, "node_modules/node-gyp-build": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", - "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==", + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", + "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -5127,19 +8630,61 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5149,6 +8694,7 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5157,21 +8703,36 @@ } }, "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", "dev": true, + "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "path-key": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5181,6 +8742,7 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">= 0.4" @@ -5191,6 +8753,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -5200,6 +8763,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -5215,6 +8779,7 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -5227,44 +8792,150 @@ "node": ">= 0.8.0" } }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true, + "license": "MIT", "engines": { "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5274,6 +8945,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -5281,11 +8953,43 @@ "node": ">=6" } }, + "node_modules/parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "author-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", + "integrity": "sha512-fuDHYgFHJGbpGMgw9skY/bj3HL/Jrn4l/5rSspy00DoT4RyLnDcRvPxdZ+r6OFwIsgAuhDh4I09tAId4mI12bw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "~0.5.0" + } + }, + "node_modules/parse-color/node_modules/color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==", + "dev": true, + "optional": true + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -5299,10 +9003,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5312,6 +9027,7 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5321,6 +9037,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5329,25 +9046,57 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pe-library": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pe-library/-/pe-library-1.0.1.tgz", + "integrity": "sha512-nh39Mo1eGWmZS7y+mK/dQIqg7S1lp38DpRxkyoHf0ZcUs/HDc+yyTjuOtTvSMZHmfSLuSQaX945u05Y2Q6UWZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14", + "npm": ">=7" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -5355,11 +9104,22 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -5369,6 +9129,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -5376,19 +9137,118 @@ "node": ">=8" } }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", "engines": { "node": ">=10.13.0" } }, + "node_modules/postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^9.4.0" + }, + "bin": { + "postject": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/postject/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -5398,6 +9258,7 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -5412,6 +9273,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5419,20 +9281,53 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -5442,28 +9337,30 @@ } }, "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -5474,24 +9371,26 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, "node_modules/qap": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/qap/-/qap-3.3.1.tgz", "integrity": "sha512-U0MV9LRz4u19xaK4gssnwyc7XWTnFdmDGrgG9hvV6nchKeu3XeITTclugWKT9rLiLK2GvN3utSkKY90+1tEHkw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.x" } }, "node_modules/qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "license": "MIT", "dependencies": { "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", "pngjs": "^5.0.0", "yargs": "^15.3.1" }, @@ -5506,16 +9405,99 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, + "node_modules/qrcode/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/qrcode/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qrcode/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/qrcode/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5528,12 +9510,14 @@ "node_modules/qrcode/node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" }, "node_modules/qrcode/node_modules/yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -5555,6 +9539,7 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -5564,11 +9549,12 @@ } }, "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -5595,13 +9581,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5609,26 +9597,191 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/random-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz", + "integrity": "sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "base32-encode": "^0.1.0 || ^1.0.0", + "murmur-32": "^0.1.0 || ^0.2.0" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, + "node_modules/rcedit": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-4.0.1.tgz", + "integrity": "sha512-bZdaQi34krFWhrDn+O53ccBDw0MkAT2Vhu75SqhtvhQu4OPyFM4RoVheyYiVQYdjhUi6EJMVWQ0tR6bCIYVkUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn-windows-exe": "^1.1.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/rcinfo": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/rcinfo/-/rcinfo-0.1.3.tgz", + "integrity": "sha512-c2XV2aYgY7x3BscO+/B/nCTtMvnclZ8w5D7R6zgK4sGOQnE0MjlXhOPynno7yp6Iw1RPNSXBwXwB1svZVRfcSw==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/read-binary-file-arch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", + "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "bin": { + "read-binary-file-arch": "cli.js" + } + }, + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/rechoir": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.20.0" }, @@ -5636,10 +9789,22 @@ "node": ">= 10.13.0" } }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5647,15 +9812,35 @@ "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/resedit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resedit/-/resedit-2.0.3.tgz", + "integrity": "sha512-oTeemxwoMuxxTYxXUwjkrOPfngTQehlv0/HoYFNkB4uzsP1Un1A9nI8JQKGOFkxpqkC7qkMs0lUsGrvUlbLNUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pe-library": "^1.0.1" + }, + "engines": { + "node": ">=14", + "npm": ">=7" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -5670,13 +9855,15 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -5684,20 +9871,60 @@ "node": ">=8" } }, - "node_modules/resolve-from": { + "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-package/-/resolve-package-1.0.1.tgz", + "integrity": "sha512-rzB7NnQpOkPHBWFPP3prUMqOP6yg3HkRGgcvR+lDyvyHoY3fZLFLYDkPXh78SPVBAE6VTCk/V+j8we4djg6o4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-installed-path": "^2.0.3" + }, + "engines": { + "node": ">=4", + "npm": ">=2" + } + }, "node_modules/resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -5707,6 +9934,7 @@ "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", "dev": true, + "license": "MIT", "dependencies": { "lowercase-keys": "^2.0.0" }, @@ -5714,21 +9942,74 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/roarr": { "version": "2.15.4", "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", "dev": true, + "license": "BSD-3-Clause", "optional": true, "dependencies": { "boolean": "^3.0.1", @@ -5761,10 +10042,21 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5783,13 +10075,23 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT", + "optional": true }, "node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -5804,12 +10106,16 @@ } }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver-compare": { @@ -5817,6 +10123,7 @@ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/serialize-error": { @@ -5824,6 +10131,7 @@ "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "type-fest": "^0.13.1" @@ -5835,11 +10143,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -5847,17 +10170,21 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5868,6 +10195,7 @@ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -5880,6 +10208,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -5892,18 +10221,24 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5913,28 +10248,103 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -5944,23 +10354,74 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "node_modules/sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "optional": true + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -5973,15 +10434,38 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", + "dev": true, + "license": "Unlicense", + "optional": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -5991,22 +10475,57 @@ } }, "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -6019,15 +10538,27 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6037,6 +10568,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -6044,11 +10576,42 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "debug": "^4.1.0" }, @@ -6061,6 +10624,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -6073,6 +10637,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6085,15 +10650,52 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/terser": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -6112,6 +10714,7 @@ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -6141,11 +10744,50 @@ } } }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -6159,19 +10801,74 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-each-async": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tiny-each-async/-/tiny-each-async-2.0.3.tgz", + "integrity": "sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tmp": "^0.2.0" + } }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/tn1150": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tn1150/-/tn1150-0.1.0.tgz", + "integrity": "sha512-DbplOfQFkqG5IHcDyyrs/lkvSr3mPUVsFf/RbDppOshs22yTPnSJWEe6FkYd1txAwU/zcnR905ar2fi4kwF29w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "unorm": "^1.4.1" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/to-data-view": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/to-data-view/-/to-data-view-1.1.0.tgz", + "integrity": "sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==", + "dev": true, + "license": "MIT", + "optional": true }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -6181,6 +10878,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -6188,11 +10886,42 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -6201,28 +10930,31 @@ } }, "node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "version": "29.2.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz", + "integrity": "sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==", "dev": true, + "license": "MIT", "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", + "bs-logger": "^0.2.6", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "^2.1.0", "jest-util": "^29.0.0", "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.6.3", + "yargs-parser": "^21.1.1" }, "bin": { "ts-jest": "cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" }, "peerDependencies": { "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", "@jest/types": "^29.0.0", "babel-jest": "^29.0.0", "jest": "^29.0.0", @@ -6232,6 +10964,9 @@ "@babel/core": { "optional": true }, + "@jest/transform": { + "optional": true + }, "@jest/types": { "optional": true }, @@ -6243,31 +10978,18 @@ } } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/ts-loader": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", - "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", "micromatch": "^4.0.0", - "semver": "^7.3.4" + "semver": "^7.3.4", + "source-map": "^0.7.4" }, "engines": { "node": ">=12.0.0" @@ -6277,23 +10999,29 @@ "webpack": "^5.0.0" } }, - "node_modules/ts-loader/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, - "bin": { - "semver": "bin/semver.js" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">=10" + "node": ">= 8" } }, + "node_modules/tslib": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", + "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "dev": true, + "license": "0BSD" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -6306,16 +11034,17 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "optional": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -6324,27 +11053,29 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/typescript-eslint": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.4.0.tgz", - "integrity": "sha512-67qoc3zQZe3CAkO0ua17+7aCLI0dU+sSQd1eKPGq06QE4rfQjstVXR6woHO5qQvGUa550NfGckT4tzh3b3c8Pw==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.10.0.tgz", + "integrity": "sha512-YIu230PeN7z9zpu/EtqCIuRVHPs4iSlqW6TEvjbyDAE3MZsSl2RXBo+5ag+lbABCG8sFM1WVKEXhlQ8Ml8A3Fw==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.4.0", - "@typescript-eslint/parser": "8.4.0", - "@typescript-eslint/utils": "8.4.0" + "@typescript-eslint/eslint-plugin": "8.10.0", + "@typescript-eslint/parser": "8.10.0", + "@typescript-eslint/utils": "8.10.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6359,19 +11090,64 @@ } } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^3.0.0" + }, "engines": { - "node": ">= 4.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unorm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", + "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", + "dev": true, + "license": "MIT or GPL-2.0", + "optional": true, + "engines": { + "node": ">= 0.4.0" } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "dev": true, "funding": [ { @@ -6387,9 +11163,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -6398,43 +11175,67 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/update-electron-app": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/update-electron-app/-/update-electron-app-3.0.0.tgz", + "integrity": "sha512-Ccs46fgUEcMpSRPMNw82DFMux2MGi5tkKkEpV723JmtPNI3qAtxvTeiYkKczN2/LehA3U7JGrGr4MhraxGdRTw==", + "license": "MIT", + "dependencies": { + "github-url-to-object": "^4.0.4", + "is-url": "^1.2.4", + "ms": "^2.1.1" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "license": "MIT", "dependencies": { "punycode": "^1.4.1", - "qs": "^6.11.2" + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/url/node_modules/punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" }, - "node_modules/utf-8-validate": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.3.tgz", - "integrity": "sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==", - "hasInstallScript": true, - "optional": true, - "peer": true, + "node_modules/username": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/username/-/username-5.1.0.tgz", + "integrity": "sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==", + "dev": true, + "license": "MIT", "dependencies": { - "node-gyp-build": "^4.3.0" + "execa": "^1.0.0", + "mem": "^4.3.0" }, "engines": { - "node": ">=6.14.2" + "node": ">=8" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, "node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -6443,15 +11244,17 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -6461,11 +11264,23 @@ "node": ">=10.12.0" } }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } @@ -6475,6 +11290,7 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -6483,11 +11299,29 @@ "node": ">=10.13.0" } }, - "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/webpack": { + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", @@ -6530,17 +11364,18 @@ } }, "node_modules/webpack-cli": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz", - "integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.0.1", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.1", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", "colorette": "^2.0.14", - "commander": "^9.4.1", + "commander": "^10.0.1", "cross-spawn": "^7.0.3", "envinfo": "^7.7.3", "fastest-levenshtein": "^1.0.12", @@ -6575,21 +11410,24 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.20.0 || >=14" + "node": ">=14" } }, "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" }, "engines": { @@ -6601,15 +11439,52 @@ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -6623,50 +11498,99 @@ "node_modules/which-module": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" }, "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -6679,6 +11603,7 @@ "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -6695,24 +11620,48 @@ } } }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -6730,15 +11679,137 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", "engines": { "node": ">=12" } }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yarn-or-npm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yarn-or-npm/-/yarn-or-npm-3.0.1.tgz", + "integrity": "sha512-fTiQP6WbDAh5QZAVdbMQkecZoahnbOjClTQhzv74WX5h2Uaidj1isf9FDes11TKtsZ0/ZVfZsqZ+O3x6aLERHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.5", + "pkg-dir": "^4.2.0" + }, + "bin": { + "yarn-or-npm": "bin/index.js", + "yon": "bin/index.js" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/yarn-or-npm/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/yarn-or-npm/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/yarn-or-npm/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/yarn-or-npm/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yarn-or-npm/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yarn-or-npm/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -6749,6 +11820,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/receivers/electron/package.json b/receivers/electron/package.json index d5f8445..24ee625 100644 --- a/receivers/electron/package.json +++ b/receivers/electron/package.json @@ -1,40 +1,53 @@ { "name": "fcast-receiver", - "version": "1.0.14", + "version": "2.0.0", "description": "An application implementing a FCast receiver.", "main": "dist/bundle.js", - "author": "Koen Jeukendrup", + "author": "FUTO", "license": "MIT", "scripts": { - "build": "rm -rf dist/ && webpack --config ./webpack.config.js && cp -r src/player dist/player && cp -r src/main dist/main && cp app.ico dist/ && cp app.png dist/", - "start": "npm run build && electron .", - "test": "jest" + "build": "rm -rf dist/ && webpack --config ./webpack.config.js && cp -r src/player dist/player && cp -r src/main dist/main && cp assets/icons/icon.ico dist/ && cp assets/icons/icon.png dist/ && cp assets/icons/icon512.png dist/", + "start": "electron-forge start", + "test": "jest", + "package": "electron-forge package", + "make": "electron-forge make" }, "devDependencies": { + "@electron-forge/cli": "^7.4.0", + "@electron-forge/maker-deb": "^7.5.0", + "@electron-forge/maker-dmg": "^7.5.0", + "@electron-forge/maker-rpm": "^7.5.0", + "@electron-forge/maker-wix": "^7.5.0", + "@electron-forge/maker-zip": "^7.4.0", + "@electron-forge/plugin-auto-unpack-natives": "^7.4.0", + "@electron-forge/plugin-fuses": "^7.4.0", + "@electron/fuses": "^1.8.0", "@eslint/js": "^9.10.0", + "@futo/forge-maker-wix-linux": "^7.5.0", "@types/jest": "^29.5.11", "@types/mdns": "^0.0.38", "@types/node-forge": "^1.3.10", "@types/workerpool": "^6.1.1", "@types/ws": "^8.5.10", - "electron": "^22.2.0", + "@types/yargs": "^17.0.33", + "electron": "^32.2.1", "eslint": "^9.10.0", "globals": "^15.9.0", "jest": "^29.7.0", "mdns-js": "github:mdns-js/node-mdns-js", "ts-jest": "^29.1.1", "ts-loader": "^9.4.2", - "typescript": "^4.9.5", + "typescript": "^5.5.4", "typescript-eslint": "^8.4.0", "webpack": "^5.75.0", "webpack-cli": "^5.0.1" }, "dependencies": { - "@types/yargs": "^17.0.33", "bufferutil": "^4.0.8", "http": "^0.0.1-security", "https": "^1.0.0", "qrcode": "^1.5.3", + "update-electron-app": "^3.0.0", "url": "^0.11.3", "uuid": "^9.0.1", "ws": "^8.14.2", diff --git a/receivers/electron/packaging/package-all.sh b/receivers/electron/packaging/package-all.sh deleted file mode 100644 index b8f87e7..0000000 --- a/receivers/electron/packaging/package-all.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -npm run build -sh package.sh linux-x64 -sh package.sh linux-arm64 -sh package.sh win32-x64 -sh package-macos.sh darwin-x64 -sh package-macos.sh darwin-arm64 \ No newline at end of file diff --git a/receivers/electron/packaging/package-macos.sh b/receivers/electron/packaging/package-macos.sh deleted file mode 100644 index 216abde..0000000 --- a/receivers/electron/packaging/package-macos.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -filename="electron-v23.0.0-$1.zip" -url="https://github.com/electron/electron/releases/download/v23.0.0/electron-v23.0.0-$1.zip" -if [ ! -f $filename ]; then - wget $url -fi - -rm fcast-receiver-$1.zip -rm -rf $1 -unzip electron-v23.0.0-$1.zip -d $1 -mkdir -p $1/Electron.app/Contents/Resources/app -mkdir -p $1/Electron.app/Contents/Resources/app -cp -r ../dist $1/Electron.app/Contents/Resources/app/ -cp ../package.json $1/Electron.app/Contents/Resources/app -mv $1/Electron.app $1/FCastReceiver.app -cd $1 -zip -r ../fcast-receiver-$1.zip FCastReceiver.app -cd .. -rm -rf $1 \ No newline at end of file diff --git a/receivers/electron/packaging/package.sh b/receivers/electron/packaging/package.sh deleted file mode 100644 index be01952..0000000 --- a/receivers/electron/packaging/package.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -filename="electron-v23.0.0-$1.zip" -url="https://github.com/electron/electron/releases/download/v23.0.0/electron-v23.0.0-$1.zip" -if [ ! -f $filename ]; then - wget $url -fi - -rm fcast-receiver-$1.zip -rm -rf $1 -unzip electron-v23.0.0-$1.zip -d $1 -mkdir -p $1/resources -mkdir -p $1/resources/app -cp -r ../dist $1/resources/app/ -cp ../package.json $1/resources/app - -if [ -f "$1/electron" ]; then - mv $1/electron $1/fcast-receiver -fi - -if [ -f "$1/electron.exe" ]; then - mv $1/electron.exe $1/fcast-receiver.exe -fi - -cd $1 -zip -r ../fcast-receiver-$1.zip . -cd .. -rm -rf $1 \ No newline at end of file diff --git a/receivers/electron/scripts/create-iconset.sh b/receivers/electron/scripts/create-iconset.sh new file mode 100755 index 0000000..fbafbc4 --- /dev/null +++ b/receivers/electron/scripts/create-iconset.sh @@ -0,0 +1,15 @@ +#!/bin/zsh +mkdir icon.iconset +sips -z 16 16 ./assets/icons/icon1024.png --out icon.iconset/icon_16x16.png +sips -z 32 32 ./assets/icons/icon1024.png --out icon.iconset/icon_16x16@2x.png +sips -z 32 32 ./assets/icons/icon1024.png --out icon.iconset/icon_32x32.png +sips -z 64 64 ./assets/icons/icon1024.png --out icon.iconset/icon_32x32@2x.png +sips -z 128 128 ./assets/icons/icon1024.png --out icon.iconset/icon_128x128.png +sips -z 256 256 ./assets/icons/icon1024.png --out icon.iconset/icon_128x128@2x.png +sips -z 256 256 ./assets/icons/icon1024.png --out icon.iconset/icon_256x256.png +sips -z 512 512 ./assets/icons/icon1024.png --out icon.iconset/icon_256x256@2x.png +sips -z 512 512 ./assets/icons/icon1024.png --out icon.iconset/icon_512x512.png +cp ./assets/icons/icon1024.png icon.iconset/icon_512x512@2x.png +iconutil -c icns icon.iconset +rm -R icon.iconset +mv icon.icns ./assets/icons/icon.icns diff --git a/receivers/electron/scripts/deploy.py b/receivers/electron/scripts/deploy.py new file mode 100644 index 0000000..d8c8d08 --- /dev/null +++ b/receivers/electron/scripts/deploy.py @@ -0,0 +1,150 @@ +import os +import hashlib +import boto3 +from botocore.client import Config +import shutil +from functools import cmp_to_key + +ACCOUNT_ID = os.environ.get('R2_ACCOUNT_ID') +ACCESS_KEY_ID = os.environ.get('R2_ACCESS_KEY_ID') +SECRET_ACCESS_KEY = os.environ.get('R2_SECRET_ACCESS_KEY') +BUCKET_NAME = os.environ.get('R2_BUCKET_NAME') + +DEPLOY_DIR = os.environ.get('FCAST_DO_RUNNER_DEPLOY_DIR') +TEMP_DIR = os.path.join(DEPLOY_DIR, 'temp') +LOCAL_CACHE_DIR = os.path.join(DEPLOY_DIR, 'cache') + +# Customizable CI parameters +CACHE_VERSION_AMOUNT = int(os.environ.get('CACHE_VERSION_AMOUNT', default="-1")) +RELEASE_CANDIDATE = bool(os.environ.get('RELEASE_CANDIDATE', default=False)) +RELEASE_CANDIDATE_VERSION = int(os.environ.get('RELEASE_CANDIDATE_VERSION', default="1")) + +# Utility functions +def compare_versions(x, y): + x_parts = x.split('.') + y_parts = y.split('.') + + for i in range(len(x_parts)): + if x_parts[i] < y_parts[i]: + return -1 + elif x_parts[i] > y_parts[i]: + return 1 + + return 0 + +# Initial setup + +# Note: Cloudflare R2 docs outdated, secret is not supposed to be hashed... + +# Hash the secret access key using SHA-256 +#hashed_secret_key = hashlib.sha256(SECRET_ACCESS_KEY.encode()).hexdigest() + +# Configure the S3 client for Cloudflare R2 +s3 = boto3.client('s3', + endpoint_url=f'https://{ACCOUNT_ID}.r2.cloudflarestorage.com', + aws_access_key_id=ACCESS_KEY_ID, + # aws_secret_access_key=hashed_secret_key, + aws_secret_access_key=SECRET_ACCESS_KEY, + config=Config( + signature_version='s3v4' + ) +) +list_response = s3.list_objects_v2(Bucket=BUCKET_NAME, Prefix='electron/') +bucket_files = list_response.get('Contents', []) +bucket_versions_full = sorted(set(map(lambda x: x['Key'].split('/')[1], bucket_files)), key=cmp_to_key(compare_versions), reverse=True) +bucket_versions = bucket_versions_full if CACHE_VERSION_AMOUNT < 0 else bucket_versions_full[:CACHE_VERSION_AMOUNT] +os.makedirs(TEMP_DIR, exist_ok=True) + +# CI functions + +def copy_artifacts_to_local_cache(): + if len(os.listdir('/artifacts')) == 0: + print('No artifacts were built...') + return None + + print('Copying artifacts to cache...') + # All artifact should have same version in format: /artifacts/PKG/OS/ARCH/fcast-receiver-VERSION-OS-ARCH.PKG + version = os.listdir('/artifacts/zip/linux/x64')[0].split('-')[2] + dst = os.path.join(TEMP_DIR, version) + print(f'Current app version: {version}') + + shutil.copytree('/artifacts', dst, dirs_exist_ok=True, ignore=shutil.ignore_patterns('*.w*')) + for dir in os.listdir('/artifacts'): + shutil.rmtree(os.path.join('/artifacts', dir)) + + return version + +def sync_local_cache(): + print('Syncing local cache with s3...') + local_files = [] + for root, _, files in os.walk(LOCAL_CACHE_DIR): + for filename in files: + rel_path = os.path.relpath(os.path.join(root, filename), LOCAL_CACHE_DIR) + version = os.path.relpath(rel_path, 'electron/').split('/')[0] + + if version in bucket_versions: + local_files.append(rel_path) + else: + print(f'Purging file from local cache: {rel_path}') + os.remove(os.path.join(root, filename)) + + for obj in bucket_files: + filename = obj['Key'] + save_path = os.path.join(LOCAL_CACHE_DIR, filename) + + if filename not in local_files: + print(f'Downloading file: {filename}') + get_response = s3.get_object(Bucket=BUCKET_NAME, Key=filename) + + os.makedirs(os.path.dirname(save_path), exist_ok=True) + with open(save_path, 'wb') as file: + file.write(get_response['Body'].read()) + +def upload_local_cache(current_version): + print('Uploading local cache to s3...') + shutil.copytree(TEMP_DIR, os.path.join(LOCAL_CACHE_DIR, 'electron'), dirs_exist_ok=True) + + local_files = [] + for root, _, files in os.walk(LOCAL_CACHE_DIR): + for filename in files: + full_path = os.path.join(root, filename) + rel_path = os.path.relpath(full_path, LOCAL_CACHE_DIR) + version = rel_path.split('/')[1] + + if RELEASE_CANDIDATE and version == current_version: + rc_path = full_path[:full_path.rfind('.')] + f'-rc{RELEASE_CANDIDATE_VERSION}' + full_path[full_path.rfind('.'):] + os.rename(full_path, rc_path) + rel_path = os.path.relpath(rc_path, LOCAL_CACHE_DIR) + + local_files.append(rel_path) + + for file_path in local_files: + if file_path not in map(lambda x: x['Key'], bucket_files): + print(f'Uploading file: {file_path}') + + with open(os.path.join(LOCAL_CACHE_DIR, file_path), 'rb') as file: + put_response = s3.put_object( + Body=file, + Bucket=BUCKET_NAME, + Key=file_path, + ) + +def generate_delta_updates(current_version): + pass + +# generate html previous version browsing (based off of bucket + and local if does not have all files) +def generate_previous_releases_page(): + pass + +def update_website(): + pass + +# CI Operations +current_version = copy_artifacts_to_local_cache() +sync_local_cache() +# generate_delta_updates(current_version) +upload_local_cache(current_version) +# generate_previous_releases_page() +# update_website() + +shutil.rmtree(TEMP_DIR) diff --git a/receivers/electron/src/DiscoveryService.ts b/receivers/electron/src/DiscoveryService.ts index cec9906..4160543 100644 --- a/receivers/electron/src/DiscoveryService.ts +++ b/receivers/electron/src/DiscoveryService.ts @@ -1,6 +1,6 @@ -import mdns = require('mdns-js'); -const cp = require('child_process'); -const os = require('os'); +import * as mdns from 'mdns-js'; +import * as cp from 'child_process'; +import * as os from 'os'; export class DiscoveryService { private serviceTcp: any; diff --git a/receivers/electron/src/FCastSession.ts b/receivers/electron/src/FCastSession.ts index cbd8a82..cdb9220 100644 --- a/receivers/electron/src/FCastSession.ts +++ b/receivers/electron/src/FCastSession.ts @@ -1,4 +1,4 @@ -import net = require('net'); +import * as net from 'net'; import { EventEmitter } from 'node:events'; import { PlaybackErrorMessage, PlaybackUpdateMessage, PlayMessage, SeekMessage, SetSpeedMessage, SetVolumeMessage, VersionMessage, VolumeUpdateMessage } from './Packets'; import { WebSocket } from 'ws'; @@ -56,7 +56,7 @@ export class FCastSession { } else { data = new Uint8Array(0); } - + const size = 1 + data.length; const header = Buffer.alloc(4 + 1); header.writeUint32LE(size, 0); diff --git a/receivers/electron/src/Main.ts b/receivers/electron/src/Main.ts index 520b822..6fcab3b 100644 --- a/receivers/electron/src/Main.ts +++ b/receivers/electron/src/Main.ts @@ -30,7 +30,7 @@ export default class Main { static proxiedFiles: Map = new Map(); private static createTray() { - const icon = (process.platform === 'win32') ? path.join(__dirname, 'app.ico') : path.join(__dirname, 'app.png'); + const icon = (process.platform === 'win32') ? path.join(__dirname, 'icon.ico') : path.join(__dirname, 'icon.png'); const trayicon = nativeImage.createFromPath(icon) const tray = new Tray(trayicon.resize({ width: 16 })); const contextMenu = Menu.buildFromTemplate([ @@ -119,6 +119,7 @@ export default class Main { Main.playerWindow = new BrowserWindow({ fullscreen: true, autoHideMenuBar: true, + icon: path.join(__dirname, 'icon512.png'), webPreferences: { preload: path.join(__dirname, 'player/preload.js') } @@ -134,8 +135,6 @@ export default class Main { Main.playerWindow.on('closed', () => { Main.playerWindow = null; }); - - // Main.playerWindow?.webContents?.openDevTools(); } else { Main.playerWindow?.webContents?.send("play", await Main.proxyPlayIfRequired(message)); } @@ -309,6 +308,7 @@ export default class Main { Main.mainWindow = new BrowserWindow({ fullscreen: true, autoHideMenuBar: true, + icon: path.join(__dirname, 'icon512.png'), minWidth: 500, minHeight: 920, webPreferences: { @@ -326,8 +326,6 @@ export default class Main { Main.mainWindow.on('ready-to-show', () => { Main.mainWindow.webContents.send("device-info", {name: os.hostname(), addresses: Main.getAllIPv4Addresses()}); }); - - // Main.mainWindow.webContents.openDevTools(); } static main(app: Electron.App) { diff --git a/receivers/electron/src/TcpListenerService.ts b/receivers/electron/src/TcpListenerService.ts index 213271c..437d268 100644 --- a/receivers/electron/src/TcpListenerService.ts +++ b/receivers/electron/src/TcpListenerService.ts @@ -1,4 +1,4 @@ -import net = require('net'); +import * as net from 'net'; import { FCastSession, Opcode } from './FCastSession'; import { EventEmitter } from 'node:events'; import { dialog } from 'electron'; @@ -8,7 +8,7 @@ export class TcpListenerService { public static PORT = 46899; emitter = new EventEmitter(); - + private server: net.Server; private sessions: FCastSession[] = []; @@ -56,7 +56,7 @@ export class TcpListenerService { defaultId: 0, cancelId: 1 }); - + if (restartPrompt.response === 0) { Main.application.relaunch(); Main.application.exit(0); @@ -89,7 +89,7 @@ export class TcpListenerService { socket.on("close", () => { const index = this.sessions.indexOf(session); if (index != -1) { - this.sessions.splice(index, 1); + this.sessions.splice(index, 1); } }); diff --git a/receivers/electron/tsconfig.json b/receivers/electron/tsconfig.json index 8209a65..810b553 100644 --- a/receivers/electron/tsconfig.json +++ b/receivers/electron/tsconfig.json @@ -1,4 +1,4 @@ -{ +{ "compilerOptions": { "target": "es5", "module": "commonjs", @@ -8,8 +8,7 @@ "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false, - "suppressImplicitAnyIndexErrors": true , "outDir": "dist" }, - "exclude": [ "node_modules", "test" ] + "exclude": [ "node_modules", "test" ] } \ No newline at end of file