commit f2739423b0d5f70dff7c3368000a01a403e935a6 Author: DeBros Date: Sun Apr 6 20:20:28 2025 +0300 Add files via upload diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..d7c1266 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +node_modules +npm-debug.log +dist +.git +.github +.vscode +coverage +.env +*.md \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..c813705 --- /dev/null +++ b/.env.example @@ -0,0 +1,22 @@ +NICKNAME=example +FINGERPRINT=A8989865AHI456JNGER897RGEGR +NODE_ENV=development +PORT=7777 +ENABLE_ANYONE=false +HOSTNAME=127.0.0.1 +ADMIN_WALLET=0954689080954860945 +ENABLE_LOAD_BALANCING=true +SERVICE_DISCOVERY_TOPIC=debros-service-discovery +HEARTBEAT_INTERVAL=5000 +STALE_PEER_TIMEOUT=30000 +PEER_LOG_INTERVAL=60000 +NODE_PUBLIC_ADDRESS=127.0.0.1 +BOOTSTRAP_NODES= +MAX_CONNECTIONS=1000 +LOAD_BALANCING_STRATEGY=least-loaded +ACCEPT_TERMS=true +KEY_PATH=/var/lib/debros/keys +LIBP2P_DEBUG=true +IPFS_DEBUG=true +LOG_LEVEL=debug +DEBUG=libp2p:* \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d72dd8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +node_modules/ +.env +radata/ +dist/ +blockstore/ +orbitdb/ +swarm.key +.DS_Store +bin/ +blockstore-* +logs/ +packages/ \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..c9b7a60 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "printWidth": 120, + "trailingComma": "es5", + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": true +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..16e75e8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM node:20-alpine + +WORKDIR /app + +# Install pnpm +RUN npm install -g pnpm@10.6.2 + +# Copy package files first to leverage Docker caching +COPY package.json pnpm-lock.yaml ./ + +# Install dependencies +RUN pnpm install + +# Copy the rest of the project files +COPY . . + +# Build the TypeScript project +RUN pnpm build + +# Expose port +EXPOSE 7777 + +# Run the application +CMD ["pnpm", "start"] \ No newline at end of file diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..0a584fc --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,21 @@ +FROM node:20-alpine + +WORKDIR /app + +# Install dependencies +COPY package*.json ./ + +RUN npm install + +# Install tsx +RUN npm install -g tsx + +# Copy source code +COPY src/ ./ +COPY tsconfig.json ./ + +# Expose port +EXPOSE 7777 + +# Run the TypeScript file directly +CMD ["tsx", "watch", "server.ts"] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d2b2339 --- /dev/null +++ b/LICENSE @@ -0,0 +1,595 @@ +GNU General Public License +========================== + +_Version 3, 29 June 2007_ +_Copyright © 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) + + 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) + 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 +<>. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0be9120 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# Installation + +## Run this script: + +```bash +sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/DeBrosOfficial/node/refs/heads/main/scripts/install.sh)" +``` + +## Stop and Clean (optional for debugging) + +```bash +#!/bin/bash + +sudo systemctl stop debros-node +sudo rm -rf /opt/debros-node +docker system prune -a +``` diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..c98cd0b --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,23 @@ +services: + debros-node-service: + build: + context: . + dockerfile: Dockerfile.dev + ports: + - '7777:7777' + restart: unless-stopped + env_file: .env + volumes: + - ./orbitdb:/app/orbitdb + - ./blockstore:/app/blockstore + - ./.env:/app/.env + - ./terms-agreement:/app/terms-agreement + environment: + - PORT=7777 + # Add other environment variables if needed + networks: + - debros-network + +networks: + debros-network: + driver: bridge diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..faef1b4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,24 @@ +services: + debros-node-service: + build: + context: . + dockerfile: Dockerfile + ports: + - '7777:7777' + - '7778:7778' + restart: unless-stopped + env_file: .env + volumes: + - ./orbitdb:/app/orbitdb + - ./blockstore:/app/blockstore + - ./.env:/app/.env + - ./terms-agreement:/app/terms-agreement + - /var/lib/debros/keys:/var/lib/debros/keys + environment: + - PORT=7777 + networks: + - debros-network + +networks: + debros-network: + driver: bridge diff --git a/docs/LOAD-BALANCER-TESTING.md b/docs/LOAD-BALANCER-TESTING.md new file mode 100644 index 0000000..ec72673 --- /dev/null +++ b/docs/LOAD-BALANCER-TESTING.md @@ -0,0 +1,250 @@ +# Load Balancer Testing Guide + +This guide describes how to test the IPFS service discovery and load balancing system implemented in the DeBros Relay. + +## Prerequisites + +- Node.js and pnpm installed +- DeBros Relay codebase +- Multiple terminal windows + +## Setting Up the Test Environment + +### 1. Install Dependencies + +First, make sure all required dependencies are installed: + +```bash +pnpm install +``` + +### 2. Start Multiple Nodes + +To test load balancing, you need to start multiple relay nodes with different configurations. Open separate terminal windows for each node. + +**Node 1 (Primary):** + +```bash +FINGERPRINT=node-1 PORT=7777 pnpm run dev +``` + +**Node 2:** + +```bash +FINGERPRINT=node-2 PORT=6002 pnpm run dev +``` + +**Node 3:** + +```bash +FINGERPRINT=node-3 PORT=6003 pnpm run dev +``` + +### 3. Verify Node Discovery + +After starting the nodes, they should automatically discover each other via IPFS pubsub. Check the logs to verify that the nodes are discovering each other: + +``` +[SERVICE-DISCOVERY] New peer discovered: k51qzi5uqu5dl... (node-2) +[IPFS] Connected to peer: k51qzi5uqu5dl... +``` + +You should see periodic status reports showing connected peers: + +``` +==== DeBros RELAY STATUS REPORT ==== +📊 Fingerprint: node-1 +📊 Active connections: 3 +📊 Current load: 1% +📊 Connected P2P peers: 2 +================================== +CONNECTED PEERS: +1. k51qzi5uqu5dl... - Load: 5% +2. k51qzi5uqu5aa... - Load: 15% +================================== +``` + +## Testing Load Balancing + +### 1. Using HTTP Requests + +You can use the provided `load-balancer.http` file with tools like Visual Studio Code's REST Client extension or curl to test the API endpoints. + +**Check Node Info:** + +``` +GET http://localhost:7777/api/discovery/node-info +``` + +**Get Optimal Peer:** + +``` +GET http://localhost:7777/api/discovery/optimal-peer +``` + +**Get All Peers:** + +``` +GET http://localhost:7777/api/discovery/peers +``` + +**Health Check:** + +``` +GET http://localhost:7777/health +``` + +### 2. Testing Different Load Balancing Strategies + +You can test different load balancing strategies by changing the environment variable: + +```bash +LOAD_BALANCING_STRATEGY=round-robin FINGERPRINT=node-1 PORT=7777 pnpm run dev +``` + +Available strategies: + +- `least-loaded` (default): Chooses the node with the lowest load +- `round-robin`: Cycles through all available nodes +- `random`: Randomly selects a node + +### 3. Simulating Load + +To properly test load balancing, you need to simulate different loads on the nodes. You can do this by establishing WebSocket connections to different nodes: + +**Simple WebSocket test script:** + +```javascript +// save as test-connections.js +const { io } = require('socket.io-client'); + +const NUM_CONNECTIONS = 50; // Number of connections to create +const TARGET_PORT = 7777; // Port of the node to connect to + +const connections = []; + +function connect() { + for (let i = 0; i < NUM_CONNECTIONS; i++) { + const socket = io(`http://localhost:${TARGET_PORT}`, { + auth: { + walletAddress: `0x${i.toString(16).padStart(40, '0')}`, + signature: 'dummy-signature-for-testing', + }, + }); + + socket.on('connect', () => { + console.log(`Connection ${i} established`); + }); + + connections.push(socket); + } +} + +connect(); + +// Keep the script running +process.stdin.resume(); + +// Clean up on exit +process.on('SIGINT', () => { + console.log('Closing all connections...'); + connections.forEach((socket) => socket.disconnect()); + process.exit(); +}); +``` + +Run this script to create connections to one of your nodes: + +```bash +node test-connections.js +``` + +You can modify the script to target different nodes and create varying levels of load. + +### 4. Monitoring Results + +As you create connections, each node should update its load metrics and broadcast this information to other nodes via pubsub. You should see log messages indicating updates to the load: + +``` +[LOAD-BALANCER] Current load: 30% (300 connections) +``` + +Then, when querying the optimal peer endpoint, you should see responses directing clients to the node with the lowest load: + +```json +{ + "useThisNode": false, + "optimalPeer": { + "peerId": "k51qzi5uqu5dllthquketj8ds6vf0s5kkm7p3ybmzz32vr46tgqcm2sic0pxwk", + "load": 10 + }, + "message": "Found optimal peer" +} +``` + +## Integrating with Client Applications + +To integrate load balancing with client applications, the client should: + +1. Initially connect to any known relay node +2. Query the `/api/discovery/optimal-peer` endpoint +3. If `useThisNode` is `false`, disconnect and connect to the optimal peer +4. Periodically check for better nodes (every few minutes) + +**Example Client Integration:** + +```javascript +async function connectToOptimalRelay() { + // Start with a known relay + const initialRelay = 'http://localhost:7777'; + + try { + // Query for optimal peer + const response = await fetch(`${initialRelay}/api/discovery/optimal-peer`); + const data = await response.json(); + + if (data.useThisNode) { + console.log(`Using initial relay: ${initialRelay}`); + return initialRelay; + } else { + // Convert peer ID to a URL (implementation depends on your setup) + const optimalRelayUrl = peerIdToUrl(data.optimalPeer.peerId); + console.log(`Switching to optimal relay: ${optimalRelayUrl}`); + return optimalRelayUrl; + } + } catch (error) { + console.error('Error finding optimal relay:', error); + return initialRelay; // Fall back to initial relay + } +} + +// Connect to the best relay +const relayUrl = await connectToOptimalRelay(); +const socket = io(relayUrl, { + auth: { + walletAddress: userWalletAddress, + signature: signature, + }, +}); +``` + +## Troubleshooting + +### Nodes Not Discovering Each Other + +1. Check that the PubSub service is properly initialized +2. Verify that all nodes are using the same service discovery topic +3. Check if there are any network restrictions preventing P2P communication +4. Try setting explicit bootstrap nodes in the configuration + +### High CPU/Memory Usage + +1. Adjust the heartbeat interval to a higher value +2. Reduce the verbosity of logging in a production environment +3. Consider optimizing the peer discovery mechanism for larger deployments + +### Load Balancing Not Working as Expected + +1. Check the logs to see if load metrics are being calculated and broadcasted correctly +2. Ensure that the stale peer timeout is set appropriately +3. Try different load balancing strategies to see which works best for your use case diff --git a/docs/load-balancer.http b/docs/load-balancer.http new file mode 100644 index 0000000..643b8f1 --- /dev/null +++ b/docs/load-balancer.http @@ -0,0 +1,43 @@ +### Load Balancer and Service Discovery API + +@baseUrl = http://localhost:7777/api +@contentType = application/json + +### Get Node Info +# Returns information about the current node +GET {{baseUrl}}/discovery/node-info +Content-Type: {{contentType}} + +### Get Optimal Peer +# Returns the optimal peer to connect to based on the load balancing strategy +GET {{baseUrl}}/discovery/optimal-peer +Content-Type: {{contentType}} + +### Get All Peers +# Returns information about all connected peers +GET {{baseUrl}}/discovery/peers +Content-Type: {{contentType}} + +### Health Check +# Check the health of the node and its load metrics +GET http://localhost:7777/health +Content-Type: {{contentType}} + +### Multi-Node Testing Setup + +## Use these commands to start multiple nodes for testing load balancing + +# Start first node +# FINGERPRINT=node-1 PORT=7777 pnpm run dev + +# Start second node +# FINGERPRINT=node-2 PORT=6002 pnpm run dev + +# Start third node +# FINGERPRINT=node-3 PORT=6003 pnpm run dev + +## Test optimal peer with second node +# GET http://localhost:6002/api/discovery/optimal-peer + +## Test optimal peer with third node +# GET http://localhost:6003/api/discovery/optimal-peer \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..738a5fa --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,82 @@ +import globals from 'globals'; +import js from '@eslint/js'; +import tseslint from 'typescript-eslint'; +import prettier from 'eslint-plugin-prettier'; + +export default [ + // Base configuration for all files + { + files: ['**/*.{ts}'], + ignores: ['dist/**', 'docs/**', 'src/components/bot/templates/**'], + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + globals: { + ...globals.node, + NodeJS: 'readonly', // Add NodeJS as a global + Express: 'readonly', // Add Express as a global + }, + }, + plugins: { + prettier: prettier, + }, + rules: { + ...js.configs.recommended.rules, + ...prettier.configs.recommended.rules, + camelcase: 'off', + 'no-invalid-this': 'off', + 'prettier/prettier': 'error', + 'require-jsdoc': 'off', + 'valid-jsdoc': 'off', + 'new-cap': ['error', { capIsNew: false }], + 'no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + }, + }, + + // TypeScript-specific configuration + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parser: tseslint.parser, + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: './tsconfig.json', + }, + }, + plugins: { + '@typescript-eslint': tseslint.plugin, + }, + rules: { + ...tseslint.configs.recommended.rules, + '@typescript-eslint/naming-convention': [ + 'error', + { + selector: 'default', + format: ['camelCase', 'PascalCase', 'snake_case', 'UPPER_CASE'], + leadingUnderscore: 'allow', + trailingUnderscore: 'allow', + }, + { + selector: 'property', + format: null, + }, + ], + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + }, + }, +]; diff --git a/package.json b/package.json new file mode 100644 index 0000000..9cb0c45 --- /dev/null +++ b/package.json @@ -0,0 +1,98 @@ +{ + "name": "@debros/node", + "type": "module", + "version": "0.0.11-alpha", + "description": "DeBros Node", + "main": "dist/index.js", + "bin": "dist/cli.js", + "pkg": { + "targets": [ + "node18-linux-x64", + "node18-macos-x64", + "node18-win-x64" + ], + "outputPath": "bin", + "assets": [ + "dist/**/*" + ] + }, + "scripts": { + "dev": "npx tsx ./src/server.ts", + "dev:with-anyone": "npx tsx ./src/server.ts", + "start": "NODE_ENV=production node dist/server.js", + "lint": "npx eslint src", + "build": "npx tsc -p tsconfig.json && npx tsc-esm-fix --target=dist --outDir=dist", + "test": "NODE_ENV=test jest --coverageReporters='text-summary'", + "prepare": "husky" + }, + "keywords": [], + "author": "", + "license": "ISC", + "packageManager": "pnpm@10.6.2", + "dependencies": { + "@anyone-protocol/anyone-client": "^0.4.4", + "@debros/cli": "^0.0.11-alpha", + "@debros/network": "^0.0.16-alpha", + "@helia/unixfs": "^4.0.3", + "@libp2p/bootstrap": "^11.0.32", + "@libp2p/crypto": "^5.0.15", + "@libp2p/mdns": "^11.0.32", + "@libp2p/peer-id": "^5.1.0", + "@libp2p/pubsub": "^10.1.8", + "@multiformats/multiaddr": "^12.4.0", + "cors": "^2.8.5", + "ethers": "^6.13.5", + "express": "^4.21.2", + "filesize-parser": "^1.5.1", + "helia": "^5.3.0", + "https-proxy-agent": "^7.0.6", + "libp2p": "^2.8.2", + "morgan": "^1.10.0", + "multer": "1.4.5-lts.2", + "socket.io": "^4.8.1", + "socks": "^2.8.4", + "socks-proxy-agent": "^8.0.5", + "typescript": "^5.8.2", + "uuid": "^11.1.0", + "winston": "^3.17.0", + "zod": "^3.24.2" + }, + "devDependencies": { + "@eslint/js": "^9.23.0", + "@types/cors": "^2.8.17", + "@types/express": "^5.0.0", + "@types/filesize-parser": "^1.5.3", + "@types/morgan": "^1.9.9", + "@types/multer": "^1.4.12", + "@types/node": "^22.13.10", + "@types/node-forge": "^1.3.11", + "@types/uuid": "^10.0.0", + "@typescript-eslint/eslint-plugin": "^8.29.0", + "@typescript-eslint/parser": "^8.29.0", + "chalk": "^5.4.1", + "dotenv": "^16.4.7", + "eslint": "^9.23.0", + "eslint-plugin-prettier": "^5.2.5", + "globals": "^16.0.0", + "husky": "^9.1.7", + "inquirer": "^12.5.0", + "nodemon": "^3.1.9", + "pkg": "^5.8.1", + "prettier": "^3.5.3", + "simple-git": "^3.27.0", + "ts-node": "^10.9.2", + "tsc-esm-fix": "^3.1.2", + "typescript-eslint": "^8.29.0" + }, + "pnpm": { + "ignoredBuiltDependencies": [ + "@ipshipyard/node-datachannel", + "classic-level" + ], + "onlyBuiltDependencies": [ + "@anyone-protocol/anyone-client", + "@ipshipyard/node-datachannel", + "classic-level" + ] + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..008c9b5 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,15625 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + .: + dependencies: + '@anyone-protocol/anyone-client': + specifier: ^0.4.4 + version: 0.4.4 + '@debros/cli': + specifier: ^0.0.11-alpha + version: 0.0.11-alpha(bufferutil@4.0.9)(encoding@0.1.13)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(typescript@5.8.2)(utf-8-validate@5.0.10) + '@debros/network': + specifier: ^0.0.16-alpha + version: 0.0.16-alpha(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(typescript@5.8.2)(utf-8-validate@5.0.10) + '@helia/unixfs': + specifier: ^4.0.3 + version: 4.0.3(encoding@0.1.13) + '@libp2p/bootstrap': + specifier: ^11.0.32 + version: 11.0.32 + '@libp2p/crypto': + specifier: ^5.0.15 + version: 5.0.15 + '@libp2p/mdns': + specifier: ^11.0.32 + version: 11.0.32 + '@libp2p/peer-id': + specifier: ^5.1.0 + version: 5.1.0 + '@libp2p/pubsub': + specifier: ^10.1.8 + version: 10.1.8 + '@multiformats/multiaddr': + specifier: ^12.4.0 + version: 12.4.0 + cors: + specifier: ^2.8.5 + version: 2.8.5 + ethers: + specifier: ^6.13.5 + version: 6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + express: + specifier: ^4.21.2 + version: 4.21.2 + filesize-parser: + specifier: ^1.5.1 + version: 1.5.1 + helia: + specifier: ^5.3.0 + version: 5.3.0(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + https-proxy-agent: + specifier: ^7.0.6 + version: 7.0.6 + libp2p: + specifier: ^2.8.2 + version: 2.8.2 + morgan: + specifier: ^1.10.0 + version: 1.10.0 + multer: + specifier: 1.4.5-lts.2 + version: 1.4.5-lts.2 + socket.io: + specifier: ^4.8.1 + version: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + socks: + specifier: ^2.8.4 + version: 2.8.4 + socks-proxy-agent: + specifier: ^8.0.5 + version: 8.0.5 + typescript: + specifier: ^5.8.2 + version: 5.8.2 + uuid: + specifier: ^11.1.0 + version: 11.1.0 + winston: + specifier: ^3.17.0 + version: 3.17.0 + zod: + specifier: ^3.24.2 + version: 3.24.2 + devDependencies: + '@eslint/js': + specifier: ^9.23.0 + version: 9.23.0 + '@types/cors': + specifier: ^2.8.17 + version: 2.8.17 + '@types/express': + specifier: ^5.0.0 + version: 5.0.1 + '@types/filesize-parser': + specifier: ^1.5.3 + version: 1.5.3 + '@types/morgan': + specifier: ^1.9.9 + version: 1.9.9 + '@types/multer': + specifier: ^1.4.12 + version: 1.4.12 + '@types/node': + specifier: ^22.13.10 + version: 22.13.14 + '@types/node-forge': + specifier: ^1.3.11 + version: 1.3.11 + '@types/uuid': + specifier: ^10.0.0 + version: 10.0.0 + '@typescript-eslint/eslint-plugin': + specifier: ^8.29.0 + version: 8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/parser': + specifier: ^8.29.0 + version: 8.29.0(eslint@9.23.0)(typescript@5.8.2) + chalk: + specifier: ^5.4.1 + version: 5.4.1 + dotenv: + specifier: ^16.4.7 + version: 16.4.7 + eslint: + specifier: ^9.23.0 + version: 9.23.0 + eslint-plugin-prettier: + specifier: ^5.2.5 + version: 5.2.5(eslint@9.23.0)(prettier@3.5.3) + globals: + specifier: ^16.0.0 + version: 16.0.0 + husky: + specifier: ^9.1.7 + version: 9.1.7 + inquirer: + specifier: ^12.5.0 + version: 12.5.0(@types/node@22.13.14) + nodemon: + specifier: ^3.1.9 + version: 3.1.9 + pkg: + specifier: ^5.8.1 + version: 5.8.1(encoding@0.1.13) + prettier: + specifier: ^3.5.3 + version: 3.5.3 + simple-git: + specifier: ^3.27.0 + version: 3.27.0 + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@22.13.14)(typescript@5.8.2) + tsc-esm-fix: + specifier: ^3.1.2 + version: 3.1.2 + typescript-eslint: + specifier: ^8.29.0 + version: 8.29.0(eslint@9.23.0)(typescript@5.8.2) + + packages/@debros/cli: + dependencies: + '@debros/network': + specifier: workspace:* + version: link:../network + '@solana/web3.js': + specifier: ^1.87.6 + version: 1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) + chalk: + specifier: ^5.3.0 + version: 5.4.1 + commander: + specifier: ^11.1.0 + version: 11.1.0 + dockerode: + specifier: ^4.0.0 + version: 4.0.5 + dotenv: + specifier: ^16.4.1 + version: 16.4.7 + helia: + specifier: ^5.3.0 + version: 5.3.0(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + inquirer: + specifier: ^9.2.12 + version: 9.3.7 + ipfs-core: + specifier: ^0.18.1 + version: 0.18.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) + libp2p: + specifier: ^2.8.2 + version: 2.8.2 + ora: + specifier: ^7.0.1 + version: 7.0.1 + devDependencies: + '@types/inquirer': + specifier: ^9.0.7 + version: 9.0.7 + '@types/node': + specifier: ^22.13.10 + version: 22.13.14 + eslint: + specifier: ^8.56.0 + version: 8.57.1 + rimraf: + specifier: ^5.0.5 + version: 5.0.10 + typescript: + specifier: ^5.8.2 + version: 5.8.2 + + packages/@debros/network: + dependencies: + '@chainsafe/libp2p-gossipsub': + specifier: ^14.1.0 + version: 14.1.1 + '@chainsafe/libp2p-noise': + specifier: ^16.1.0 + version: 16.1.0 + '@chainsafe/libp2p-yamux': + specifier: ^7.0.1 + version: 7.0.1 + '@libp2p/bootstrap': + specifier: ^11.0.32 + version: 11.0.32 + '@libp2p/crypto': + specifier: ^5.0.15 + version: 5.0.15 + '@libp2p/identify': + specifier: ^3.0.27 + version: 3.0.27 + '@libp2p/interface': + specifier: ^2.7.0 + version: 2.7.0 + '@libp2p/mdns': + specifier: ^11.0.32 + version: 11.0.32 + '@libp2p/peer-id': + specifier: ^5.1.0 + version: 5.1.0 + '@libp2p/pubsub': + specifier: ^10.1.8 + version: 10.1.8 + '@libp2p/tcp': + specifier: ^10.1.8 + version: 10.1.8 + '@multiformats/multiaddr': + specifier: ^12.4.0 + version: 12.4.0 + '@orbitdb/core': + specifier: ^2.5.0 + version: 2.5.0 + '@orbitdb/feed-db': + specifier: ^1.1.2 + version: 1.1.2(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + blockstore-fs: + specifier: ^2.0.2 + version: 2.0.2 + express: + specifier: ^5.1.0 + version: 5.1.0 + helia: + specifier: ^5.3.0 + version: 5.3.0(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + libp2p: + specifier: ^2.8.2 + version: 2.8.2 + node-forge: + specifier: ^1.3.1 + version: 1.3.1 + winston: + specifier: ^3.17.0 + version: 3.17.0 + devDependencies: + '@constl/orbit-db-types': + specifier: ^2.0.6 + version: 2.0.6 + '@orbitdb/core-types': + specifier: ^1.0.14 + version: 1.0.14 + '@types/express': + specifier: ^5.0.1 + version: 5.0.1 + '@types/node': + specifier: ^22.13.10 + version: 22.13.14 + '@types/node-forge': + specifier: ^1.3.11 + version: 1.3.11 + husky: + specifier: ^8.0.3 + version: 8.0.3 + lint-staged: + specifier: ^15.5.0 + version: 15.5.0 + prettier: + specifier: ^3.5.3 + version: 3.5.3 + rimraf: + specifier: ^5.0.5 + version: 5.0.10 + typescript: + specifier: ^5.8.2 + version: 5.8.2 + +packages: + '@achingbrain/http-parser-js@0.5.8': + resolution: + { integrity: sha512-7P8ukzL4jyh8Fho5tSfPBTzWJUZ0D7DxaW7ObObT5HTcljhjq9NN/qFg1yzPxq0VWRI/8qPnSUa1ofzzH/R9eQ== } + + '@achingbrain/ip-address@8.1.0': + resolution: + { integrity: sha512-Zus4vMKVRDm+R1o0QJNhD0PD/8qRGO3Zx8YPsFG5lANt5utVtGg3iHVGBSAF80TfQmhi8rP+Kg/OigdxY0BXHw== } + engines: { node: '>= 12' } + + '@achingbrain/nat-port-mapper@1.0.18': + resolution: + { integrity: sha512-B3sD+1KmD6qtmnCSdTtoMIwsw5Lj8XNDWnPakXnChm92eaFO7JRfS76oCts6iMFttJzOHq7FT0sNY7sDcbvosA== } + + '@achingbrain/nat-port-mapper@4.0.2': + resolution: + { integrity: sha512-cOV/mPL8ouLko487f37LXl6t76NwksLbyib2Y2T72HK2bm7y2QP0+3+1xxqKqaffoo30CJm8E8IHN9hmJ/LiSA== } + + '@achingbrain/ssdp@4.2.1': + resolution: + { integrity: sha512-haY46oYyQWlM3qElCpQ1M5I5pVbPPJ5p3n3gYuMtZsDezT5mQ4e4PuqiIzhfmrURj+WKbSppgNRuczN0S+Xt1Q== } + + '@adraffy/ens-normalize@1.10.1': + resolution: + { integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== } + + '@ampproject/remapping@2.3.0': + resolution: + { integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== } + engines: { node: '>=6.0.0' } + + '@anyone-protocol/anyone-client@0.4.4': + resolution: + { integrity: sha512-YGkqRoH0+dhjUTOFECpPzMSGZsmXYKYV/J3pFPJpyiC+EAcCBK8T4P2h+Opa1TTAz+S/c1XmAqfO7LYoDDgiNg== } + hasBin: true + + '@assemblyscript/loader@0.9.4': + resolution: + { integrity: sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA== } + + '@babel/code-frame@7.26.2': + resolution: + { integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== } + engines: { node: '>=6.9.0' } + + '@babel/compat-data@7.26.8': + resolution: + { integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== } + engines: { node: '>=6.9.0' } + + '@babel/core@7.26.10': + resolution: + { integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== } + engines: { node: '>=6.9.0' } + + '@babel/generator@7.18.2': + resolution: + { integrity: sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== } + engines: { node: '>=6.9.0' } + + '@babel/generator@7.27.0': + resolution: + { integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw== } + engines: { node: '>=6.9.0' } + + '@babel/helper-annotate-as-pure@7.25.9': + resolution: + { integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== } + engines: { node: '>=6.9.0' } + + '@babel/helper-compilation-targets@7.27.0': + resolution: + { integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA== } + engines: { node: '>=6.9.0' } + + '@babel/helper-create-class-features-plugin@7.27.0': + resolution: + { integrity: sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.27.0': + resolution: + { integrity: sha512-fO8l08T76v48BhpNRW/nQ0MxfnSdoSKUJBMjubOAYffsVuGG5qOfMq7N6Es7UJvi7Y8goXXo07EfcHZXDPuELQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.4': + resolution: + { integrity: sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== } + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: + { integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== } + engines: { node: '>=6.9.0' } + + '@babel/helper-module-imports@7.25.9': + resolution: + { integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== } + engines: { node: '>=6.9.0' } + + '@babel/helper-module-transforms@7.26.0': + resolution: + { integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.25.9': + resolution: + { integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== } + engines: { node: '>=6.9.0' } + + '@babel/helper-plugin-utils@7.26.5': + resolution: + { integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== } + engines: { node: '>=6.9.0' } + + '@babel/helper-remap-async-to-generator@7.25.9': + resolution: + { integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.26.5': + resolution: + { integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: + { integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== } + engines: { node: '>=6.9.0' } + + '@babel/helper-string-parser@7.25.9': + resolution: + { integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== } + engines: { node: '>=6.9.0' } + + '@babel/helper-validator-identifier@7.25.9': + resolution: + { integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== } + engines: { node: '>=6.9.0' } + + '@babel/helper-validator-option@7.25.9': + resolution: + { integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== } + engines: { node: '>=6.9.0' } + + '@babel/helper-wrap-function@7.25.9': + resolution: + { integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== } + engines: { node: '>=6.9.0' } + + '@babel/helpers@7.27.0': + resolution: + { integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg== } + engines: { node: '>=6.9.0' } + + '@babel/parser@7.18.4': + resolution: + { integrity: sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== } + engines: { node: '>=6.0.0' } + hasBin: true + + '@babel/parser@7.27.0': + resolution: + { integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== } + engines: { node: '>=6.0.0' } + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': + resolution: + { integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': + resolution: + { integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': + resolution: + { integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': + resolution: + { integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': + resolution: + { integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-export-default-from@7.25.9': + resolution: + { integrity: sha512-ykqgwNfSnNOB+C8fV5X4mG3AVmvu+WVxcaU9xHHtBb7PCrPeweMmPjGsn8eMaeJg6SJuoUuZENeeSWaarWqonQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: + { integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: + { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: + { integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: + { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: + { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: + { integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-default-from@7.25.9': + resolution: + { integrity: sha512-9MhJ/SMTsVqsd69GyQg89lYR4o9T+oDGv5F6IsigxxqFVOyR/IflDLYP8WDI1l8fkhNGGktqkvL5qwNCtGEpgQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-flow@7.26.0': + resolution: + { integrity: sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.26.0': + resolution: + { integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: + { integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: + { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: + { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.25.9': + resolution: + { integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: + { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: + { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: + { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: + { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: + { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: + { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: + { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: + { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.9': + resolution: + { integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: + { integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.25.9': + resolution: + { integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.26.8': + resolution: + { integrity: sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.25.9': + resolution: + { integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.26.5': + resolution: + { integrity: sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.27.0': + resolution: + { integrity: sha512-u1jGphZ8uDI2Pj/HJj6YQ6XQLZCNjOlprjxB5SVz6rq2T6SwAR+CdrWK0CP7F+9rDVMXdB0+r6Am5G5aobOjAQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.25.9': + resolution: + { integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.26.0': + resolution: + { integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.25.9': + resolution: + { integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.25.9': + resolution: + { integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.25.9': + resolution: + { integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.25.9': + resolution: + { integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.25.9': + resolution: + { integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': + resolution: + { integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.25.9': + resolution: + { integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.26.3': + resolution: + { integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.25.9': + resolution: + { integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-flow-strip-types@7.26.5': + resolution: + { integrity: sha512-eGK26RsbIkYUns3Y8qKl362juDDYK+wEdPGHGrhzUl6CewZFo55VZ7hg+CyMFU4dd5QQakBN86nBMpRsFpRvbQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.26.9': + resolution: + { integrity: sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.25.9': + resolution: + { integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.25.9': + resolution: + { integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.25.9': + resolution: + { integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9': + resolution: + { integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.25.9': + resolution: + { integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.25.9': + resolution: + { integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.26.3': + resolution: + { integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.9': + resolution: + { integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.25.9': + resolution: + { integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': + resolution: + { integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.25.9': + resolution: + { integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.26.6': + resolution: + { integrity: sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.25.9': + resolution: + { integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.25.9': + resolution: + { integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.25.9': + resolution: + { integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.25.9': + resolution: + { integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.25.9': + resolution: + { integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.25.9': + resolution: + { integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.25.9': + resolution: + { integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.25.9': + resolution: + { integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.25.9': + resolution: + { integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.25.9': + resolution: + { integrity: sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-self@7.25.9': + resolution: + { integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.25.9': + resolution: + { integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.25.9': + resolution: + { integrity: sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.27.0': + resolution: + { integrity: sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.26.0': + resolution: + { integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.25.9': + resolution: + { integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.26.10': + resolution: + { integrity: sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.25.9': + resolution: + { integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.25.9': + resolution: + { integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.25.9': + resolution: + { integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.26.8': + resolution: + { integrity: sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.27.0': + resolution: + { integrity: sha512-+LLkxA9rKJpNoGsbLnAgOCdESl73vwYn+V6b+5wHbrE7OGKVDPHIQvbFSzqE6rwqaCw2RE+zdJrlLkcf8YOA0w== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.27.0': + resolution: + { integrity: sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.25.9': + resolution: + { integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.25.9': + resolution: + { integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.25.9': + resolution: + { integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9': + resolution: + { integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.26.9': + resolution: + { integrity: sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-flow@7.25.9': + resolution: + { integrity: sha512-EASHsAhE+SSlEzJ4bzfusnXSHiU+JfAYzj+jbw2vgQKgq5HrUr8qs+vgtiEL5dOH6sEweI+PNt2D7AqrDSHyqQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: + { integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== } + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-typescript@7.27.0': + resolution: + { integrity: sha512-vxaPFfJtHhgeOVXRKuHpHPAOgymmy8V8I65T1q53R7GCZlefKeCaTyDs3zOPHTTbmquvNlQYC5klEvWsBAtrBQ== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/register@7.25.9': + resolution: + { integrity: sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA== } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.27.0': + resolution: + { integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== } + engines: { node: '>=6.9.0' } + + '@babel/template@7.27.0': + resolution: + { integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA== } + engines: { node: '>=6.9.0' } + + '@babel/traverse@7.27.0': + resolution: + { integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA== } + engines: { node: '>=6.9.0' } + + '@babel/types@7.19.0': + resolution: + { integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== } + engines: { node: '>=6.9.0' } + + '@babel/types@7.27.0': + resolution: + { integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== } + engines: { node: '>=6.9.0' } + + '@balena/dockerignore@1.0.2': + resolution: + { integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== } + + '@chainsafe/as-chacha20poly1305@0.1.0': + resolution: + { integrity: sha512-BpNcL8/lji/GM3+vZ/bgRWqJ1q5kwvTFmGPk7pxm/QQZDbaMI98waOHjEymTjq2JmdD/INdNBFOVSyJofXg7ew== } + + '@chainsafe/as-sha256@1.0.1': + resolution: + { integrity: sha512-4Y/kQm0LsJ6QRtGcMq6gOdQP+fZhWDfIV2eIqP6oFJZBWYGmdh3wm8YbrXDPLJO87X2Fu6koRLdUS00O3k14Hw== } + + '@chainsafe/is-ip@2.1.0': + resolution: + { integrity: sha512-KIjt+6IfysQ4GCv66xihEitBjvhU/bixbbbFxdJ1sqCp4uJ0wuZiYBPhksZoy4lfaF0k9cwNzY5upEW/VWdw3w== } + + '@chainsafe/libp2p-gossipsub@14.1.1': + resolution: + { integrity: sha512-EUs2C+xHXXbw0pQQF2AN/ih4qB6BBWOGkDhvHz1VN52o2m/827IBEMT8RHdXMNZciQc90to1L57BKmhXkvztDw== } + engines: { npm: '>=8.7.0' } + + '@chainsafe/libp2p-gossipsub@6.3.0': + resolution: + { integrity: sha512-yRgMB5JpyPROjmhOeOmzJUAKci19qBEnpH80201f8JkkviUJo7+X8i3MUkammlbFg0VhaTKBT98Osbko9+rT1w== } + engines: { npm: '>=8.7.0' } + + '@chainsafe/libp2p-noise@11.0.4': + resolution: + { integrity: sha512-X7kA6a3/QPFxNFwgUJ8vubDu5qBDcDT0nhD+jL7g60IFKZu//HFH7oqsNCZa12yx0oR1fEYOR62iHDt2GHyWBQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@chainsafe/libp2p-noise@16.1.0': + resolution: + { integrity: sha512-GJA/i5pd6VmetxokvnPlEbVCeL7SfLHkSuUHwbJ4w0u7dZUbse4Hr8SA8RYGwNHbZr2TEKFC9WerhvMWbciIrQ== } + + '@chainsafe/libp2p-yamux@7.0.1': + resolution: + { integrity: sha512-949MI0Ll0AsYq1gUETZmL/MijwX0jilOQ1i4s8wDEXGiMhuPWWiMsPgEnX6n+VzFmTrfNYyGaaJj5/MqxV9y/g== } + + '@chainsafe/netmask@2.0.0': + resolution: + { integrity: sha512-I3Z+6SWUoaljh3TBzCnCxjlUyN8tA+NAk5L6m9IxvCf1BENQTePzPMis97CoN/iMW1St3WN+AWCCRp+TTBRiDg== } + + '@colors/colors@1.6.0': + resolution: + { integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== } + engines: { node: '>=0.1.90' } + + '@constl/orbit-db-types@2.0.6': + resolution: + { integrity: sha512-p23e3tEr9izE9zskwqdN66VhFWYrbhxTvJNalhWqKkXnSV/58gbtc+yFobLPClKEDNKtYAhYhO6spLiI+VpZEg== } + + '@cspotcode/source-map-support@0.8.1': + resolution: + { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } + engines: { node: '>=12' } + + '@dabh/diagnostics@2.0.3': + resolution: + { integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA== } + + '@debros/cli@0.0.11-alpha': + resolution: + { integrity: sha512-usmTA56TXGn9NTSdQ7MHo4rxSJRK+3yO/XH7DsfSaKcZW1PzBou7TBtQBOTmtSe0SedPL6FnoECztC0LrGt6mw== } + hasBin: true + + '@debros/network@0.0.14-alpha': + resolution: + { integrity: sha512-dMImNOU3f3PURLPqgY4UZrn7cpr4mGuPsDDrTe/HJZey1aa139R3BPJwCmq6EN/MjGUyL2liTjX+ZQ5qBqTbpg== } + peerDependencies: + typescript: '>=5.0.0' + + '@debros/network@0.0.16-alpha': + resolution: + { integrity: sha512-QYPUcoRF80tO8vD8cbPRjXIm17JW5Eul5au+XHyg2SXuWA9XRdIG0tc6Nk46rUll4lI0g4mFVuUSEUpMrZ7UWA== } + peerDependencies: + typescript: '>=5.0.0' + + '@eslint-community/eslint-utils@4.5.1': + resolution: + { integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: + { integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + + '@eslint/config-array@0.19.2': + resolution: + { integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@eslint/config-helpers@0.2.0': + resolution: + { integrity: sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@eslint/core@0.12.0': + resolution: + { integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@eslint/eslintrc@2.1.4': + resolution: + { integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + '@eslint/eslintrc@3.3.1': + resolution: + { integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@eslint/js@8.57.1': + resolution: + { integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + '@eslint/js@9.23.0': + resolution: + { integrity: sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@eslint/object-schema@2.1.6': + resolution: + { integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@eslint/plugin-kit@0.2.7': + resolution: + { integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@fastify/busboy@2.1.1': + resolution: + { integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== } + engines: { node: '>=14' } + + '@grpc/grpc-js@1.13.2': + resolution: + { integrity: sha512-nnR5nmL6lxF8YBqb6gWvEgLdLh/Fn+kvAdX5hUOnt48sNSb0riz/93ASd2E5gvanPA41X6Yp25bIfGRp1SMb2g== } + engines: { node: '>=12.10.0' } + + '@grpc/proto-loader@0.7.13': + resolution: + { integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw== } + engines: { node: '>=6' } + hasBin: true + + '@helia/bitswap@2.0.5': + resolution: + { integrity: sha512-LdvjagmArJ6d67yFKIxU+H29be+u8teP3yQzL8CLPU2J6uG66Pwh0Bb7bU+D1uUyUcfLS4TqDrRh1VKR+EghYw== } + + '@helia/block-brokers@4.1.0': + resolution: + { integrity: sha512-pzIhJeDLdF0VFkj9+LeLI6ZZORdH6/FwV7Q+IlIi2m5kAExqaYh8Oob6Dc7J5luu1atf69q4PWNIPYRiySmsmg== } + + '@helia/delegated-routing-v1-http-api-client@4.2.2': + resolution: + { integrity: sha512-SQuyIZAbfvXUkGiralGI7sWq44Ztd1Cf+3pz/paCzq1J3Jvl7JnofWB0spsZjwSu0jYPdwAL60Nmg1TSTm6ZVg== } + + '@helia/interface@5.2.1': + resolution: + { integrity: sha512-8eH3wOoOAHqcux2erXOm33oFBtKdpfHclepzn28bBYEl5wXhrc9JFeo2X3SYJeE0o/jxq0L39BprkYjgSSC91Q== } + + '@helia/routers@3.0.1': + resolution: + { integrity: sha512-Eshr/8XJU4c0H8s1m5oBFB2YM0n3HBbxB3ny8DbsRFS8cAQ/L8ujnQomniMjZuuOhcNz8EEGwkUc07HCtAqAFA== } + + '@helia/unixfs@4.0.3': + resolution: + { integrity: sha512-sbcnS64B6LCTHrGH6RPx2BuwLFjmVAoiX53RR/E0YCQMcHTDCF4bQ3I7P+7kzYkQLQkbLEekl7V2fnVOWxG7MA== } + + '@helia/utils@1.2.2': + resolution: + { integrity: sha512-f8TC+gTQkMTVPaSDB8sSV+8W5/QIMX9XNWY2Xf0Y/WVzGm+Nz5o5wpVTT1kgBpILngXHSs4Xo+6aBQlafL15EA== } + + '@humanfs/core@0.19.1': + resolution: + { integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== } + engines: { node: '>=18.18.0' } + + '@humanfs/node@0.16.6': + resolution: + { integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== } + engines: { node: '>=18.18.0' } + + '@humanwhocodes/config-array@0.13.0': + resolution: + { integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== } + engines: { node: '>=10.10.0' } + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: + { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } + engines: { node: '>=12.22' } + + '@humanwhocodes/object-schema@2.0.3': + resolution: + { integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== } + deprecated: Use @eslint/object-schema instead + + '@humanwhocodes/retry@0.3.1': + resolution: + { integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== } + engines: { node: '>=18.18' } + + '@humanwhocodes/retry@0.4.2': + resolution: + { integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ== } + engines: { node: '>=18.18' } + + '@inquirer/checkbox@4.1.4': + resolution: + { integrity: sha512-d30576EZdApjAMceijXA5jDzRQHT/MygbC+J8I7EqA6f/FRpYxlRtRJbHF8gHeWYeSdOuTEJqonn7QLB1ELezA== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@5.1.8': + resolution: + { integrity: sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.1.9': + resolution: + { integrity: sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/editor@4.2.9': + resolution: + { integrity: sha512-8HjOppAxO7O4wV1ETUlJFg6NDjp/W2NP5FB9ZPAcinAlNT4ZIWOLe2pUVwmmPRSV0NMdI5r/+lflN55AwZOKSw== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/expand@4.0.11': + resolution: + { integrity: sha512-OZSUW4hFMW2TYvX/Sv+NnOZgO8CHT2TU1roUCUIF2T+wfw60XFRRp9MRUPCT06cRnKL+aemt2YmTWwt7rOrNEA== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.11': + resolution: + { integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw== } + engines: { node: '>=18' } + + '@inquirer/input@4.1.8': + resolution: + { integrity: sha512-WXJI16oOZ3/LiENCAxe8joniNp8MQxF6Wi5V+EBbVA0ZIOpFcL4I9e7f7cXse0HJeIPCWO8Lcgnk98juItCi7Q== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/number@3.0.11': + resolution: + { integrity: sha512-pQK68CsKOgwvU2eA53AG/4npRTH2pvs/pZ2bFvzpBhrznh8Mcwt19c+nMO7LHRr3Vreu1KPhNBF3vQAKrjIulw== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/password@4.0.11': + resolution: + { integrity: sha512-dH6zLdv+HEv1nBs96Case6eppkRggMe8LoOTl30+Gq5Wf27AO/vHFgStTVz4aoevLdNXqwE23++IXGw4eiOXTg== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.4.0': + resolution: + { integrity: sha512-EZiJidQOT4O5PYtqnu1JbF0clv36oW2CviR66c7ma4LsupmmQlUwmdReGKRp456OWPWMz3PdrPiYg3aCk3op2w== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/rawlist@4.0.11': + resolution: + { integrity: sha512-uAYtTx0IF/PqUAvsRrF3xvnxJV516wmR6YVONOmCWJbbt87HcDHLfL9wmBQFbNJRv5kCjdYKrZcavDkH3sVJPg== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/search@3.0.11': + resolution: + { integrity: sha512-9CWQT0ikYcg6Ls3TOa7jljsD7PgjcsYEM0bYE+Gkz+uoW9u8eaJCRHJKkucpRE5+xKtaaDbrND+nPDoxzjYyew== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/select@4.1.0': + resolution: + { integrity: sha512-z0a2fmgTSRN+YBuiK1ROfJ2Nvrpij5lVN3gPDkQGhavdvIVGHGW29LwYZfM/j42Ai2hUghTI/uoBuTbrJk42bA== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/type@3.0.5': + resolution: + { integrity: sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@ipld/car@5.4.0': + resolution: + { integrity: sha512-FiGxOhTUh3fn/kkA+YvNYQjA/T8T5DcKG0NZwAi3aXrizN1qm99HzdYTccEwcX/rUCtI8wTUCKDNPBLUb7pBIQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@ipld/dag-cbor@9.2.2': + resolution: + { integrity: sha512-uIEOuruCqKTP50OBWwgz4Js2+LhiBQaxc57cnP71f45b1mHEAo1OCR1Zn/TbvSW/mV1x+JqhacIktkKyaYqhCw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@ipld/dag-json@10.2.3': + resolution: + { integrity: sha512-itacv1j1hvYgLox2B42Msn70QLzcr0MEo5yGIENuw2SM/lQzq9bmBiMky+kDsIrsqqblKTXcHBZnnmK7D4a6ZQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@ipld/dag-pb@4.1.3': + resolution: + { integrity: sha512-ueULCaaSCcD+dQga6nKiRr+RSeVgdiYiEPKVUu5iQMNYDN+9osd0KpR3UDd9uQQ+6RWuv9L34SchfEwj7YIbOA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@ipshipyard/libp2p-auto-tls@1.0.0': + resolution: + { integrity: sha512-wV1smnqbg3xUCHmPB8KWFuP8G9MKlx8KDuiJvhCWPi7B03xJq2FMybMDPI8tM9boa9sHD+5+NFu+Teo3Lz76fw== } + + '@ipshipyard/node-datachannel@0.26.5': + resolution: + { integrity: sha512-GOxqgCI4scLTSFwFO7ClK5eDgSCJQgf7mbmJu0qgPu9zNlRp0VJl6rNJScQBllHP7IhmBf3VXRWVvwWfOrplww== } + engines: { node: '>=18.20.0' } + + '@isaacs/cliui@8.0.2': + resolution: + { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } + engines: { node: '>=12' } + + '@isaacs/ttlcache@1.4.1': + resolution: + { integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA== } + engines: { node: '>=12' } + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: + { integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== } + engines: { node: '>=8' } + + '@istanbuljs/schema@0.1.3': + resolution: + { integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== } + engines: { node: '>=8' } + + '@jest/create-cache-key-function@29.7.0': + resolution: + { integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + '@jest/environment@29.7.0': + resolution: + { integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + '@jest/fake-timers@29.7.0': + resolution: + { integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + '@jest/schemas@29.6.3': + resolution: + { integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + '@jest/transform@29.7.0': + resolution: + { integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + '@jest/types@29.6.3': + resolution: + { integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + '@jridgewell/gen-mapping@0.3.8': + resolution: + { integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== } + engines: { node: '>=6.0.0' } + + '@jridgewell/resolve-uri@3.1.2': + resolution: + { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== } + engines: { node: '>=6.0.0' } + + '@jridgewell/set-array@1.2.1': + resolution: + { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } + engines: { node: '>=6.0.0' } + + '@jridgewell/source-map@0.3.6': + resolution: + { integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== } + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: + { integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== } + + '@jridgewell/trace-mapping@0.3.25': + resolution: + { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } + + '@jridgewell/trace-mapping@0.3.9': + resolution: + { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + + '@js-sdsl/ordered-map@4.4.2': + resolution: + { integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== } + + '@kwsites/file-exists@1.1.1': + resolution: + { integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw== } + + '@kwsites/promise-deferred@1.1.1': + resolution: + { integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== } + + '@leichtgewicht/ip-codec@2.0.5': + resolution: + { integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== } + + '@libp2p/autonat@2.0.28': + resolution: + { integrity: sha512-SFVowDdGf+C8l3XpDAqvf6eVuFcxNVuo9AS5afkklZ9RoSgc46qVGBrRFsL/27gPkuFZspx5yMYClJO8/HRleg== } + + '@libp2p/bootstrap@11.0.32': + resolution: + { integrity: sha512-sXpl92PyFTHhq3mA56DDyqHwFKn8JSUdco83f4ur3Jl69Zm8e4Yxli2hdzWNPtOoXy2s0DCagc/bOFuSSYu8fA== } + + '@libp2p/bootstrap@6.0.3': + resolution: + { integrity: sha512-0/pDxBn8+rLtZfGX2PHzOVT3wBATOv4SPiKWjHMeiSfIWQI3kQ0bZDgLp+2lnG8j1JVGDtYJVpmYTpEzlVgbRA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/circuit-relay-v2@3.2.8': + resolution: + { integrity: sha512-rPKG0/1odRy4EynULTxTjshupAChZtjVNl/R41JO5KvvLV5XkFnOFyFdwXBxtS8telkpKhCEr+YGse6U0gZ3dA== } + + '@libp2p/config@1.1.4': + resolution: + { integrity: sha512-telhYtL8OdRXu0GSgCMtWbZpZy+sQxptU6mmUkZnJLLEAR9CVzRK9W2KzctAon9WSIop7ErKggAaiXeTGMEw8g== } + + '@libp2p/crypto@1.0.17': + resolution: + { integrity: sha512-Oeg0Eb/EvAho0gVkOgemXEgrVxWaT3x/DpFgkBdZ9qGxwq75w/E/oPc7souqBz+l1swfz37GWnwV7bIb4Xv5Ag== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/crypto@5.0.15': + resolution: + { integrity: sha512-28xYMOn3fs8flsNgCVVxp27gEmDTtZHbz+qEVv3v7cWfGRipaVhNXFV9tQJHWXHQ8mN8v/PQvgcfCcWu5jkrTg== } + + '@libp2p/dcutr@2.0.27': + resolution: + { integrity: sha512-A4qIN+nxfIJhlA0slqa90xlc2DADz2RT5gE09Edxi21jGY7g28IX98gd19A73P4EOMIH2aUBjW6xQpDXEmDLcw== } + + '@libp2p/delegated-content-routing@4.0.11': + resolution: + { integrity: sha512-6hf03U8DCDNWDZh7nollIGoTuZoWtTXwtdXctn8wypJhNYCMKVBHk0G5FAkqV7f8SB1NI574cOVAHAckXRO3yA== } + + '@libp2p/delegated-peer-routing@4.0.14': + resolution: + { integrity: sha512-TJPrImKvMat4Fz8tt/LNBkDDf1y0Nb5Md0gH83kLUkDBj1rch38u+xLDOddyFgvbxuOGi1wdh6Rr9bYZehrVHQ== } + + '@libp2p/floodsub@6.0.3': + resolution: + { integrity: sha512-ajbgcX5lgtILRWgXLvjbO6TRB3Dxo/JTGvzSpqmFOfcZ4PGubNkbDkOwz1TXVqFqtD/CI0rYrKiwBxlXmH/6tg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/http-fetch@2.2.2': + resolution: + { integrity: sha512-dMPo2pe2h/AHAljgwDEErdiB8JbiJM5b0LzuF/Yq4HcplfJZf33VtzUHN1n8x+3K+F8fntWUKN30SwSisSoVaw== } + + '@libp2p/identify@3.0.27': + resolution: + { integrity: sha512-HCIT8I3X8CS/v1spocl5PR1qHGySvY5K7EtZSX7opH7wvQCT/WSWIQLSyY8hL0ezc2CGvCRpr6YVcuaYZtMjaA== } + + '@libp2p/interface-address-manager@2.0.5': + resolution: + { integrity: sha512-e2vLstKkYlAG2PZe6SEBpnnP2Y/ej6URue+zAiyjJPuXoOGNzHyLaqcv7MKye171OEf9dg5wv1gFphWcUJJbSA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-connection-encrypter@3.0.6': + resolution: + { integrity: sha512-LwyYBN/aSa3IPCe7gBxffx/vaC0rFxAXlCbx4QGaWGtg6qK80Ouj89LEDWb3HkMbecNVWaV4TEqJIM5WnAAx1Q== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-connection-manager@1.5.0': + resolution: + { integrity: sha512-luqYVMH3yip12JlSwVmBdo5/qG4YnXQXp2AV4lvxWK0sUhCnI2r3YL4e9ne8o3LAA5CkH3lPqTQ2HSRpmOruFg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-connection@3.1.1': + resolution: + { integrity: sha512-+hxfYLv4jf+MruQEJiJeIyo/wI33/53wRL0XJTkxwQQPAkLHfZWCUY4kY9sXALd3+ASjXAENvJj9VvzZTlkRDQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-connection@4.0.0': + resolution: + { integrity: sha512-6xx/NmEc84HX7QmsjSC3hHredQYjHv4Dkf4G27adAPf+qN+vnPxmQ7gaTnk243a0++DOFTbZ2gKX/15G2B6SRg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-connection@5.1.1': + resolution: + { integrity: sha512-ytknMbuuNW72LYMmTP7wFGP5ZTaUSGBCmV9f+uQ55XPcFHtKXLtKWVU/HE8IqPmwtyU8AO7veGoJ/qStMHNRVA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-content-routing@2.1.1': + resolution: + { integrity: sha512-nRPOUWgq1K1fDr3FKW93Tip7aH8AFefCw3nJygL4crepxWTSGw95s1GyDpC7t0RJkWTRNHsqZvsFsJ9FkHExKw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-dht@2.0.3': + resolution: + { integrity: sha512-JAKbHvw3egaSeB7CHOf6PF/dLNim4kzAiXX+0IEz2lln8L32/Xf1T7KNOF/RSbSYqO9b7Xxc/b2fuSfyaMwwMQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-internal@2.3.9': + resolution: + { integrity: sha512-1hW/yHktO3txc+r4ASmVA9GbNN6ZoGnH8Bt9VrYwY580BT53TP3eipn3Bo1XyGBDtmV6bpQiKhFK5AYVbhnz0g== } + + '@libp2p/interface-keychain@2.0.5': + resolution: + { integrity: sha512-mb7QNgn9fIvC7CaJCi06GJ+a6DN6RVT9TmEi0NmedZGATeCArPeWWG7r7IfxNVXb9cVOOE1RzV1swK0ZxEJF9Q== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-keys@1.0.8': + resolution: + { integrity: sha512-CJ1SlrwuoHMquhEEWS77E+4vv7hwB7XORkqzGQrPQmA9MRdIEZRS64bA4JqCLUDa4ltH0l+U1vp0oZHLT67NEA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-libp2p@1.3.3': + resolution: + { integrity: sha512-7kEoIlAGTIiUNJ/4vIFWx+j+iN4aco7O2PqH6ES3dTvX6sgvYxYFi83p1G/RDj8tHKO7jLfG3UmiwJc/Ab0VyA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-metrics@4.0.8': + resolution: + { integrity: sha512-1b9HjYyJH0m35kvPHipuoz2EtYCxyq34NUhuV8VK1VNtrouMpA3uCKp5FI7yHCA6V6+ux1R3UriKgNFOSGbIXQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-peer-discovery@1.1.1': + resolution: + { integrity: sha512-tjbt5DquTyP/JDskasPbIB3lk+zPVL8J9UPfrELZqlslJo9ufsMKyEXcTMMABclTvUsh6uSDgC0JUpUHTeCn8A== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-peer-discovery@2.0.0': + resolution: + { integrity: sha512-Mien5t3Tc+ntP5p50acKUYJN90ouMnq1lOTQDKQNvGcXoajG8A1AEYLocnzVia/MXiexuj6S/Q28WBBacoOlBg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-peer-id@2.0.2': + resolution: + { integrity: sha512-9pZp9zhTDoVwzRmp0Wtxw0Yfa//Yc0GqBCJi3EznBDE6HGIAVvppR91wSh2knt/0eYg0AQj7Y35VSesUTzMCUg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-peer-info@1.0.10': + resolution: + { integrity: sha512-HQlo8NwQjMyamCHJrnILEZz+YwEOXCB2sIIw3slIrhVUYeYlTaia1R6d9umaAeLHa255Zmdm4qGH8rJLRqhCcg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-peer-routing@1.1.1': + resolution: + { integrity: sha512-/XEhwob9qXjdmI8PBcc+qFin32xmtyoC58nRpq8RliqHY5uOVWiHfZoNtdOXIsNvzVvq5FqlHOWt71ofxXTtlg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-peer-store@1.2.9': + resolution: + { integrity: sha512-jAAlbP1NXpEJOG6Dbr0QdP71TBYjHBc/65Ulwdn4J4f04PW1bI4JIMQeq6+/sLfaGVryvvUT/a52io8UUtB21Q== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-peer-store@2.0.4': + resolution: + { integrity: sha512-jNvBK3O1JPJqSiDN2vkb+PV8bTPnYdP54nxsLtut1BWukNm610lwzwleV7CetFI4bJCn6g+BgBvvq8fdADy0tA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-pubsub@3.0.7': + resolution: + { integrity: sha512-+c74EVUBTfw2sx1GE/z/IjsYO6dhur+ukF0knAppeZsRQ1Kgg6K5R3eECtT28fC6dBWLjFpAvW/7QGfiDAL4RA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-pubsub@4.0.1': + resolution: + { integrity: sha512-PIc5V/J98Yr1ZTHh8lQshP7GdVUh+pKNIqj6wGaDmXs8oQLB40qKCjcpHQNlAnv2e1Bh9mEH2GXv5sGZOA651A== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-record@2.0.7': + resolution: + { integrity: sha512-AFPytZWI+p8FJWP0xuK5zbSjalLAOIMzEed2lBKdRWvdGBQUHt9ENLTkfkI9G7p/Pp3hlhVzzBXdIErKd+0GxQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-registrar@2.0.12': + resolution: + { integrity: sha512-EyCi2bycC2rn3oPB4Swr7EqBsvcaWd6RcqR6zsImNIG9BKc4/R1gl6iaF861JaELYgYmzBMS31x1rQpVz5UekQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-stream-muxer@3.0.6': + resolution: + { integrity: sha512-wbLrH/bdF8qe0CpPd3BFMSmUs085vc3/8zx5uhXJySD672enAc8Jw9gmAYd1pIqELdqJqBDg9EI0y1XMRxvVkw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface-transport@2.1.3': + resolution: + { integrity: sha512-ez+0X+w2Wyw3nJY6mP0DHFgrRnln/miAH4TJLcRfUSJHjGXH5ZfpuK1TnRxXpEUiqOezSbwke06/znI27KpRiQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/interface@0.1.6': + resolution: + { integrity: sha512-Lzc5cS/hXuoXhuAbVIxJIHLCYmfPcbU0vVgrpMoiP1Qb2Q3ETU4A46GB8s8mWXgSU6tr9RcqerUqzFYD6+OAag== } + + '@libp2p/interface@2.7.0': + resolution: + { integrity: sha512-lWmfIGzbSaw//yoEWWJh8dXNDGSCwUyXwC7P1Q6jCFWNoEtCaB1pvwOGBtri7Db/aNFZryMzN5covoq5ulldnA== } + + '@libp2p/interfaces@3.3.2': + resolution: + { integrity: sha512-p/M7plbrxLzuQchvNwww1Was7ZeGE2NaOFulMaZBYIihU8z3fhaV+a033OqnC/0NTX/yhfdNOG7znhYq3XoR/g== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/kad-dht@14.2.15': + resolution: + { integrity: sha512-iARZsaKrm9LlOE0nRTsqMasYGfWbh+zw1TAMWOY/QHTszFGb9ol7FZoI9WUzoif9ltKLu3BjJpy00b8CVofCBw== } + + '@libp2p/kad-dht@7.0.3': + resolution: + { integrity: sha512-fDnqAWyGCF+rb572XnW1/dEXni83dklWGjT5xJFRLCSu8RSkqVCJhn9zSIoaUv8sTUXWSKQUgQ0yzMIJfUfxjA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/keychain@5.1.4': + resolution: + { integrity: sha512-0TyZSopKMX7npEEAAwyrm81BKURVx7pCvtlNvyroTd4Biyy6vV6GKwjSyBoNX9OYE7dRu8bDF0KH5sr1oxC0sg== } + + '@libp2p/logger@2.1.1': + resolution: + { integrity: sha512-2UbzDPctg3cPupF6jrv6abQnAUTrbLybNOj0rmmrdGm1cN2HJ1o/hBu0sXuq4KF9P1h/eVRn1HIRbVIEKnEJrA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/logger@3.1.0': + resolution: + { integrity: sha512-qJbJBAhxHVsRBtQSOIkSLi0lskUSFjzE+zm0QvoyxzZKSz+mX41mZLbnofPIVOVauoDQ40dXpe7WDUOq8AbiQQ== } + + '@libp2p/logger@5.1.13': + resolution: + { integrity: sha512-JKyMlySG8T+LpItsj9Vma57yap/A0HqJ8ZdaHvgdoThhSOfqcRs8oRWO/2EG0Q5hUXugw//EAT+Ptj8MyNdbjQ== } + + '@libp2p/mdns@11.0.32': + resolution: + { integrity: sha512-gMJePsHTND9o+S7A64tMt/vi5d/pBp7Tk1b1t5qq5JEzdeP64D0sW09pjEQ8b6U0OJxJ2pnKjxyYn0kEnE2eMQ== } + + '@libp2p/mdns@6.0.0': + resolution: + { integrity: sha512-k5Gi0IrPi3roPHF71xlq9x69TxqjMNZ+JiM7hFV0kjRYmaLqYQ+dOTLJLUd5ZfnrxIe8KkapFw3zwKne4Dw4rA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/mplex@11.0.32': + resolution: + { integrity: sha512-91YZkr7N66pdrUDjX7KhevrafWt1ILY/jG5OlCX3RNNIOeguGxmNgdTF8o41JoK660lnI3OCCAN9mSE5cLLzGg== } + + '@libp2p/mplex@7.1.7': + resolution: + { integrity: sha512-8eJ6HUL3bM8ck0rb/NJ04+phBUVBMocxH/kuc2Nypn8RX9ezihV7srGGhG5N7muaMwJrRbYkFhIV4GH+8WTZUg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + deprecated: Mplex has no flow control - please use @chainsafe/libp2p-yamux instead + + '@libp2p/multistream-select@3.1.9': + resolution: + { integrity: sha512-iSNqr8jXvOrkNTyA43h/ARs4wd0Rd55/D6oFRndLcV4yQSUMmfjl7dUcbC5MAw+5/sgskfDx9TMawSwNq47Qwg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/multistream-select@6.0.20': + resolution: + { integrity: sha512-DHObPodBZXNUFiMzMX0KSnkbDM6am4G8GfkfYPpmx+yuleuutiJrmN95Xt9ximhn9m+YtEZWB2Je8+Lb0bwIYQ== } + + '@libp2p/peer-collections@3.0.2': + resolution: + { integrity: sha512-3vRVMWVRCF6dVs/1/CHbw4YSv83bcqjZuAt9ZQHW85vn6OfHNFQesOHWT1TbRBuL8TSb//IwJkOfTAVLd6Mymw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/peer-collections@6.0.25': + resolution: + { integrity: sha512-sU6mjwANQvVPgTgslRZvxZ6cYzQJ66QmNHm6mrM0cx03Yf1heWnvL28N/P781nGsUjo1cJD7xB5ctAGk6A/lXw== } + + '@libp2p/peer-id-factory@2.0.4': + resolution: + { integrity: sha512-+0D+oklFzHpjRI3v7uw3PMMx00P36DV7YvAgL0+gpos0VzR/BI9tRiM6dpObZTrQ1hxp78F03p+qR1Zy9Qnmuw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/peer-id@2.0.4': + resolution: + { integrity: sha512-gcOsN8Fbhj6izIK+ejiWsqiqKeJ2yWPapi/m55VjOvDa52/ptQzZszxQP8jUk93u36de92ATFXDfZR/Bi6eeUQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/peer-id@3.0.6': + resolution: + { integrity: sha512-iN1Ia5gH2U1V/GOVRmLHmVY6fblxzrOPUoZrMYjHl/K4s+AiI7ym/527WDeQvhQpD7j3TfDwcAYforD2dLGpLw== } + + '@libp2p/peer-id@5.1.0': + resolution: + { integrity: sha512-9Xob9DDg1uBboM2QvJ5nyPbsjxsNS9obmGAYeAtLSx5aHAIC4AweJQFHssUUCfW7mufkzX/s3zyR62XPR4SYyQ== } + + '@libp2p/peer-record@5.0.4': + resolution: + { integrity: sha512-e+AArf7pwMLqF24mehTe1OYjr1v0SOKshVrI1E9YH/Cb1F3ZZuK3smyGmnLaS4JlqsarRCMSe3V50tRkqMFY7g== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/peer-record@8.0.25': + resolution: + { integrity: sha512-IFuAhxzMS/NlXZS7+vn7tTJY32ODtKN/aFBRd1wekAw5DebGtvqkt9mN3UbeXJPesu9w87e4Q8GSarD0URXRlw== } + + '@libp2p/peer-store@11.1.2': + resolution: + { integrity: sha512-2egfDs6j+uvreBrzChf5xwNe0kQgYhuaOBx3rVgCAHxuJyXK6/lK+PpEH3Cfgad+if388mII58MU5gzpbawsaw== } + + '@libp2p/peer-store@6.0.4': + resolution: + { integrity: sha512-yw7XbeJ5k880PpkDV/HcSZtj0vQ0ShPbnCzVHc1hW0JS/g1vhpSooAZOf3w65obUoFhUwccnSZ4HSLBSpQqOaA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/ping@2.0.27': + resolution: + { integrity: sha512-UwkiEJkdKY/4ncwLxMeo1A0DMXMFPTOE39qFovIkEVZI+hLmwMGo9d6kaEVaNL7lyCPFvZmT28RAyK2wOqVZQg== } + + '@libp2p/prometheus-metrics@1.1.5': + resolution: + { integrity: sha512-45tQ3ipKynFGRYac4rNOsvSgsznpDceNpoiaZ5jyjGKrP+qbA1XdzxeDSWYVIkA0GtdxQJyupV5DsB/jpBWzAg== } + engines: { node: '>=18.0.0', npm: '>=8.6.0' } + + '@libp2p/pubsub@10.1.8': + resolution: + { integrity: sha512-y73boBSCWhykhAA21Rve6CFZaCw7qoDIUffbXz9elOlnOIr7M+1kS2fO6yamwWe5EWLZzGLq315JHeaOtWrugw== } + + '@libp2p/pubsub@6.0.6': + resolution: + { integrity: sha512-/JU4xvtZIYDxOyiHIk4MlpnAJuqfZsabDP+4f59QlXNsppOmiIujaDhN3eFBFIKG29XDSgHZBzKMLK+XsB8O5g== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/record@3.0.4': + resolution: + { integrity: sha512-cVefFlnlvuxkLwPnHvSDF05HT6PyBM33eBi0BtJ7ocbZTtN4hY44DNmkM0z3ht9/9blSQ9e12gXV6nePH4Q4AA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/record@4.0.5': + resolution: + { integrity: sha512-HfKugY+ZKizhxE/hbLqI8zcFLfYly2gakaL0k8wBXCfmOTrAV7UajeJWkWqrKkIEMHASUyapm746KF+i9e7Xmw== } + + '@libp2p/tcp@10.1.8': + resolution: + { integrity: sha512-O146gLsAKDD7Fp6MaaLREmWgp0nP2ju5TGKy5WThi8iKFFQ4mLWWb2QY8BFV1Drk6E/6boSgaDz1swqKypYAvA== } + + '@libp2p/tcp@6.2.2': + resolution: + { integrity: sha512-5pLQDSUI+6qtAvh7pYgjqXFuFqzZ/AGL3BSX4C2oa+vWGIbooTZK3Mizp+iO0yHomVJ1y3V8AXXH8ddWdFqDpQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/tls@2.1.1': + resolution: + { integrity: sha512-BTkjDijVyatb1qjTtTZfYbt9778nwqst+ZayWMWW6B5tJQgVz8cW8DXeVtMPuGWyO79KHmMao43jE866PYsuRg== } + + '@libp2p/topology@4.0.3': + resolution: + { integrity: sha512-uXd9ZYpmgb+onMTypsAPUlvKKeY20HMtxwsjAMEfDa29yqshK8DiEunHZNjLmtXaMIIO9CBl2w5ykjt5TtFsBQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/tracked-map@3.0.4': + resolution: + { integrity: sha512-G5ElrjFoubP10TwQo3dnRVaxhshU9wtu86qq0cIXNv12XCFpvTvx12Vbf8sV1SU5imrWgd6XQgfRKsQtjmu3Ew== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/upnp-nat@3.1.11': + resolution: + { integrity: sha512-rI1unUh7dz6TSOw7M94tv31f74sMQ+wY974yt0m6RIgMzNOSO0L6YhYCxdFLO39Ybf+Pxw0RKdvZBvokxBZoEw== } + + '@libp2p/utils@3.0.13': + resolution: + { integrity: sha512-SNwIcQq/FvLpqVsjHHzbxSq7VgbbUK9EB7/865Re4NoLfqgE/6oTUpyPEDlrcJb4aTPFWbVPQzE85cA3raHIIw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/utils@6.6.0': + resolution: + { integrity: sha512-QjS1+r+jInOxULjdATBc1N/gorUWUoJqEKxpqTcB2wOwCipzB58RYR3n3QPeoRHj1mVMhZujE1dTbmK/Nafhqg== } + + '@libp2p/webrtc-peer@2.0.2': + resolution: + { integrity: sha512-FozliUqHO1CIzrL8hPc5uT+5AGUWf5Dw3HncL9tte/CoDNVpj6O59ITIRWefssp3oIGEAIjpcebNu1d+mYfVug== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/webrtc-star-protocol@3.0.0': + resolution: + { integrity: sha512-MavrZVQwPgyOf8ymJfzjkpFeiMkv103e4v1pmgO2/Ld0UFZWjx0CPbwpwvFcCeFMOt+O9/S3NUdxNTgkbm9gTA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/webrtc-star@6.0.0': + resolution: + { integrity: sha512-J3WJUXcMSRNOLcuxRV/oMZ2EFZYmX57G+oRSZb0jHpjnBZOcz4QXQh5+5o7sw0+M2FtJUTXs3jlCmsBAPHExew== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/webrtc@5.2.9': + resolution: + { integrity: sha512-+klNGfjTw2E0AovQl8/TnkMoMtPiSqy9uA7wOrWpwY8xc1NcaG0xo89b4WwvjVGMQdcti/gFGqQIJqU0wBkmew== } + + '@libp2p/websockets@5.0.10': + resolution: + { integrity: sha512-q8aKm0rhDxZjc4TzDpB0quog4pViFnz+Ok+UbGEk3xXxHwT3QCxaDVPKMemMqN/1N3OahVvcodpcvFSuWmus+A== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@libp2p/websockets@9.2.8': + resolution: + { integrity: sha512-G4hOu3KDESFfNEvhLpGA0Dan8wRq7s5MtXfbCBnlSgbsWR3qZhQs6WdGaRd3T6Y038tGjmgKNJ3NS8+CbklwKw== } + + '@multiformats/dns@1.0.6': + resolution: + { integrity: sha512-nt/5UqjMPtyvkG9BQYdJ4GfLK3nMqGpFZOzf4hAmIa0sJh2LlS9YKXZ4FgwBDsaHvzZqR/rUFIywIc7pkHNNuw== } + + '@multiformats/mafmt@11.1.2': + resolution: + { integrity: sha512-3n1o5eLU7WzTAPLuz3AodV7Iql6NWf7Ws8fqVaGT7o5nDDabUPYGBm2cZuh3OrqmwyCY61LrNUIsjzivU6UdpQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@multiformats/mafmt@12.1.6': + resolution: + { integrity: sha512-tlJRfL21X+AKn9b5i5VnaTD6bNttpSpcqwKVmDmSHLwxoz97fAHaepqFOk/l1fIu94nImIXneNbhsJx/RQNIww== } + + '@multiformats/multiaddr-matcher@1.7.0': + resolution: + { integrity: sha512-WfobrJy7XLaYL7PQ3IcFoXdGN5jmdv5FsuKQkZIIreC1pSR4Q9PSOWu2ULxP/M2JT738Xny0PFoCke0ENbyfww== } + + '@multiformats/multiaddr-to-uri@11.0.0': + resolution: + { integrity: sha512-9RNmlIGwZbBLsHekT50dbt4o4u8Iciw9kGjv+WHiGxQdsJ6xKKjU1+C0Vbas6RilMbaVOAOnEyfNcXbUmTkLxQ== } + + '@multiformats/multiaddr-to-uri@9.0.8': + resolution: + { integrity: sha512-4eiN5iEiQfy2A98BxekUfW410L/ivg0sgjYSgSqmklnrBhK+QyMz4yqgfkub8xDTXOc7O5jp4+LVyM3ZqMeWNw== } + + '@multiformats/multiaddr@11.6.1': + resolution: + { integrity: sha512-doST0+aB7/3dGK9+U5y3mtF3jq85KGbke1QiH0KE1F5mGQ9y56mFebTeu2D9FNOm+OT6UHb8Ss8vbSnpGjeLNw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@multiformats/multiaddr@12.4.0': + resolution: + { integrity: sha512-FL7yBTLijJ5JkO044BGb2msf+uJLrwpD6jD6TkXlbjA9N12+18HT40jvd4o5vL4LOJMc86dPX6tGtk/uI9kYKg== } + + '@multiformats/murmur3@2.1.8': + resolution: + { integrity: sha512-6vId1C46ra3R1sbJUOFCZnsUIveR9oF20yhPmAFxPm0JfrX3/ZRCgP3YDrBzlGoEppOXnA9czHeYc0T9mB6hbA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + '@multiformats/uri-to-multiaddr@8.1.0': + resolution: + { integrity: sha512-NHFqdKEwJ0A6JDXzC645Lgyw72zWhbM1QfaaD00ZYRrNvtx64p1bD9aIrWZIhLWZN87/lsV4QkJSNRF3Fd3ryw== } + + '@noble/ciphers@1.2.1': + resolution: + { integrity: sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA== } + engines: { node: ^14.21.3 || >=16 } + + '@noble/curves@1.2.0': + resolution: + { integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== } + + '@noble/curves@1.8.1': + resolution: + { integrity: sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== } + engines: { node: ^14.21.3 || >=16 } + + '@noble/ed25519@1.7.3': + resolution: + { integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ== } + + '@noble/hashes@1.3.2': + resolution: + { integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== } + engines: { node: '>= 16' } + + '@noble/hashes@1.7.1': + resolution: + { integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== } + engines: { node: ^14.21.3 || >=16 } + + '@noble/secp256k1@1.7.1': + resolution: + { integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== } + + '@nodelib/fs.scandir@2.1.5': + resolution: + { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } + engines: { node: '>= 8' } + + '@nodelib/fs.stat@2.0.5': + resolution: + { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } + engines: { node: '>= 8' } + + '@nodelib/fs.walk@1.2.8': + resolution: + { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } + engines: { node: '>= 8' } + + '@orbitdb/core-types@1.0.14': + resolution: + { integrity: sha512-Mq+o9zMw8n1kD3eMOQZZ/XG9TnQ8HqUInmduBfMidPXFSQVrvVtTAxyFpHk+2+FMf6BTj1xhrAUCEZlcvYebeQ== } + + '@orbitdb/core@2.5.0': + resolution: + { integrity: sha512-RE+te/z8MCLhkawby2j9J0T0hH8Mi9BgTUATWd99ih/cyU9OTbbXVuY64A64bdAQ4EZkfJ+OjO9vAMhJHwgnew== } + engines: { node: '>=20.0.0' } + + '@orbitdb/feed-db@1.1.2': + resolution: + { integrity: sha512-o+9SBiVWdbvBWQyGRXUajTq75uDQqRzLafbn2dGMshsU8ibWAllxpOhHXojaDyJRUGXxjt25LkbLFQGQQGiBEQ== } + + '@peculiar/asn1-cms@2.3.15': + resolution: + { integrity: sha512-B+DoudF+TCrxoJSTjjcY8Mmu+lbv8e7pXGWrhNp2/EGJp9EEcpzjBCar7puU57sGifyzaRVM03oD5L7t7PghQg== } + + '@peculiar/asn1-csr@2.3.15': + resolution: + { integrity: sha512-caxAOrvw2hUZpxzhz8Kp8iBYKsHbGXZPl2KYRMIPvAfFateRebS3136+orUpcVwHRmpXWX2kzpb6COlIrqCumA== } + + '@peculiar/asn1-ecc@2.3.15': + resolution: + { integrity: sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA== } + + '@peculiar/asn1-pfx@2.3.15': + resolution: + { integrity: sha512-E3kzQe3J2xV9DP6SJS4X6/N1e4cYa2xOAK46VtvpaRk8jlheNri8v0rBezKFVPB1rz/jW8npO+u1xOvpATFMWg== } + + '@peculiar/asn1-pkcs8@2.3.15': + resolution: + { integrity: sha512-/PuQj2BIAw1/v76DV1LUOA6YOqh/UvptKLJHtec/DQwruXOCFlUo7k6llegn8N5BTeZTWMwz5EXruBw0Q10TMg== } + + '@peculiar/asn1-pkcs9@2.3.15': + resolution: + { integrity: sha512-yiZo/1EGvU1KiQUrbcnaPGWc0C7ElMMskWn7+kHsCFm+/9fU0+V1D/3a5oG0Jpy96iaXggQpA9tzdhnYDgjyFg== } + + '@peculiar/asn1-rsa@2.3.15': + resolution: + { integrity: sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg== } + + '@peculiar/asn1-schema@2.3.15': + resolution: + { integrity: sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w== } + + '@peculiar/asn1-x509-attr@2.3.15': + resolution: + { integrity: sha512-TWJVJhqc+IS4MTEML3l6W1b0sMowVqdsnI4dnojg96LvTuP8dga9f76fjP07MUuss60uSyT2ckoti/2qHXA10A== } + + '@peculiar/asn1-x509@2.3.15': + resolution: + { integrity: sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg== } + + '@peculiar/json-schema@1.1.12': + resolution: + { integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w== } + engines: { node: '>=8.0.0' } + + '@peculiar/webcrypto@1.5.0': + resolution: + { integrity: sha512-BRs5XUAwiyCDQMsVA9IDvDa7UBR9gAvPHgugOeGng3YN6vJ9JYonyDc0lNczErgtCWtucjR5N7VtaonboD/ezg== } + engines: { node: '>=10.12.0' } + + '@peculiar/x509@1.12.3': + resolution: + { integrity: sha512-+Mzq+W7cNEKfkNZzyLl6A6ffqc3r21HGZUezgfKxpZrkORfOqgRXnS80Zu0IV6a9Ue9QBJeKD7kN0iWfc3bhRQ== } + + '@pkgjs/parseargs@0.11.0': + resolution: + { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } + engines: { node: '>=14' } + + '@pkgr/core@0.2.0': + resolution: + { integrity: sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ== } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + + '@protobufjs/aspromise@1.1.2': + resolution: + { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } + + '@protobufjs/base64@1.1.2': + resolution: + { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } + + '@protobufjs/codegen@2.0.4': + resolution: + { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } + + '@protobufjs/eventemitter@1.1.0': + resolution: + { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } + + '@protobufjs/fetch@1.1.0': + resolution: + { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } + + '@protobufjs/float@1.0.2': + resolution: + { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } + + '@protobufjs/inquire@1.1.0': + resolution: + { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } + + '@protobufjs/path@1.1.2': + resolution: + { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } + + '@protobufjs/pool@1.1.0': + resolution: + { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } + + '@protobufjs/utf8@1.1.0': + resolution: + { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } + + '@react-native/assets-registry@0.78.1': + resolution: + { integrity: sha512-SegfYQFuut05EQIQIVB/6QMGaxJ29jEtPmzFWJdIp/yc2mmhIq7MfWRjwOe6qbONzIdp6Ca8p835hiGiAGyeKQ== } + engines: { node: '>=18' } + + '@react-native/babel-plugin-codegen@0.78.1': + resolution: + { integrity: sha512-rD0tnct/yPEtoOc8eeFHIf8ZJJJEzLkmqLs8HZWSkt3w9VYWngqLXZxiDGqv0ngXjunAlC/Hpq+ULMVOvOnByw== } + engines: { node: '>=18' } + + '@react-native/babel-preset@0.78.1': + resolution: + { integrity: sha512-yTVcHmEdNQH4Ju7lhvbiQaGxBpMcalgkBy/IvHowXKk/ex3nY1PolF16/mBG1BrefcUA/rtJpqTtk2Ii+7T/Lw== } + engines: { node: '>=18' } + peerDependencies: + '@babel/core': '*' + + '@react-native/codegen@0.78.1': + resolution: + { integrity: sha512-kGG5qAM9JdFtxzUwe7c6CyJbsU2PnaTrtCHA2dF8VEiNX1K3yd9yKPzfkxA7HPvmHoAn3ga1941O79BStWcM3A== } + engines: { node: '>=18' } + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/community-cli-plugin@0.78.1': + resolution: + { integrity: sha512-S6vF4oWpFqThpt/dBLrqLQw5ED2M1kg5mVtiL6ZqpoYIg+/e0vg7LZ8EXNbcdMDH4obRnm2xbOd+qlC7mOzNBg== } + engines: { node: '>=18' } + peerDependencies: + '@react-native-community/cli': '*' + peerDependenciesMeta: + '@react-native-community/cli': + optional: true + + '@react-native/debugger-frontend@0.78.1': + resolution: + { integrity: sha512-xev/B++QLxSDpEBWsc74GyCuq9XOHYTBwcGSpsuhOJDUha6WZIbEEvZe3LpVW+OiFso4oGIdnVSQntwippZdWw== } + engines: { node: '>=18' } + + '@react-native/dev-middleware@0.78.1': + resolution: + { integrity: sha512-l8p7/dXa1vWPOdj0iuACkex8lgbLpYyPZ3QXGkocMcpl0bQ24K7hf3Bj02tfptP5PAm16b2RuEi04sjIGHUzzg== } + engines: { node: '>=18' } + + '@react-native/gradle-plugin@0.78.1': + resolution: + { integrity: sha512-v8GJU+8DzQDWO3iuTFI1nbuQ/kzuqbXv07VVtSIMLbdofHzuuQT14DGBacBkrIDKBDTVaBGAc/baDNsyxCghng== } + engines: { node: '>=18' } + + '@react-native/js-polyfills@0.78.1': + resolution: + { integrity: sha512-Ogcv4QOA1o3IyErrf/i4cDnP+nfNcIfGTgw6iNQyAPry1xjPOz4ziajskLpWG/3ADeneIZuyZppKB4A28rZSvg== } + engines: { node: '>=18' } + + '@react-native/metro-babel-transformer@0.78.1': + resolution: + { integrity: sha512-jQWf69D+QTMvSZSWLR+cr3VUF16rGB6sbD+bItD8Czdfn3hajzfMoHJTkVFP7991cjK5sIVekNiQIObou8JSQw== } + engines: { node: '>=18' } + peerDependencies: + '@babel/core': '*' + + '@react-native/normalize-colors@0.78.1': + resolution: + { integrity: sha512-h4wARnY4iBFgigN1NjnaKFtcegWwQyE9+CEBVG4nHmwMtr8lZBmc7ZKIM6hUc6lxqY/ugHg48aSQSynss7mJUg== } + + '@react-native/virtualized-lists@0.78.1': + resolution: + { integrity: sha512-v0jqDNMFXpnRnSlkDVvwNxXgPhifzzTFlxTSnHj9erKJsKpE26gSU5qB4hmJkEsscLG/ygdJ1c88aqinSh/wRA== } + engines: { node: '>=18' } + peerDependencies: + '@types/react': ^19.0.0 + react: '*' + react-native: '*' + peerDependenciesMeta: + '@types/react': + optional: true + + '@sinclair/typebox@0.27.8': + resolution: + { integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== } + + '@sindresorhus/fnv1a@3.1.0': + resolution: + { integrity: sha512-KV321z5m/0nuAg83W1dPLy85HpHDk7Sdi4fJbwvacWsEhAh+rZUW4ZfGcXmUIvjZg4ss2bcwNlRhJ7GBEUG08w== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + '@sinonjs/commons@3.0.1': + resolution: + { integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== } + + '@sinonjs/fake-timers@10.3.0': + resolution: + { integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== } + + '@socket.io/component-emitter@3.1.2': + resolution: + { integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== } + + '@solana/buffer-layout@4.0.1': + resolution: + { integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== } + engines: { node: '>=5.10' } + + '@solana/web3.js@1.98.0': + resolution: + { integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA== } + + '@stablelib/aead@1.0.1': + resolution: + { integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== } + + '@stablelib/binary@1.0.1': + resolution: + { integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== } + + '@stablelib/bytes@1.0.1': + resolution: + { integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== } + + '@stablelib/chacha20poly1305@1.0.1': + resolution: + { integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== } + + '@stablelib/chacha@1.0.1': + resolution: + { integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== } + + '@stablelib/constant-time@1.0.1': + resolution: + { integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== } + + '@stablelib/hash@1.0.1': + resolution: + { integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== } + + '@stablelib/hkdf@1.0.1': + resolution: + { integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== } + + '@stablelib/hmac@1.0.1': + resolution: + { integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== } + + '@stablelib/int@1.0.1': + resolution: + { integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== } + + '@stablelib/keyagreement@1.0.1': + resolution: + { integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== } + + '@stablelib/poly1305@1.0.1': + resolution: + { integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== } + + '@stablelib/random@1.0.2': + resolution: + { integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== } + + '@stablelib/sha256@1.0.1': + resolution: + { integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== } + + '@stablelib/wipe@1.0.1': + resolution: + { integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== } + + '@stablelib/x25519@1.0.3': + resolution: + { integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== } + + '@swc/helpers@0.5.15': + resolution: + { integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== } + + '@topoconfig/extends@0.16.2': + resolution: + { integrity: sha512-sTF+qpWakr5jf1Hn/kkFSi833xPW15s/loMAiKSYSSVv4vDonxf6hwCGzMXjLq+7HZoaK6BgaV72wXr1eY7FcQ== } + hasBin: true + + '@tsconfig/node10@1.0.11': + resolution: + { integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== } + + '@tsconfig/node12@1.0.11': + resolution: + { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + + '@tsconfig/node14@1.0.3': + resolution: + { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + + '@tsconfig/node16@1.0.4': + resolution: + { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } + + '@types/babel__core@7.20.5': + resolution: + { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } + + '@types/babel__generator@7.6.8': + resolution: + { integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== } + + '@types/babel__template@7.4.4': + resolution: + { integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== } + + '@types/babel__traverse@7.20.7': + resolution: + { integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== } + + '@types/body-parser@1.19.5': + resolution: + { integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== } + + '@types/connect@3.4.38': + resolution: + { integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== } + + '@types/cors@2.8.17': + resolution: + { integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== } + + '@types/dns-packet@5.6.5': + resolution: + { integrity: sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q== } + + '@types/estree@1.0.7': + resolution: + { integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== } + + '@types/express-serve-static-core@5.0.6': + resolution: + { integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA== } + + '@types/express@5.0.1': + resolution: + { integrity: sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ== } + + '@types/filesize-parser@1.5.3': + resolution: + { integrity: sha512-D8veS92mQAfcKz5kbV9WINfKvvaxVfQHqnO3OWW6FxdYTZozDDb8mTLWCsvEqe8M/M7skeULTZzYeMf3Lsss+A== } + + '@types/graceful-fs@4.1.9': + resolution: + { integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== } + + '@types/http-errors@2.0.4': + resolution: + { integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== } + + '@types/inquirer@9.0.7': + resolution: + { integrity: sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g== } + + '@types/istanbul-lib-coverage@2.0.6': + resolution: + { integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== } + + '@types/istanbul-lib-report@3.0.3': + resolution: + { integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== } + + '@types/istanbul-reports@3.0.4': + resolution: + { integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== } + + '@types/json-schema@7.0.15': + resolution: + { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } + + '@types/long@4.0.2': + resolution: + { integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== } + + '@types/mime@1.3.5': + resolution: + { integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== } + + '@types/minimatch@3.0.5': + resolution: + { integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== } + + '@types/morgan@1.9.9': + resolution: + { integrity: sha512-iRYSDKVaC6FkGSpEVVIvrRGw0DfJMiQzIn3qr2G5B3C//AWkulhXgaBd7tS9/J79GWSYMTHGs7PfI5b3Y8m+RQ== } + + '@types/multer@1.4.12': + resolution: + { integrity: sha512-pQ2hoqvXiJt2FP9WQVLPRO+AmiIm/ZYkavPlIQnx282u4ZrVdztx0pkh3jjpQt0Kz+YI0YhSG264y08UJKoUQg== } + + '@types/multicast-dns@7.2.4': + resolution: + { integrity: sha512-ib5K4cIDR4Ro5SR3Sx/LROkMDa0BHz0OPaCBL/OSPDsAXEGZ3/KQeS6poBKYVN7BfjXDL9lWNwzyHVgt/wkyCw== } + + '@types/node-forge@1.3.11': + resolution: + { integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== } + + '@types/node@12.20.55': + resolution: + { integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== } + + '@types/node@18.19.86': + resolution: + { integrity: sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ== } + + '@types/node@20.17.28': + resolution: + { integrity: sha512-DHlH/fNL6Mho38jTy7/JT7sn2wnXI+wULR6PV4gy4VHLVvnrV/d3pHAMQHhc4gjdLmK2ZiPoMxzp6B3yRajLSQ== } + + '@types/node@22.13.14': + resolution: + { integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w== } + + '@types/node@22.7.5': + resolution: + { integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== } + + '@types/qs@6.9.18': + resolution: + { integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA== } + + '@types/range-parser@1.2.7': + resolution: + { integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== } + + '@types/retry@0.12.1': + resolution: + { integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== } + + '@types/retry@0.12.2': + resolution: + { integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== } + + '@types/send@0.17.4': + resolution: + { integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== } + + '@types/serve-static@1.15.7': + resolution: + { integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== } + + '@types/sinon@17.0.4': + resolution: + { integrity: sha512-RHnIrhfPO3+tJT0s7cFaXGZvsL4bbR3/k7z3P312qMS4JaS2Tk+KiwiLx1S0rQ56ERj00u1/BtdyVd0FY+Pdew== } + + '@types/sinonjs__fake-timers@8.1.5': + resolution: + { integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ== } + + '@types/stack-utils@2.0.3': + resolution: + { integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== } + + '@types/through@0.0.33': + resolution: + { integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ== } + + '@types/triple-beam@1.3.5': + resolution: + { integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw== } + + '@types/unzipper@0.10.11': + resolution: + { integrity: sha512-D25im2zjyMCcgL9ag6N46+wbtJBnXIr7SI4zHf9eJD2Dw2tEB5e+p5MYkrxKIVRscs5QV0EhtU9rgXSPx90oJg== } + + '@types/uuid@10.0.0': + resolution: + { integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ== } + + '@types/uuid@8.3.4': + resolution: + { integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== } + + '@types/ws@7.4.7': + resolution: + { integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== } + + '@types/ws@8.18.0': + resolution: + { integrity: sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw== } + + '@types/yargs-parser@21.0.3': + resolution: + { integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== } + + '@types/yargs@17.0.33': + resolution: + { integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== } + + '@typescript-eslint/eslint-plugin@8.29.0': + resolution: + { integrity: sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/parser@8.29.0': + resolution: + { integrity: sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/scope-manager@8.29.0': + resolution: + { integrity: sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@typescript-eslint/type-utils@8.29.0': + resolution: + { integrity: sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/types@8.29.0': + resolution: + { integrity: sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@typescript-eslint/typescript-estree@8.29.0': + resolution: + { integrity: sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/utils@8.29.0': + resolution: + { integrity: sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/visitor-keys@8.29.0': + resolution: + { integrity: sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + '@ungap/structured-clone@1.3.0': + resolution: + { integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== } + + '@vascosantos/moving-average@1.1.0': + resolution: + { integrity: sha512-MVEJ4vWAPNbrGLjz7ITnHYg+YXZ6ijAqtH5/cHwSoCpbvuJ98aLXwFfPKAUfZpJMQR5uXB58UJajbY130IRF/w== } + + JSONStream@1.3.5: + resolution: + { integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== } + hasBin: true + + abort-controller@3.0.0: + resolution: + { integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== } + engines: { node: '>=6.5' } + + abort-error@1.0.1: + resolution: + { integrity: sha512-fxqCblJiIPdSXIUrxI0PL+eJG49QdP9SQ70qtB65MVAoMr2rASlOyAbJFOylfB467F/f+5BCLJJq58RYi7mGfg== } + + abortable-iterator@4.0.3: + resolution: + { integrity: sha512-GJ5fyS9O0hK/TMf+weR+WMEwSEBWVuStHqHmUYWbfHPULyVf7QdUnAvh41+1cUWtHVf0Z/qtQynidxz4ZFDPOg== } + + abortable-iterator@5.1.0: + resolution: + { integrity: sha512-a3nRG0GOGw3IPFA2hdhrZU+QuD3mA6i+5f4YM/Obe+D5lYccxScI32rAIHAW5ttFV7+beiof09gHav4qUEZDwg== } + + abstract-level@1.0.4: + resolution: + { integrity: sha512-eUP/6pbXBkMbXFdx4IH2fVgvB7M0JvR7/lIL33zcs0IBcwjdzSSl31TOJsaCzmKSSDF9h8QYSOJux4Nd4YJqFg== } + engines: { node: '>=12' } + + accepts@1.3.8: + resolution: + { integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== } + engines: { node: '>= 0.6' } + + accepts@2.0.0: + resolution: + { integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== } + engines: { node: '>= 0.6' } + + acme-client@5.4.0: + resolution: + { integrity: sha512-mORqg60S8iML6XSmVjqjGHJkINrCGLMj2QvDmFzI9vIlv1RGlyjmw3nrzaINJjkNsYXC41XhhD5pfy7CtuGcbA== } + engines: { node: '>= 16' } + + acorn-jsx@5.3.2: + resolution: + { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: + { integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== } + engines: { node: '>=0.4.0' } + + acorn@8.14.1: + resolution: + { integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== } + engines: { node: '>=0.4.0' } + hasBin: true + + aes-js@4.0.0-beta.5: + resolution: + { integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== } + + agent-base@6.0.2: + resolution: + { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } + engines: { node: '>= 6.0.0' } + + agent-base@7.1.3: + resolution: + { integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== } + engines: { node: '>= 14' } + + agentkeepalive@4.6.0: + resolution: + { integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ== } + engines: { node: '>= 8.0.0' } + + ajv@6.12.6: + resolution: + { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + + anser@1.4.10: + resolution: + { integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww== } + + ansi-escapes@4.3.2: + resolution: + { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } + engines: { node: '>=8' } + + ansi-escapes@7.0.0: + resolution: + { integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw== } + engines: { node: '>=18' } + + ansi-regex@5.0.1: + resolution: + { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } + engines: { node: '>=8' } + + ansi-regex@6.1.0: + resolution: + { integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== } + engines: { node: '>=12' } + + ansi-styles@4.3.0: + resolution: + { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } + engines: { node: '>=8' } + + ansi-styles@5.2.0: + resolution: + { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } + engines: { node: '>=10' } + + ansi-styles@6.2.1: + resolution: + { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } + engines: { node: '>=12' } + + any-signal@3.0.1: + resolution: + { integrity: sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg== } + + any-signal@4.1.1: + resolution: + { integrity: sha512-iADenERppdC+A2YKbOXXB2WUeABLaM6qnpZ70kZbPZ1cZMMJ7eF+3CaYm+/PhBizgkzlvssC7QuHS30oOiQYWA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + anymatch@3.1.3: + resolution: + { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } + engines: { node: '>= 8' } + + append-field@1.0.0: + resolution: + { integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw== } + + arg@4.1.3: + resolution: + { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + + argparse@1.0.10: + resolution: + { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } + + argparse@2.0.1: + resolution: + { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + + array-flatten@1.1.1: + resolution: + { integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== } + + array-shuffle@3.0.0: + resolution: + { integrity: sha512-rogEGxHOQPhslOhpg12LJkB+bbAl484/s2AJq0BxtzQDQfKl76fS2u9zWgg3p3b9ENcuvE7K8A7l5ddiPjCRnw== } + engines: { node: '>=12.20' } + + array-union@2.1.0: + resolution: + { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } + engines: { node: '>=8' } + + asap@2.0.6: + resolution: + { integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== } + + asn1@0.2.6: + resolution: + { integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== } + + asn1js@3.0.6: + resolution: + { integrity: sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA== } + engines: { node: '>=12.0.0' } + + ast-types@0.16.1: + resolution: + { integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg== } + engines: { node: '>=4' } + + async-limiter@1.0.1: + resolution: + { integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== } + + async@3.2.6: + resolution: + { integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== } + + asynckit@0.4.0: + resolution: + { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } + + at-least-node@1.0.0: + resolution: + { integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== } + engines: { node: '>= 4.0.0' } + + axios@1.8.4: + resolution: + { integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== } + + babel-jest@29.7.0: + resolution: + { integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: + { integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== } + engines: { node: '>=8' } + + babel-plugin-jest-hoist@29.6.3: + resolution: + { integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + babel-plugin-polyfill-corejs2@0.4.13: + resolution: + { integrity: sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== } + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.11.1: + resolution: + { integrity: sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== } + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.4: + resolution: + { integrity: sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== } + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-syntax-hermes-parser@0.25.1: + resolution: + { integrity: sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ== } + + babel-plugin-transform-flow-enums@0.0.2: + resolution: + { integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ== } + + babel-preset-current-node-syntax@1.1.0: + resolution: + { integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== } + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: + { integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: + { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + + base-x@3.0.11: + resolution: + { integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA== } + + base64-js@1.5.1: + resolution: + { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + + base64id@2.0.0: + resolution: + { integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== } + engines: { node: ^4.5.0 || >= 5.9 } + + basic-auth@2.0.1: + resolution: + { integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== } + engines: { node: '>= 0.8' } + + bcrypt-pbkdf@1.0.2: + resolution: + { integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== } + + benchmark@2.1.4: + resolution: + { integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ== } + + bigint-buffer@1.1.5: + resolution: + { integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== } + engines: { node: '>= 10.0.0' } + + binary-extensions@2.3.0: + resolution: + { integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== } + engines: { node: '>=8' } + + bindings@1.5.0: + resolution: + { integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== } + + bintrees@1.0.2: + resolution: + { integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw== } + + bl@4.1.0: + resolution: + { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } + + bl@5.1.0: + resolution: + { integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== } + + blob-to-it@2.0.8: + resolution: + { integrity: sha512-1MKnG2ul1DtSgrxFHqhdJgIJODJbNj7alOLSJRD7O9S2iCJ72ZWU6j8+CVpjIdLueqwpWhy4ouvpanYlFLqkRw== } + + blockstore-core@3.0.0: + resolution: + { integrity: sha512-5ZZB5nh6kErcjZ/CTK6lCwTIGlPdkTXbD8+2xLC4Fm0WGh7g2e2lW2bfURw7mvnPtSX1xV+sN4V2ndowSgIiHQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + blockstore-core@5.0.2: + resolution: + { integrity: sha512-y7/BHdYLO3YCpJMg6Ue7b4Oz4FT1HWSZoHHdlsaJTsvoE8XieXb6kUCB9UkkUBDw2x4neRDwlgYBpyK77+Ro2Q== } + + blockstore-datastore-adapter@5.0.0: + resolution: + { integrity: sha512-gQ3aVE83HUnIRtxUh3E5iC8XHY1aWFwvklIa6rRbZGAw8KxnFgJRO1KjPBYrZuyIqstEcvQCGtzC+6LiKSF4KQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + blockstore-fs@2.0.2: + resolution: + { integrity: sha512-g4l4cJZqcLGPD+iOSb9DYWClAiSSGKsN7V13PTZYqQFHeg96phG15jNi9ql3urrlVC/OTzPB95FXK+GP0TX8Tw== } + + bluebird@3.7.2: + resolution: + { integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== } + + bn.js@5.2.1: + resolution: + { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } + + body-parser@1.20.3: + resolution: + { integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== } + engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + + body-parser@2.2.0: + resolution: + { integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg== } + engines: { node: '>=18' } + + borsh@0.7.0: + resolution: + { integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== } + + brace-expansion@1.1.11: + resolution: + { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } + + brace-expansion@2.0.1: + resolution: + { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + + braces@3.0.3: + resolution: + { integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== } + engines: { node: '>=8' } + + browser-level@1.0.1: + resolution: + { integrity: sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ== } + + browser-readablestream-to-it@1.0.3: + resolution: + { integrity: sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw== } + + browser-readablestream-to-it@2.0.8: + resolution: + { integrity: sha512-+aDq+8QoTxIklc9m21oVg96Bm18EpeVke4/8vWPNu+9Ktd+G4PYavitE4gv/pjIndw1q+vxE/Rcnv1zYHrEQbQ== } + + browserslist@4.24.4: + resolution: + { integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + hasBin: true + + bs58@4.0.1: + resolution: + { integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== } + + bser@2.1.1: + resolution: + { integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== } + + buffer-from@1.1.2: + resolution: + { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } + + buffer@5.7.1: + resolution: + { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } + + buffer@6.0.3: + resolution: + { integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== } + + bufferutil@4.0.9: + resolution: + { integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw== } + engines: { node: '>=6.14.2' } + + buildcheck@0.0.6: + resolution: + { integrity: sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A== } + engines: { node: '>=10.0.0' } + + busboy@1.6.0: + resolution: + { integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== } + engines: { node: '>=10.16.0' } + + byte-access@1.0.1: + resolution: + { integrity: sha512-GKYa+lvxnzhgHWj9X+LCsQ4s2/C5uvib573eAOiQKywXMkzFFErY2+yQdzmdE5iWVpmqecsRx3bOtOY4/1eINw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + bytes@3.1.2: + resolution: + { integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== } + engines: { node: '>= 0.8' } + + call-bind-apply-helpers@1.0.2: + resolution: + { integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== } + engines: { node: '>= 0.4' } + + call-bound@1.0.4: + resolution: + { integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== } + engines: { node: '>= 0.4' } + + caller-callsite@2.0.0: + resolution: + { integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== } + engines: { node: '>=4' } + + caller-path@2.0.0: + resolution: + { integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== } + engines: { node: '>=4' } + + callsites@2.0.0: + resolution: + { integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== } + engines: { node: '>=4' } + + callsites@3.1.0: + resolution: + { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } + engines: { node: '>=6' } + + camelcase@5.3.1: + resolution: + { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } + engines: { node: '>=6' } + + camelcase@6.3.0: + resolution: + { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } + engines: { node: '>=10' } + + caniuse-lite@1.0.30001707: + resolution: + { integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw== } + + catering@2.1.1: + resolution: + { integrity: sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== } + engines: { node: '>=6' } + + cborg@1.10.2: + resolution: + { integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug== } + hasBin: true + + cborg@4.2.9: + resolution: + { integrity: sha512-HG8GprGhfzkbzDAIQApqYcN1BJAyf8vDQbzclAwaqrm3ATFnB7ygiWLr+YID+GBdfTJ+yHtzPi06218xULpZrg== } + hasBin: true + + chalk@4.1.2: + resolution: + { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } + engines: { node: '>=10' } + + chalk@5.4.1: + resolution: + { integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + + chardet@0.7.0: + resolution: + { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } + + chokidar@3.6.0: + resolution: + { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } + engines: { node: '>= 8.10.0' } + + chownr@1.1.4: + resolution: + { integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== } + + chrome-launcher@0.15.2: + resolution: + { integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ== } + engines: { node: '>=12.13.0' } + hasBin: true + + chromium-edge-launcher@0.2.0: + resolution: + { integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg== } + + ci-info@2.0.0: + resolution: + { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } + + ci-info@3.9.0: + resolution: + { integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== } + engines: { node: '>=8' } + + classic-level@1.4.1: + resolution: + { integrity: sha512-qGx/KJl3bvtOHrGau2WklEZuXhS3zme+jf+fsu6Ej7W7IP/C49v7KNlWIsT1jZu0YnfzSIYDGcEWpCa1wKGWXQ== } + engines: { node: '>=12' } + + cli-cursor@3.1.0: + resolution: + { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } + engines: { node: '>=8' } + + cli-cursor@4.0.0: + resolution: + { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + cli-cursor@5.0.0: + resolution: + { integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== } + engines: { node: '>=18' } + + cli-spinners@2.9.2: + resolution: + { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } + engines: { node: '>=6' } + + cli-truncate@4.0.0: + resolution: + { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } + engines: { node: '>=18' } + + cli-width@4.1.0: + resolution: + { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } + engines: { node: '>= 12' } + + cliui@7.0.4: + resolution: + { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } + + cliui@8.0.1: + resolution: + { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } + engines: { node: '>=12' } + + clone-deep@4.0.1: + resolution: + { integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== } + engines: { node: '>=6' } + + clone-regexp@3.0.0: + resolution: + { integrity: sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw== } + engines: { node: '>=12' } + + clone@1.0.4: + resolution: + { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } + engines: { node: '>=0.8' } + + color-convert@1.9.3: + resolution: + { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } + + color-convert@2.0.1: + resolution: + { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } + engines: { node: '>=7.0.0' } + + color-name@1.1.3: + resolution: + { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } + + color-name@1.1.4: + resolution: + { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + + color-string@1.9.1: + resolution: + { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== } + + color@3.2.1: + resolution: + { integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== } + + colorette@2.0.20: + resolution: + { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } + + colorspace@1.1.4: + resolution: + { integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w== } + + combined-stream@1.0.8: + resolution: + { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } + engines: { node: '>= 0.8' } + + commander@11.1.0: + resolution: + { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } + engines: { node: '>=16' } + + commander@12.1.0: + resolution: + { integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== } + engines: { node: '>=18' } + + commander@13.1.0: + resolution: + { integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== } + engines: { node: '>=18' } + + commander@2.20.3: + resolution: + { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } + + commondir@1.0.1: + resolution: + { integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== } + + concat-map@0.0.1: + resolution: + { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } + + concat-stream@1.6.2: + resolution: + { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } + engines: { '0': node >= 0.8 } + + connect@3.7.0: + resolution: + { integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== } + engines: { node: '>= 0.10.0' } + + content-disposition@0.5.4: + resolution: + { integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== } + engines: { node: '>= 0.6' } + + content-disposition@1.0.0: + resolution: + { integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg== } + engines: { node: '>= 0.6' } + + content-type@1.0.5: + resolution: + { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } + engines: { node: '>= 0.6' } + + convert-hrtime@5.0.0: + resolution: + { integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg== } + engines: { node: '>=12' } + + convert-source-map@2.0.0: + resolution: + { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } + + cookie-signature@1.0.6: + resolution: + { integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== } + + cookie-signature@1.2.2: + resolution: + { integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== } + engines: { node: '>=6.6.0' } + + cookie@0.7.1: + resolution: + { integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== } + engines: { node: '>= 0.6' } + + cookie@0.7.2: + resolution: + { integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== } + engines: { node: '>= 0.6' } + + core-js-compat@3.41.0: + resolution: + { integrity: sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A== } + + core-util-is@1.0.3: + resolution: + { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } + + cors@2.8.5: + resolution: + { integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== } + engines: { node: '>= 0.10' } + + cosmiconfig@5.2.1: + resolution: + { integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== } + engines: { node: '>=4' } + + cpu-features@0.0.10: + resolution: + { integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA== } + engines: { node: '>=10.0.0' } + + create-require@1.1.1: + resolution: + { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + + cross-spawn@7.0.6: + resolution: + { integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== } + engines: { node: '>= 8' } + + dag-jose@4.0.0: + resolution: + { integrity: sha512-tw595L3UYoOUT9dSJPbBEG/qpRpw24kRZxa5SLRnlnr+g5L7O8oEs1d3W5TiVA1oJZbthVsf0Vi3zFN66qcEBA== } + + datastore-core@10.0.2: + resolution: + { integrity: sha512-B3WXxI54VxJkpXxnYibiF17si3bLXE1XOjrJB7wM5co9fx2KOEkiePDGiCCEtnapFHTnmAnYCPdA7WZTIpdn/A== } + + datastore-core@8.0.4: + resolution: + { integrity: sha512-oBA6a024NFXJOTu+w9nLAimfy4wCYUhdE/5XQGtdKt1BmCVtPYW10GORvVT3pdZBcse6k/mVcBl+hjkXIlm65A== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + datastore-fs@8.0.0: + resolution: + { integrity: sha512-yXPf+d08RL9wdWqZbLaJxbS0FMkKNCoYYXW6MausrFAF03hCWvap62bvPC7fX415PF0v/8JOw1aSJyGJ9WjtHA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + datastore-level@9.0.4: + resolution: + { integrity: sha512-HKf2tVVWywdidI+94z0B5NLx4J94wTLCT1tYXXxJ58MK/Y5rdX8WVRp9XmZaODS70uxpNC8/UrvWr0iTBZwkUA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + datastore-pubsub@7.0.0: + resolution: + { integrity: sha512-P5mmj7hq5cwVMSBwoILTWzA2yz+JfLH6Q6ddyZPPZC8Nx0HtWtdQtVDELQ+DnAe5tnDn77iyQyXx5zzhErNL9A== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + debug@2.6.9: + resolution: + { integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: + { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } + engines: { node: '>=6.0' } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.7: + resolution: + { integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== } + engines: { node: '>=6.0' } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.0: + resolution: + { integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== } + engines: { node: '>=6.0' } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decompress-response@6.0.0: + resolution: + { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } + engines: { node: '>=10' } + + deep-extend@0.6.0: + resolution: + { integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== } + engines: { node: '>=4.0.0' } + + deep-is@0.1.4: + resolution: + { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } + + default-gateway@7.2.2: + resolution: + { integrity: sha512-AD7TrdNNPXRZIGw63dw+lnGmT4v7ggZC5NHNJgAYWm5njrwoze1q5JSAW9YuLy2tjnoLUG/r8FEB93MCh9QJPg== } + engines: { node: '>= 16' } + + defaults@1.0.4: + resolution: + { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } + + delay@5.0.0: + resolution: + { integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== } + engines: { node: '>=10' } + + delay@6.0.0: + resolution: + { integrity: sha512-2NJozoOHQ4NuZuVIr5CWd0iiLVIRSDepakaovIN+9eIDHEhdCAEvSy2cuf1DCrPPQLvHmbqTHODlhHg8UCy4zw== } + engines: { node: '>=16' } + + delayed-stream@1.0.0: + resolution: + { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } + engines: { node: '>=0.4.0' } + + denque@1.5.1: + resolution: + { integrity: sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== } + engines: { node: '>=0.10' } + + denque@2.1.0: + resolution: + { integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== } + engines: { node: '>=0.10' } + + depd@2.0.0: + resolution: + { integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== } + engines: { node: '>= 0.8' } + + depseek@0.4.1: + resolution: + { integrity: sha512-YYfPPajzH9s2qnEva411VJzCMWtArBTfluI9USiKQ+T6xBWFh3C7yPxhaa1KVgJa17v9aRKc+LcRhgxS5/9mOA== } + + destroy@1.2.0: + resolution: + { integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== } + engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + + detect-browser@5.3.0: + resolution: + { integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== } + + detect-libc@2.0.3: + resolution: + { integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== } + engines: { node: '>=8' } + + diff@4.0.2: + resolution: + { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } + engines: { node: '>=0.3.1' } + + dir-glob@3.0.1: + resolution: + { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } + engines: { node: '>=8' } + + dlv@1.1.3: + resolution: + { integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== } + + dns-over-http-resolver@2.1.3: + resolution: + { integrity: sha512-zjRYFhq+CsxPAouQWzOsxNMvEN+SHisjzhX8EMxd2Y0EG3thvn6wXQgMJLnTDImkhe4jhLbOQpXtL10nALBOSA== } + + dns-packet@5.6.1: + resolution: + { integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== } + engines: { node: '>=6' } + + docker-modem@5.0.6: + resolution: + { integrity: sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ== } + engines: { node: '>= 8.0' } + + dockerode@4.0.5: + resolution: + { integrity: sha512-ZPmKSr1k1571Mrh7oIBS/j0AqAccoecY2yH420ni5j1KyNMgnoTh4Nu4FWunh0HZIJmRSmSysJjBIpa/zyWUEA== } + engines: { node: '>= 8.0' } + + doctrine@3.0.0: + resolution: + { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== } + engines: { node: '>=6.0.0' } + + dotenv@16.4.7: + resolution: + { integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== } + engines: { node: '>=12' } + + dunder-proto@1.0.1: + resolution: + { integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== } + engines: { node: '>= 0.4' } + + duplexer2@0.1.4: + resolution: + { integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== } + + eastasianwidth@0.2.0: + resolution: + { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + + ee-first@1.1.1: + resolution: + { integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== } + + electron-fetch@1.9.1: + resolution: + { integrity: sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA== } + engines: { node: '>=6' } + + electron-to-chromium@1.5.128: + resolution: + { integrity: sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ== } + + emoji-regex@10.4.0: + resolution: + { integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== } + + emoji-regex@8.0.0: + resolution: + { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + + emoji-regex@9.2.2: + resolution: + { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + + enabled@2.0.0: + resolution: + { integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== } + + encodeurl@1.0.2: + resolution: + { integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== } + engines: { node: '>= 0.8' } + + encodeurl@2.0.0: + resolution: + { integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== } + engines: { node: '>= 0.8' } + + encoding@0.1.13: + resolution: + { integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== } + + end-of-stream@1.4.4: + resolution: + { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } + + engine.io-client@6.6.3: + resolution: + { integrity: sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w== } + + engine.io-parser@5.2.3: + resolution: + { integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== } + engines: { node: '>=10.0.0' } + + engine.io@6.6.4: + resolution: + { integrity: sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g== } + engines: { node: '>=10.2.0' } + + environment@1.1.0: + resolution: + { integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== } + engines: { node: '>=18' } + + err-code@3.0.1: + resolution: + { integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== } + + error-ex@1.3.2: + resolution: + { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + + error-stack-parser@2.1.4: + resolution: + { integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== } + + es-define-property@1.0.1: + resolution: + { integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== } + engines: { node: '>= 0.4' } + + es-errors@1.3.0: + resolution: + { integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== } + engines: { node: '>= 0.4' } + + es-object-atoms@1.1.1: + resolution: + { integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== } + engines: { node: '>= 0.4' } + + es-set-tostringtag@2.1.0: + resolution: + { integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== } + engines: { node: '>= 0.4' } + + es6-promise@4.2.8: + resolution: + { integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== } + + es6-promisify@5.0.0: + resolution: + { integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== } + + escalade@3.2.0: + resolution: + { integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== } + engines: { node: '>=6' } + + escape-html@1.0.3: + resolution: + { integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== } + + escape-string-regexp@2.0.0: + resolution: + { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } + engines: { node: '>=8' } + + escape-string-regexp@4.0.0: + resolution: + { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } + engines: { node: '>=10' } + + eslint-plugin-prettier@5.2.5: + resolution: + { integrity: sha512-IKKP8R87pJyMl7WWamLgPkloB16dagPIdd2FjBDbyRYPKo93wS/NbCOPh6gH+ieNLC+XZrhJt/kWj0PS/DFdmg== } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-scope@7.2.2: + resolution: + { integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + eslint-scope@8.3.0: + resolution: + { integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + eslint-visitor-keys@3.4.3: + resolution: + { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + eslint-visitor-keys@4.2.0: + resolution: + { integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + eslint@8.57.1: + resolution: + { integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + eslint@9.23.0: + resolution: + { integrity: sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: + { integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + espree@9.6.1: + resolution: + { integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + esprima@4.0.1: + resolution: + { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } + engines: { node: '>=4' } + hasBin: true + + esquery@1.6.0: + resolution: + { integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== } + engines: { node: '>=0.10' } + + esrecurse@4.3.0: + resolution: + { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } + engines: { node: '>=4.0' } + + estraverse@5.3.0: + resolution: + { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } + engines: { node: '>=4.0' } + + esutils@2.0.3: + resolution: + { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } + engines: { node: '>=0.10.0' } + + etag@1.8.1: + resolution: + { integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== } + engines: { node: '>= 0.6' } + + ethers@6.13.5: + resolution: + { integrity: sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ== } + engines: { node: '>=14.0.0' } + + event-iterator@2.0.0: + resolution: + { integrity: sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ== } + + event-target-shim@5.0.1: + resolution: + { integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== } + engines: { node: '>=6' } + + event-target-shim@6.0.2: + resolution: + { integrity: sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA== } + engines: { node: '>=10.13.0' } + + eventemitter3@5.0.1: + resolution: + { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } + + events@3.3.0: + resolution: + { integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== } + engines: { node: '>=0.8.x' } + + execa@7.2.0: + resolution: + { integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== } + engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } + + execa@8.0.1: + resolution: + { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } + engines: { node: '>=16.17' } + + expand-template@2.0.3: + resolution: + { integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== } + engines: { node: '>=6' } + + exponential-backoff@3.1.2: + resolution: + { integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA== } + + express@4.21.2: + resolution: + { integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== } + engines: { node: '>= 0.10.0' } + + express@5.1.0: + resolution: + { integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA== } + engines: { node: '>= 18' } + + external-editor@3.1.0: + resolution: + { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } + engines: { node: '>=4' } + + eyes@0.1.8: + resolution: + { integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== } + engines: { node: '> 0.1.90' } + + fast-deep-equal@3.1.3: + resolution: + { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + + fast-diff@1.3.0: + resolution: + { integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== } + + fast-fifo@1.3.2: + resolution: + { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } + + fast-glob@3.3.3: + resolution: + { integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== } + engines: { node: '>=8.6.0' } + + fast-json-stable-stringify@2.1.0: + resolution: + { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + + fast-levenshtein@2.0.6: + resolution: + { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } + + fast-stable-stringify@1.0.0: + resolution: + { integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== } + + fast-write-atomic@0.2.1: + resolution: + { integrity: sha512-WvJe06IfNYlr+6cO3uQkdKdy3Cb1LlCJSF8zRs2eT8yuhdbSlR9nIt+TgQ92RUxiRrQm+/S7RARnMfCs5iuAjw== } + + fastq@1.19.1: + resolution: + { integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== } + + fb-watchman@2.0.2: + resolution: + { integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== } + + fecha@4.2.3: + resolution: + { integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== } + + file-entry-cache@6.0.1: + resolution: + { integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== } + engines: { node: ^10.12.0 || >=12.0.0 } + + file-entry-cache@8.0.0: + resolution: + { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } + engines: { node: '>=16.0.0' } + + file-uri-to-path@1.0.0: + resolution: + { integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== } + + filesize-parser@1.5.1: + resolution: + { integrity: sha512-wRjdlQ5JM3WHZp6xpakIHQbkcGig8ANglYQDPcQSgZUN5kcDGOgmAwB0396BxzHxcl+kr+GLuusxBnsjdO6x9A== } + + fill-range@7.1.1: + resolution: + { integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== } + engines: { node: '>=8' } + + finalhandler@1.1.2: + resolution: + { integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== } + engines: { node: '>= 0.8' } + + finalhandler@1.3.1: + resolution: + { integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== } + engines: { node: '>= 0.8' } + + finalhandler@2.1.0: + resolution: + { integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q== } + engines: { node: '>= 0.8' } + + find-cache-dir@2.1.0: + resolution: + { integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== } + engines: { node: '>=6' } + + find-up@3.0.0: + resolution: + { integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== } + engines: { node: '>=6' } + + find-up@4.1.0: + resolution: + { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } + engines: { node: '>=8' } + + find-up@5.0.0: + resolution: + { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } + engines: { node: '>=10' } + + flat-cache@3.2.0: + resolution: + { integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== } + engines: { node: ^10.12.0 || >=12.0.0 } + + flat-cache@4.0.1: + resolution: + { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== } + engines: { node: '>=16' } + + flatted@3.3.3: + resolution: + { integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== } + + flow-enums-runtime@0.0.6: + resolution: + { integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== } + + flow-parser@0.266.1: + resolution: + { integrity: sha512-dON6h+yO7FGa/FO5NQCZuZHN0o3I23Ev6VYOJf9d8LpdrArHPt39wE++LLmueNV/hNY5hgWGIIrgnrDkRcXkPg== } + engines: { node: '>=0.4.0' } + + fn.name@1.1.0: + resolution: + { integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== } + + fnv1a@1.1.1: + resolution: + { integrity: sha512-S2HviLR9UyNbt8R+vU6YeQtL8RliPwez9DQEVba5MAvN3Od+RSgKUSL2+qveOMt3owIeBukKoRu2enoOck5uag== } + + follow-redirects@1.15.9: + resolution: + { integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== } + engines: { node: '>=4.0' } + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + foreground-child@3.3.1: + resolution: + { integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== } + engines: { node: '>=14' } + + form-data@4.0.2: + resolution: + { integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== } + engines: { node: '>= 6' } + + forwarded@0.2.0: + resolution: + { integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== } + engines: { node: '>= 0.6' } + + freeport-promise@2.0.0: + resolution: + { integrity: sha512-dwWpT1DdQcwrhmRwnDnPM/ZFny+FtzU+k50qF2eid3KxaQDsMiBrwo1i0G3qSugkN5db6Cb0zgfc68QeTOpEFg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + fresh@0.5.2: + resolution: + { integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== } + engines: { node: '>= 0.6' } + + fresh@2.0.0: + resolution: + { integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== } + engines: { node: '>= 0.8' } + + from2@2.3.0: + resolution: + { integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== } + + fs-constants@1.0.0: + resolution: + { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } + + fs-extra@11.3.0: + resolution: + { integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== } + engines: { node: '>=14.14' } + + fs-extra@9.1.0: + resolution: + { integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== } + engines: { node: '>=10' } + + fs.realpath@1.0.0: + resolution: + { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + + fsevents@2.3.3: + resolution: + { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + + function-bind@1.1.2: + resolution: + { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + + function-timeout@0.1.1: + resolution: + { integrity: sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg== } + engines: { node: '>=14.16' } + + gensync@1.0.0-beta.2: + resolution: + { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } + engines: { node: '>=6.9.0' } + + get-caller-file@2.0.5: + resolution: + { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } + engines: { node: 6.* || 8.* || >= 10.* } + + get-east-asian-width@1.3.0: + resolution: + { integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ== } + engines: { node: '>=18' } + + get-intrinsic@1.3.0: + resolution: + { integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== } + engines: { node: '>= 0.4' } + + get-iterator@1.0.2: + resolution: + { integrity: sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== } + + get-iterator@2.0.1: + resolution: + { integrity: sha512-7HuY/hebu4gryTDT7O/XY/fvY9wRByEGdK6QOa4of8npTcv0+NS6frFKABcf6S9EBAsveTuKTsZQQBFMMNILIg== } + + get-package-type@0.1.0: + resolution: + { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } + engines: { node: '>=8.0.0' } + + get-port@7.1.0: + resolution: + { integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw== } + engines: { node: '>=16' } + + get-proto@1.0.1: + resolution: + { integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== } + engines: { node: '>= 0.4' } + + get-stream@6.0.1: + resolution: + { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } + engines: { node: '>=10' } + + get-stream@8.0.1: + resolution: + { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } + engines: { node: '>=16' } + + github-from-package@0.0.0: + resolution: + { integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== } + + glob-parent@5.1.2: + resolution: + { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } + engines: { node: '>= 6' } + + glob-parent@6.0.2: + resolution: + { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } + engines: { node: '>=10.13.0' } + + glob@10.4.5: + resolution: + { integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== } + hasBin: true + + glob@7.2.3: + resolution: + { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: + { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== } + engines: { node: '>=4' } + + globals@13.24.0: + resolution: + { integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== } + engines: { node: '>=8' } + + globals@14.0.0: + resolution: + { integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== } + engines: { node: '>=18' } + + globals@16.0.0: + resolution: + { integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A== } + engines: { node: '>=18' } + + globby@11.1.0: + resolution: + { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } + engines: { node: '>=10' } + + gopd@1.2.0: + resolution: + { integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== } + engines: { node: '>= 0.4' } + + graceful-fs@4.2.11: + resolution: + { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } + + graphemer@1.4.0: + resolution: + { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } + + hamt-sharding@3.0.6: + resolution: + { integrity: sha512-nZeamxfymIWLpVcAN0CRrb7uVq3hCOGj9IcL6NMA6VVCVWqj+h9Jo/SmaWuS92AEDf1thmHsM5D5c70hM3j2Tg== } + + has-flag@3.0.0: + resolution: + { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } + engines: { node: '>=4' } + + has-flag@4.0.0: + resolution: + { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } + engines: { node: '>=8' } + + has-symbols@1.1.0: + resolution: + { integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== } + engines: { node: '>= 0.4' } + + has-tostringtag@1.0.2: + resolution: + { integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== } + engines: { node: '>= 0.4' } + + has@1.0.4: + resolution: + { integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== } + engines: { node: '>= 0.4.0' } + + hashlru@2.3.0: + resolution: + { integrity: sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A== } + + hasown@2.0.2: + resolution: + { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } + engines: { node: '>= 0.4' } + + helia@5.3.0: + resolution: + { integrity: sha512-mSM/zQqdoQWUicf90NEcVO1MPSjrzPro5vMe90cKdU0mv10BDk6aJDEImgQlN2x7EsmHCf+hOgmA9K3gZizK4w== } + + hermes-estree@0.25.1: + resolution: + { integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw== } + + hermes-parser@0.25.1: + resolution: + { integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA== } + + http-cookie-agent@6.0.8: + resolution: + { integrity: sha512-qnYh3yLSr2jBsTYkw11elq+T361uKAJaZ2dR4cfYZChw1dt9uL5t3zSUwehoqqVb4oldk1BpkXKm2oat8zV+oA== } + engines: { node: '>=18.0.0' } + peerDependencies: + tough-cookie: ^4.0.0 || ^5.0.0 + undici: ^5.11.0 || ^6.0.0 + peerDependenciesMeta: + undici: + optional: true + + http-errors@2.0.0: + resolution: + { integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== } + engines: { node: '>= 0.8' } + + https-proxy-agent@5.0.1: + resolution: + { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } + engines: { node: '>= 6' } + + https-proxy-agent@7.0.6: + resolution: + { integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== } + engines: { node: '>= 14' } + + human-signals@4.3.1: + resolution: + { integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== } + engines: { node: '>=14.18.0' } + + human-signals@5.0.0: + resolution: + { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } + engines: { node: '>=16.17.0' } + + humanize-ms@1.2.1: + resolution: + { integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== } + + husky@8.0.3: + resolution: + { integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== } + engines: { node: '>=14' } + hasBin: true + + husky@9.1.7: + resolution: + { integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== } + engines: { node: '>=18' } + hasBin: true + + iconv-lite@0.4.24: + resolution: + { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } + engines: { node: '>=0.10.0' } + + iconv-lite@0.6.3: + resolution: + { integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== } + engines: { node: '>=0.10.0' } + + ieee754@1.2.1: + resolution: + { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + + ignore-by-default@1.0.1: + resolution: + { integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== } + + ignore@5.3.2: + resolution: + { integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== } + engines: { node: '>= 4' } + + image-size@1.2.0: + resolution: + { integrity: sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w== } + engines: { node: '>=16.x' } + hasBin: true + + import-fresh@2.0.0: + resolution: + { integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== } + engines: { node: '>=4' } + + import-fresh@3.3.1: + resolution: + { integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== } + engines: { node: '>=6' } + + imurmurhash@0.1.4: + resolution: + { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } + engines: { node: '>=0.8.19' } + + inflight@1.0.6: + resolution: + { 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. + + inherits@2.0.4: + resolution: + { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + + ini@1.3.8: + resolution: + { integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== } + + inquirer@12.5.0: + resolution: + { integrity: sha512-aiBBq5aKF1k87MTxXDylLfwpRwToShiHrSv4EmB07EYyLgmnjEz5B3rn0aGw1X3JA/64Ngf2T54oGwc+BCsPIQ== } + engines: { node: '>=18' } + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + inquirer@9.3.7: + resolution: + { integrity: sha512-LJKFHCSeIRq9hanN14IlOtPSTe3lNES7TYDTE2xxdAy1LS5rYphajK1qtwvj3YmQXvvk0U2Vbmcni8P9EIQW9w== } + engines: { node: '>=18' } + + interface-blockstore@4.0.1: + resolution: + { integrity: sha512-ROWKGJls7vLeFaQtI3hZVCJOkUoZ05xAi2t2qysM4d7dwVKrfm5jUOqWh8JgLL7Iup3XqJ0mKXXZuwJ3s03RSw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + interface-blockstore@5.3.1: + resolution: + { integrity: sha512-nhgrQnz6yUQEqxTFLhlOBurQOy5lWlwCpgFmZ3GTObTVTQS9RZjK/JTozY6ty9uz2lZs7VFJSqwjWAltorJ4Vw== } + + interface-datastore@7.0.4: + resolution: + { integrity: sha512-Q8LZS/jfFFHz6XyZazLTAc078SSCoa27ZPBOfobWdpDiFO7FqPA2yskitUJIhaCgxNK8C+/lMBUTBNfVIDvLiw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + interface-datastore@8.3.1: + resolution: + { integrity: sha512-3r0ETmHIi6HmvM5sc09QQiCD3gUfwtEM/AAChOyAd/UAKT69uk8LXfTSUBufbUIO/dU65Vj8nb9O6QjwW8vDSQ== } + + interface-store@3.0.4: + resolution: + { integrity: sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + interface-store@6.0.2: + resolution: + { integrity: sha512-KSFCXtBlNoG0hzwNa0RmhHtrdhzexp+S+UY2s0rWTBJyfdEIgn6i6Zl9otVqrcFYbYrneBT7hbmHQ8gE0C3umA== } + + into-stream@6.0.0: + resolution: + { integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA== } + engines: { node: '>=10' } + + invariant@2.2.4: + resolution: + { integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== } + + ip-address@9.0.5: + resolution: + { integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== } + engines: { node: '>= 12' } + + ip-regex@5.0.0: + resolution: + { integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + ipaddr.js@1.9.1: + resolution: + { integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== } + engines: { node: '>= 0.10' } + + ipaddr.js@2.2.0: + resolution: + { integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== } + engines: { node: '>= 10' } + + ipfs-bitswap@15.0.2: + resolution: + { integrity: sha512-HJLseLdUDeohIihJIaw0ALaGJz52qT6nN06pJjJsew+fXHuXGJo94uulm/BLqr9htZAYZyEKyjxo0z+tg1laRw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + ipfs-core-config@0.7.1: + resolution: + { integrity: sha512-WLtqYf6AOOrOfixwDM6qXI0oAewEJs2Yve2g5sxD69Q0/FupYHTvTYzH6dpJj9nvW63S7cub6gV9xME6FPIpRg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + deprecated: js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details + + ipfs-core-types@0.14.1: + resolution: + { integrity: sha512-4ujF8NlM9bYi2I6AIqPP9wfGGX0x/gRCkMoFdOQfxxrFg6HcAdfS+0/irK8mp4e7znOHWReOHeWqCGw+dAPwsw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + deprecated: js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details + + ipfs-core-utils@0.18.1: + resolution: + { integrity: sha512-P7jTpdfvlyBG3JR4o+Th3QJADlmXmwMxbkjszXry6VAjfSfLIIqXsdeYPoVRkV69GFEeQozuz2k/jR+U8cUH/Q== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + deprecated: js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details + + ipfs-core@0.18.1: + resolution: + { integrity: sha512-87nLL9my6mFiR3woW5XEZ8D5SbHljXWDNc5Udxx79AFs3tzne68VPg87oFO6bxmOwM/1e7+7UkMevEy5t/s0lQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + deprecated: js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details + + ipfs-http-client@60.0.1: + resolution: + { integrity: sha512-amwM5TNuf077J+/q27jPHfatC05vJuIbX6ZnlYLjc2QsjOCKsORNBqV3brNw7l+fPrijV1yrwEDLG3JEnKsfMw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + deprecated: js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details + + ipfs-repo-migrations@15.0.0: + resolution: + { integrity: sha512-7OWFmDROrS455syVBTHegCWT5+YOLl5ac7MZpZU2OXP1n4/AEAD15ycNJzLUEHpyYTqOfVQlnz2Uh9eyiW+cJA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + ipfs-repo@17.0.0: + resolution: + { integrity: sha512-y+cEO+tRm7LxSMBKSH9e1eiZWloLuzVOE7HH3odsWe6EgZ7URa1FSiBfVmqx7sTtjjz1vwvBNmVGwIVVaN5tWw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + ipfs-unixfs-exporter@10.0.1: + resolution: + { integrity: sha512-lSaCF2wpG7U26heLNiauTwaKmBRmr3unoj2/PVv93J/mgD7Qy+gq9/pJNLhQReX1iOIQY6pQjm02aCJ3oAfyMQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + ipfs-unixfs-exporter@13.6.2: + resolution: + { integrity: sha512-U3NkQHvQn5XzxtjSo1/GfoFIoXYY4hPgOlZG5RUrV5ScBI222b3jAHbHksXZuMy7sqPkA9ieeWdOmnG1+0nxyw== } + + ipfs-unixfs-importer@12.0.1: + resolution: + { integrity: sha512-//VPZOqbONtc1HNtb+sBrw+nIGijHEloSm1O3LVR5orSlhHQ8X7+OCkeqceFBhu40tPMe/TwgAPrkvh+fXL+bA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + ipfs-unixfs-importer@15.3.2: + resolution: + { integrity: sha512-12FqAAAE3YC6AHtYxZ944nDCabmvbNLdhNCVIN5RJIOri82ss62XdX4lsLpex9VvPzDIJyTAsrKJPcwM6hXGdQ== } + + ipfs-unixfs@11.2.1: + resolution: + { integrity: sha512-gUeeX63EFgiaMgcs0cUs2ZUPvlOeEZ38okjK8twdWGZX2jYd2rCk8k/TJ3DSRIDZ2t/aZMv6I23guxHaofZE3w== } + + ipfs-unixfs@9.0.1: + resolution: + { integrity: sha512-jh2CbXyxID+v3jLml9CqMwjdSS9ZRnsGfQGGPOfem0/hT/L48xUeTPvh7qLFWkZcIMhZtG+fnS1teei8x5uGBg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + ipfs-utils@9.0.14: + resolution: + { integrity: sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + ipns@10.0.2: + resolution: + { integrity: sha512-tokCgz9X678zvHnAabVG91K64X7HnHdWOrop0ghUcXkzH5XNsmxHwVpqVATNqq/w62h7fRDhWURHU/WOfYmCpA== } + + ipns@5.0.2: + resolution: + { integrity: sha512-kvM+URcCsVW6xFnE4/s9UK1H5BWRRi2Noy9LmaqRxRVALrQH3wCCrqpMtBJH1JWksBQp0ZJDddsxs7yGmhNLrA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + is-arrayish@0.2.1: + resolution: + { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + + is-arrayish@0.3.2: + resolution: + { integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== } + + is-binary-path@2.1.0: + resolution: + { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } + engines: { node: '>=8' } + + is-buffer@2.0.5: + resolution: + { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== } + engines: { node: '>=4' } + + is-core-module@2.16.1: + resolution: + { integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== } + engines: { node: '>= 0.4' } + + is-core-module@2.9.0: + resolution: + { integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== } + + is-directory@0.3.1: + resolution: + { integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== } + engines: { node: '>=0.10.0' } + + is-docker@2.2.1: + resolution: + { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } + engines: { node: '>=8' } + hasBin: true + + is-domain-name@1.0.1: + resolution: + { integrity: sha512-52ToNggHmkZGPl8yLFNrk+cKHUUnkhS0l2jh+yMLq6kj9C5IMLSztvJsW5WO5eMy0OS0jdu4o2tptT9dN0hAFg== } + + is-electron@2.2.2: + resolution: + { integrity: sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg== } + + is-extglob@2.1.1: + resolution: + { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } + engines: { node: '>=0.10.0' } + + is-fullwidth-code-point@3.0.0: + resolution: + { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } + engines: { node: '>=8' } + + is-fullwidth-code-point@4.0.0: + resolution: + { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } + engines: { node: '>=12' } + + is-fullwidth-code-point@5.0.0: + resolution: + { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } + engines: { node: '>=18' } + + is-glob@4.0.3: + resolution: + { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } + engines: { node: '>=0.10.0' } + + is-interactive@1.0.0: + resolution: + { integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== } + engines: { node: '>=8' } + + is-interactive@2.0.0: + resolution: + { integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== } + engines: { node: '>=12' } + + is-ip@5.0.1: + resolution: + { integrity: sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw== } + engines: { node: '>=14.16' } + + is-ipfs@8.0.4: + resolution: + { integrity: sha512-upkO6a8WgBSZMMmuPzmF2NQLWXtiJtHxdEfEiMWrOzCKoZ+XEiM0XlK4fFMfo/PyiRmPMJ4PsNrXyvJeqMrJXA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + is-loopback-addr@2.0.2: + resolution: + { integrity: sha512-26POf2KRCno/KTNL5Q0b/9TYnL00xEsSaLfiFRmjM7m7Lw7ZMmFybzzuX4CcsLAluZGd+niLUiMRxEooVE3aqg== } + + is-network-error@1.1.0: + resolution: + { integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g== } + engines: { node: '>=16' } + + is-number@7.0.0: + resolution: + { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } + engines: { node: '>=0.12.0' } + + is-path-inside@3.0.3: + resolution: + { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } + engines: { node: '>=8' } + + is-plain-obj@2.1.0: + resolution: + { integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== } + engines: { node: '>=8' } + + is-plain-obj@4.1.0: + resolution: + { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } + engines: { node: '>=12' } + + is-plain-object@2.0.4: + resolution: + { integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== } + engines: { node: '>=0.10.0' } + + is-promise@4.0.0: + resolution: + { integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== } + + is-regexp@3.1.0: + resolution: + { integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA== } + engines: { node: '>=12' } + + is-stream@2.0.1: + resolution: + { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } + engines: { node: '>=8' } + + is-stream@3.0.0: + resolution: + { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + is-unicode-supported@0.1.0: + resolution: + { integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== } + engines: { node: '>=10' } + + is-unicode-supported@1.3.0: + resolution: + { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } + engines: { node: '>=12' } + + is-wsl@2.2.0: + resolution: + { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } + engines: { node: '>=8' } + + isarray@1.0.0: + resolution: + { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } + + isexe@2.0.0: + resolution: + { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + + iso-constants@0.1.2: + resolution: + { integrity: sha512-OTCM5ZCQsHBCI4Wdu4tSxvDIkmDHd5EwJDps5mKqnQnWJSKlnwMs3EDZ4n3Fh1tmkWkDlyd2vCDbEYuPbyrUNQ== } + engines: { node: '>=10' } + + iso-random-stream@2.0.2: + resolution: + { integrity: sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ== } + engines: { node: '>=10' } + + iso-url@1.2.1: + resolution: + { integrity: sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng== } + engines: { node: '>=12' } + + isobject@3.0.1: + resolution: + { integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== } + engines: { node: '>=0.10.0' } + + isomorphic-ws@4.0.1: + resolution: + { integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== } + peerDependencies: + ws: '*' + + istanbul-lib-coverage@3.2.2: + resolution: + { integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== } + engines: { node: '>=8' } + + istanbul-lib-instrument@5.2.1: + resolution: + { integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== } + engines: { node: '>=8' } + + it-all@1.0.6: + resolution: + { integrity: sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A== } + + it-all@2.0.1: + resolution: + { integrity: sha512-9UuJcCRZsboz+HBQTNOau80Dw+ryGaHYFP/cPYzFBJBFcfDathMYnhHk4t52en9+fcyDGPTdLB+lFc1wzQIroA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-all@3.0.7: + resolution: + { integrity: sha512-PkuYtu6XhJzuPTKXImd6y0qE6H91MUPV/b9xotXMAI6GjmD2v3NoHj2g5L0lS2qZ0EzyGWZU1kp0UxW8POvNBQ== } + + it-batch@1.0.9: + resolution: + { integrity: sha512-7Q7HXewMhNFltTsAMdSz6luNhyhkhEtGGbYek/8Xb/GiqYMtwUmopE1ocPSiJKKp3rM4Dt045sNFoUu+KZGNyA== } + + it-batch@2.0.1: + resolution: + { integrity: sha512-2gWFuPzamh9Dh3pW+OKjc7UwJ41W4Eu2AinVAfXDMfrC5gXfm3b1TF+1UzsygBUgKBugnxnGP+/fFRyn+9y1mQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-batch@3.0.7: + resolution: + { integrity: sha512-tcAW8+OAnhC3WqO5ggInfndL/jJsL3i++JLBADKs7LSSzfVVOXicufAuY5Sv4RbCkulRuk/ClSZhS0fu9B9SJA== } + + it-batched-bytes@1.0.1: + resolution: + { integrity: sha512-ptBiZ0Mh3kJYySpG0pCS7JgvWhaAW1fGfKDVFtNIuNTA+bpSlXINvD5H3b14ZlJbnJFzFzRSCSZ10E1nH4z/WQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-byte-stream@1.1.1: + resolution: + { integrity: sha512-OIOb8PvK9ZV7MHvyxIDNyN3jmrxrJdx99G0RIYYb3Tzo1OWv+O1C6mfg7nnlDuuTQz2POYFXe87AShKAEl+POw== } + + it-drain@2.0.1: + resolution: + { integrity: sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-drain@3.0.8: + resolution: + { integrity: sha512-eeOz+WwKc11ou1UuqZympcXPLCjpTn5ALcYFJiHeTEiYEZ2py/J1vq41XWYj88huCUiqp9iNHfObOKrbIk5Izw== } + + it-filter@2.0.2: + resolution: + { integrity: sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-filter@3.1.2: + resolution: + { integrity: sha512-2AozaGjIvBBiB7t7MpVNug9kwofqmKSpvgW7zhuyvCs6xxDd6FrfvqyfYtlQTKLNP+Io1WeXko1UQhdlK4M0gg== } + + it-first@2.0.1: + resolution: + { integrity: sha512-noC1oEQcWZZMUwq7VWxHNLML43dM+5bviZpfmkxkXlvBe60z7AFRqpZSga9uQBo792jKv9otnn1IjA4zwgNARw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-first@3.0.7: + resolution: + { integrity: sha512-e2dVSlOP+pAxPYPVJBF4fX7au8cvGfvLhIrGCMc5aWDnCvwgOo94xHbi3Da6eXQ2jPL5FGEM8sJMn5uE8Seu+g== } + + it-foreach@1.0.1: + resolution: + { integrity: sha512-eaVFhKxU+uwPs7+DKYxjuL6pj6c50/MBlAH+XPMgPWRRVIChVoyEIsdUQkkC0Ad6oTUmJbKRTnJxEY6o2aIs7A== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-foreach@2.1.2: + resolution: + { integrity: sha512-PvXs3v1FaeWDhWzRxnwB4vSKJngxdLgi0PddkfurCvIFBmKTBfWONLeyDk5dxrvtCzdE4y96KzEQynk4/bbI5A== } + + it-glob@1.0.2: + resolution: + { integrity: sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q== } + + it-glob@3.0.2: + resolution: + { integrity: sha512-yw6am0buc9W6HThDhlf/0k9LpwK31p9Y3c0hpaoth9Iaha4Kog2oRlVanLGSrPPoh9yGwHJbs+KfBJt020N6/g== } + + it-handshake@4.1.3: + resolution: + { integrity: sha512-V6Lt9A9usox9iduOX+edU1Vo94E6v9Lt9dOvg3ubFaw1qf5NCxXLi93Ao4fyCHWDYd8Y+DUhadwNtWVyn7qqLg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-last@2.0.1: + resolution: + { integrity: sha512-uVMedYW0wa2Cx0TAmcOCLbfuLLII7+vyURmhKa8Zovpd+aBTMsmINtsta2n364wJ5qsEDBH+akY1sUtAkaYBlg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-last@3.0.7: + resolution: + { integrity: sha512-qG4BTveE6Wzsz5voqaOtZAfZgXTJT+yiaj45vp5S0Vi8oOdgKlRqUeolfvWoMCJ9vwSc/z9pAaNYIza7gA851w== } + + it-length-prefixed-stream@1.2.1: + resolution: + { integrity: sha512-FYqlxc2toUoK+aPO5r3KDBIUG1mOvk2DzmjQcsfLUTHRWMJP4Va9855tVzg/22Bj+VUUaT7gxBg7HmbiCxTK4w== } + + it-length-prefixed@10.0.1: + resolution: + { integrity: sha512-BhyluvGps26u9a7eQIpOI1YN7mFgi8lFwmiPi07whewbBARKAG9LE09Odc8s1Wtbt2MB6rNUrl7j9vvfXTJwdQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-length-prefixed@8.0.4: + resolution: + { integrity: sha512-5OJ1lxH+IaqJB7lxe8IAIwt9UfSfsmjKJoAI/RO9djYoBDt1Jfy9PeVHUmOfqhqyu/4kJvWBFAJUaG1HhLQ12A== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-length-prefixed@9.1.1: + resolution: + { integrity: sha512-O88nBweT6M9ozsmok68/auKH7ik/slNM4pYbM9lrfy2z5QnpokW5SlrepHZDKtN71llhG2sZvd6uY4SAl+lAQg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-length@2.0.1: + resolution: + { integrity: sha512-BynaPOK4UwcQX2Z+kqsQygXUNW9NZswfTnscfP7MLhFvVhRYbYJv8XH+09/Qwf8ktk65QdsGoVnDmQUCUGCyvg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-length@3.0.7: + resolution: + { integrity: sha512-URrszwrzPrUn6PtsSFcixG4NwHydaARmPubO0UUnFH+NSNylBaGtair1fnxX7Zf2qVJQltPBVs3PZvcmFPTLXA== } + + it-map@1.0.6: + resolution: + { integrity: sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ== } + + it-map@2.0.1: + resolution: + { integrity: sha512-a2GcYDHiAh/eSU628xlvB56LA98luXZnniH2GlD0IdBzf15shEq9rBeb0Rg3o1SWtNILUAwqmQxEXcewGCdvmQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-map@3.1.2: + resolution: + { integrity: sha512-G3dzFUjTYHKumJJ8wa9dSDS3yKm8L7qDUnAgzemOD0UMztwm54Qc2v97SuUCiAgbOz/aibkSLImfoFK09RlSFQ== } + + it-merge@2.0.1: + resolution: + { integrity: sha512-ItoBy3dPlNKnhjHR8e7nfabfZzH4Jy2OMPvayYH3XHy4YNqSVKmWTIxhz7KX4UMBsLChlIJZ+5j6csJgrYGQtw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-merge@3.0.9: + resolution: + { integrity: sha512-TjY4WTiwe4ONmaKScNvHDAJj6Tw0UeQFp4JrtC/3Mq7DTyhytes7mnv5OpZV4gItpZcs0AgRntpT2vAy2cnXUw== } + + it-ndjson@1.1.2: + resolution: + { integrity: sha512-TPKpdYSNKjDdroCPnLamM5Up6XnPQ7F1KgNP3Ib5y5O4ayOVP+DHac/pzjUigcg9Kf9gkGVXDz8+FFKpWwoB3w== } + + it-pair@2.0.6: + resolution: + { integrity: sha512-5M0t5RAcYEQYNG5BV7d7cqbdwbCAp5yLdzvkxsZmkuZsLbTdZzah6MQySYfaAQjNDCq6PUnDt0hqBZ4NwMfW6g== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-parallel-batch@1.0.11: + resolution: + { integrity: sha512-UWsWHv/kqBpMRmyZJzlmZeoAMA0F3SZr08FBdbhtbe+MtoEBgr/ZUAKrnenhXCBrsopy76QjRH2K/V8kNdupbQ== } + + it-parallel-batch@2.0.1: + resolution: + { integrity: sha512-tXh567/JfDGJ90Zi//H9HkL7kY27ARp0jf2vu2jUI6PUVBWfsoT+gC4eT41/b4+wkJXSGgT8ZHnivAOlMfcNjA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-parallel-batch@3.0.7: + resolution: + { integrity: sha512-R/YKQMefUwLYfJ2UxMaxQUf+Zu9TM+X1KFDe4UaSQlcNog6AbMNMBt3w1suvLEjDDMrI9FNrlopVumfBIboeOg== } + + it-parallel@3.0.9: + resolution: + { integrity: sha512-FSg8T+pr7Z1VUuBxEzAAp/K1j8r1e9mOcyzpWMxN3mt33WFhroFjWXV1oYSSjNqcdYwxD/XgydMVMktJvKiDog== } + + it-pb-stream@3.2.1: + resolution: + { integrity: sha512-vKE04Zv5MUcwxPNE9bIEfYK3rd/Klj5ORGD1D8Bn5f0mbCLGfouSrqZP1Jntg2osqQg4BN5dKKS2BbfwyGUI3Q== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-peekable@2.0.1: + resolution: + { integrity: sha512-fJ/YTU9rHRhGJOM2hhQKKEfRM6uKB9r4yGGFLBHqp72ACC8Yi6+7/FhuBAMG8cpN6mLoj9auVX7ZJ3ul6qFpTA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-peekable@3.0.6: + resolution: + { integrity: sha512-odk9wn8AwFQipy8+tFaZNRCM62riraKZJRysfbmOett9wgJumCwgZFzWUBUwMoiQapEcEVGwjDpMChZIi+zLuQ== } + + it-pipe@2.0.5: + resolution: + { integrity: sha512-y85nW1N6zoiTnkidr2EAyC+ZVzc7Mwt2p+xt2a2ooG1ThFakSpNw1Kxm+7F13Aivru96brJhjQVRQNU+w0yozw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-pipe@3.0.1: + resolution: + { integrity: sha512-sIoNrQl1qSRg2seYSBH/3QxWhJFn9PKYvOf/bHdtCBF0bnghey44VyASsWzn5dAx0DCDDABq1hZIuzKmtBZmKA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-protobuf-stream@1.1.6: + resolution: + { integrity: sha512-TxqgDHXTBt1XkYhrGKP8ubNsYD4zuTClSg6S1M0xTPsskGKA4nPFOGM60zrkh4NMB1Wt3EnsqM5U7kXkx60EXQ== } + + it-pushable@3.2.3: + resolution: + { integrity: sha512-gzYnXYK8Y5t5b/BnJUr7glfQLO4U5vyb05gPx/TyTw+4Bv1zM9gFk4YsOrnulWefMewlphCjKkakFvj1y99Tcg== } + + it-queueless-pushable@1.0.2: + resolution: + { integrity: sha512-BFIm48C4O8+i+oVEPQpZ70+CaAsVUircvZtZCrpG2Q64933aLp+tDmas1mTBwqVBfIUUlg09d+e6SWW1CBuykQ== } + + it-queueless-pushable@2.0.0: + resolution: + { integrity: sha512-MlNnefWT/ntv5fesrHpxwVIu6ZdtlkN0A4aaJiE5wnmPMBv9ttiwX3UEMf78dFwIj5ZNaU9usYXg4swMEpUNJQ== } + + it-reader@6.0.4: + resolution: + { integrity: sha512-XCWifEcNFFjjBHtor4Sfaj8rcpt+FkY0L6WdhD578SCDhV4VUm7fCkF3dv5a+fTcfQqvN9BsxBTvWbYO6iCjTg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-sort@2.0.1: + resolution: + { integrity: sha512-9f4jKOTHfxc/FJpg/wwuQ+j+88i+sfNGKsu2HukAKymm71/XDnBFtOAOzaimko3YIhmn/ERwnfEKrsYLykxw9A== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-sort@3.0.7: + resolution: + { integrity: sha512-PsaKSd2Z0uhq8Mq5htdfsE/UagmdLCLWdBXPwi3FZGR4BTG180pFamhK+O+luFtBCNGRoqKAdtbZGTyGwA9uzw== } + + it-stream-types@1.0.5: + resolution: + { integrity: sha512-I88Ka1nHgfX62e5mi5LLL+oueqz7Ltg0bUdtsUKDe9SoUqbQPf2Mp5kxDTe9pNhHQGs4pvYPAINwuZ1HAt42TA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-stream-types@2.0.2: + resolution: + { integrity: sha512-Rz/DEZ6Byn/r9+/SBCuJhpPATDF9D+dz5pbgSUyBsCDtza6wtNATrz/jz1gDyNanC3XdLboriHnOC925bZRBww== } + + it-take@2.0.1: + resolution: + { integrity: sha512-DL7kpZNjuoeSTnB9dMAJ0Z3m2T29LRRAU+HIgkiQM+1jH3m8l9e/1xpWs8JHTlbKivbqSFrQMTc8KVcaQNmsaA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-take@3.0.7: + resolution: + { integrity: sha512-0+EbsTvH1XCpwhhFkjWdqJTjzS5XP3KL69woBqwANNhMLKn0j39jk/WHIlvbg9XW2vEm7cZz4p8w5DkBZR8LoA== } + + it-tar@6.0.5: + resolution: + { integrity: sha512-GxKBamsX2EZA6jrNh6xoeKmRpbOELgYhCk1ojhN0TFSBdxwkRBqBRc3sI43vTHRpI7i2o6ptrSxK3LLKWNvudg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-to-buffer@3.0.1: + resolution: + { integrity: sha512-TiMudfypF2yW+HdNfhDgbkNQ42yuK1MizB716kwnzIJSQa8AM15zh+VZG2L/xQWaqyWfra1dr9neWO55xsYolA== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-to-buffer@4.0.8: + resolution: + { integrity: sha512-niZbR/+GbyQ2F2Nj79EJprT0gji5Si4nM1eJpgtlvfbvhsi5ZgA/y+mzSrOoNajiTC3svqvoNy8HGlTW2Faz/A== } + + it-to-stream@1.0.0: + resolution: + { integrity: sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA== } + + it-ws@5.0.6: + resolution: + { integrity: sha512-TEEJQaGtkxgP/nGVq8dq48nPT85Afu8kwwvtDFLj4rQLWRhZcb26RWdXLdn9qhXkWPiWbK5H7JWBW1Bebj/SuQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + it-ws@6.1.5: + resolution: + { integrity: sha512-uWjMtpy5HqhSd/LlrlP3fhYrr7rUfJFFMABv0F5d6n13Q+0glhZthwUKpEAVhDrXY95Tb1RB5lLqqef+QbVNaw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + jackspeak@3.4.3: + resolution: + { integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== } + + jayson@4.1.3: + resolution: + { integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ== } + engines: { node: '>=8' } + hasBin: true + + jest-environment-node@29.7.0: + resolution: + { integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-get-type@29.6.3: + resolution: + { integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-haste-map@29.7.0: + resolution: + { integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-message-util@29.7.0: + resolution: + { integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-mock@29.7.0: + resolution: + { integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-regex-util@29.6.3: + resolution: + { integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-util@29.7.0: + resolution: + { integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-validate@29.7.0: + resolution: + { integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-worker@29.7.0: + resolution: + { integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + js-tokens@4.0.0: + resolution: + { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + + js-yaml@3.14.1: + resolution: + { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } + hasBin: true + + js-yaml@4.1.0: + resolution: + { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } + hasBin: true + + jsbn@1.1.0: + resolution: + { integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== } + + jsc-safe-url@0.2.4: + resolution: + { integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== } + + jscodeshift@17.3.0: + resolution: + { integrity: sha512-LjFrGOIORqXBU+jwfC9nbkjmQfFldtMIoS6d9z2LG/lkmyNXsJAySPT+2SWXJEoE68/bCWcxKpXH37npftgmow== } + engines: { node: '>=16' } + hasBin: true + peerDependencies: + '@babel/preset-env': ^7.1.6 + peerDependenciesMeta: + '@babel/preset-env': + optional: true + + jsesc@2.5.2: + resolution: + { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== } + engines: { node: '>=4' } + hasBin: true + + jsesc@3.0.2: + resolution: + { integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== } + engines: { node: '>=6' } + hasBin: true + + jsesc@3.1.0: + resolution: + { integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== } + engines: { node: '>=6' } + hasBin: true + + json-buffer@3.0.1: + resolution: + { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } + + json-parse-better-errors@1.0.2: + resolution: + { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } + + json-schema-traverse@0.4.1: + resolution: + { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + + json-stable-stringify-without-jsonify@1.0.1: + resolution: + { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } + + json-stringify-safe@5.0.1: + resolution: + { integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== } + + json5@2.2.3: + resolution: + { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } + engines: { node: '>=6' } + hasBin: true + + jsonfile@6.1.0: + resolution: + { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + + jsonparse@1.3.1: + resolution: + { integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== } + engines: { '0': node >= 0.2.0 } + + just-debounce-it@3.2.0: + resolution: + { integrity: sha512-WXzwLL0745uNuedrCsCs3rpmfD6DBaf7uuVwaq98/8dafURfgQaBsSpjiPp5+CW6Vjltwy9cOGI6qE71b3T8iQ== } + + just-safe-get@4.2.0: + resolution: + { integrity: sha512-+tS4Bvgr/FnmYxOGbwziJ8I2BFk+cP1gQHm6rm7zo61w1SbxBwWGEq/Ryy9Gb6bvnloPq6pz7Bmm4a0rjTNlXA== } + + just-safe-set@4.2.1: + resolution: + { integrity: sha512-La5CP41Ycv52+E4g7w1sRV8XXk7Sp8a/TwWQAYQKn6RsQz1FD4Z/rDRRmqV3wJznS1MDF3YxK7BCudX1J8FxLg== } + + k-bucket@5.1.0: + resolution: + { integrity: sha512-Fac7iINEovXIWU20GPnOMLUbjctiS+cnmyjC4zAUgvs3XPf1vo9akfCHkigftSic/jiKqKl+KA3a/vFcJbHyCg== } + + keyv@4.5.4: + resolution: + { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } + + kind-of@6.0.3: + resolution: + { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } + engines: { node: '>=0.10.0' } + + kuler@2.0.0: + resolution: + { integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== } + + level-supports@4.0.1: + resolution: + { integrity: sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA== } + engines: { node: '>=12' } + + level-transcoder@1.0.1: + resolution: + { integrity: sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w== } + engines: { node: '>=12' } + + level@8.0.1: + resolution: + { integrity: sha512-oPBGkheysuw7DmzFQYyFe8NAia5jFLAgEnkgWnK3OXAuJr8qFT+xBQIwokAZPME2bhPFzS8hlYcL16m8UZrtwQ== } + engines: { node: '>=12' } + + leven@3.1.0: + resolution: + { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } + engines: { node: '>=6' } + + levn@0.4.1: + resolution: + { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } + engines: { node: '>= 0.8.0' } + + libp2p@0.42.2: + resolution: + { integrity: sha512-arTOCJEEmAFw5HjlXdULVAFs7Y/dWZmgX/qN4SzuxtSkB0pa+fqn/DIbIfpBi2BuY+QozvnARPF1xJtSdqfqJQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + libp2p@2.8.2: + resolution: + { integrity: sha512-LYZUWXcL5kQ+5VIiWhUWURLR7tgNBfwqGTLtZukMqjb33U/YAdd9lqW2MXjvaJLXPuGgRAatisDTOEP/ckfhWA== } + + lighthouse-logger@1.4.2: + resolution: + { integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g== } + + lilconfig@3.1.3: + resolution: + { integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== } + engines: { node: '>=14' } + + lint-staged@15.5.0: + resolution: + { integrity: sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg== } + engines: { node: '>=18.12.0' } + hasBin: true + + listr2@8.2.5: + resolution: + { integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ== } + engines: { node: '>=18.0.0' } + + locate-path@3.0.0: + resolution: + { integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== } + engines: { node: '>=6' } + + locate-path@5.0.0: + resolution: + { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } + engines: { node: '>=8' } + + locate-path@6.0.0: + resolution: + { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } + engines: { node: '>=10' } + + lodash.camelcase@4.3.0: + resolution: + { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } + + lodash.debounce@4.0.8: + resolution: + { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } + + lodash.merge@4.6.2: + resolution: + { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } + + lodash.throttle@4.1.1: + resolution: + { integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== } + + lodash@4.17.21: + resolution: + { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } + + log-symbols@4.1.0: + resolution: + { integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== } + engines: { node: '>=10' } + + log-symbols@5.1.0: + resolution: + { integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA== } + engines: { node: '>=12' } + + log-update@6.1.0: + resolution: + { integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== } + engines: { node: '>=18' } + + logform@2.7.0: + resolution: + { integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ== } + engines: { node: '>= 12.0.0' } + + long@4.0.0: + resolution: + { integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== } + + long@5.3.1: + resolution: + { integrity: sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng== } + + longbits@1.1.0: + resolution: + { integrity: sha512-22U2exkkYy7sr7nuQJYx2NEZ2kEMsC69+BxM5h8auLvkVIJa+LwAB5mFIExnuW2dFuYXFOWsFMKXjaWiq/htYQ== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + loose-envify@1.4.0: + resolution: + { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } + hasBin: true + + lru-cache@10.4.3: + resolution: + { integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== } + + lru-cache@5.1.1: + resolution: + { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } + + lru@3.1.0: + resolution: + { integrity: sha512-5OUtoiVIGU4VXBOshidmtOsvBIvcQR6FD/RzWSvaeHyxCGB+PCUCu+52lqMfdc0h/2CLvHhZS4TwUmMQrrMbBQ== } + engines: { node: '>= 0.4.0' } + + make-dir@2.1.0: + resolution: + { integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== } + engines: { node: '>=6' } + + make-error@1.3.6: + resolution: + { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } + + makeerror@1.0.12: + resolution: + { integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== } + + marky@1.2.5: + resolution: + { integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q== } + + math-intrinsics@1.1.0: + resolution: + { integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== } + engines: { node: '>= 0.4' } + + media-typer@0.3.0: + resolution: + { integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== } + engines: { node: '>= 0.6' } + + media-typer@1.1.0: + resolution: + { integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== } + engines: { node: '>= 0.8' } + + memoize-one@5.2.1: + resolution: + { integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== } + + merge-descriptors@1.0.3: + resolution: + { integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== } + + merge-descriptors@2.0.0: + resolution: + { integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== } + engines: { node: '>=18' } + + merge-options@3.0.4: + resolution: + { integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== } + engines: { node: '>=10' } + + merge-stream@2.0.0: + resolution: + { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + + merge2@1.4.1: + resolution: + { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } + engines: { node: '>= 8' } + + methods@1.1.2: + resolution: + { integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== } + engines: { node: '>= 0.6' } + + metro-babel-transformer@0.81.4: + resolution: + { integrity: sha512-WW0yswWrW+eTVK9sYD+b1HwWOiUlZlUoomiw9TIOk0C+dh2V90Wttn/8g62kYi0Y4i+cJfISerB2LbV4nuRGTA== } + engines: { node: '>=18.18' } + + metro-cache-key@0.81.4: + resolution: + { integrity: sha512-3SaWQybvf1ivasjBegIxzVKLJzOpcz+KsnGwXFOYADQq0VN4cnM7tT+u2jkOhk6yJiiO1WIjl68hqyMOQJRRLg== } + engines: { node: '>=18.18' } + + metro-cache@0.81.4: + resolution: + { integrity: sha512-sxCPH3gowDxazSaZZrwdNPEpnxR8UeXDnvPjBF9+5btDBNN2DpWvDAXPvrohkYkFImhc0LajS2V7eOXvu9PnvQ== } + engines: { node: '>=18.18' } + + metro-config@0.81.4: + resolution: + { integrity: sha512-QnhMy3bRiuimCTy7oi5Ug60javrSa3lPh0gpMAspQZHY9h6y86jwHtZPLtlj8hdWQESIlrbeL8inMSF6qI/i9Q== } + engines: { node: '>=18.18' } + + metro-core@0.81.4: + resolution: + { integrity: sha512-GdL4IgmgJhrMA/rTy2lRqXKeXfC77Rg+uvhUEkbhyfj/oz7PrdSgvIFzziapjdHwk1XYq0KyFh/CcVm8ZawG6A== } + engines: { node: '>=18.18' } + + metro-file-map@0.81.4: + resolution: + { integrity: sha512-qUIBzkiqOi3qEuscu4cJ83OYQ4hVzjON19FAySWqYys9GKCmxlKa7LkmwqdpBso6lQl+JXZ7nCacX90w5wQvPA== } + engines: { node: '>=18.18' } + + metro-minify-terser@0.81.4: + resolution: + { integrity: sha512-oVvq/AGvqmbhuijJDZZ9npeWzaVyeBwQKtdlnjcQ9fH7nR15RiBr5y2zTdgTEdynqOIb1Kc16l8CQIUSzOWVFA== } + engines: { node: '>=18.18' } + + metro-resolver@0.81.4: + resolution: + { integrity: sha512-Ng7G2mXjSExMeRzj6GC19G6IJ0mfIbOLgjArsMWJgtt9ViZiluCwgWsMW9juBC5NSwjJxUMK2x6pC5NIMFLiHA== } + engines: { node: '>=18.18' } + + metro-runtime@0.81.4: + resolution: + { integrity: sha512-fBoRgqkF69CwyPtBNxlDi5ha26Zc8f85n2THXYoh13Jn/Bkg8KIDCdKPp/A1BbSeNnkH/++H2EIIfnmaff4uRg== } + engines: { node: '>=18.18' } + + metro-source-map@0.81.4: + resolution: + { integrity: sha512-IOwVQ7mLqoqvsL70RZtl1EyE3f9jp43kVsAsb/B/zoWmu0/k4mwEhGLTxmjdXRkLJqPqPrh7WmFChAEf9trW4Q== } + engines: { node: '>=18.18' } + + metro-symbolicate@0.81.4: + resolution: + { integrity: sha512-rWxTmYVN6/BOSaMDUHT8HgCuRf6acd0AjHkenYlHpmgxg7dqdnAG1hLq999q2XpW5rX+cMamZD5W5Ez2LqGaag== } + engines: { node: '>=18.18' } + hasBin: true + + metro-transform-plugins@0.81.4: + resolution: + { integrity: sha512-nlP069nDXm4v28vbll4QLApAlvVtlB66rP6h+ml8Q/CCQCPBXu2JLaoxUmkIOJQjLhMRUcgTyQHq+TXWJhydOQ== } + engines: { node: '>=18.18' } + + metro-transform-worker@0.81.4: + resolution: + { integrity: sha512-lKAeRZ8EUMtx2cA/Y4KvICr9bIr5SE03iK3lm+l9wyn2lkjLUuPjYVep159inLeDqC6AtSubsA8MZLziP7c03g== } + engines: { node: '>=18.18' } + + metro@0.81.4: + resolution: + { integrity: sha512-78f0aBNPuwXW7GFnSc+Y0vZhbuQorXxdgqQfvSRqcSizqwg9cwF27I05h47tL8AzQcizS1JZncvq4xf5u/Qykw== } + engines: { node: '>=18.18' } + hasBin: true + + micromatch@4.0.8: + resolution: + { integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== } + engines: { node: '>=8.6' } + + mime-db@1.52.0: + resolution: + { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } + engines: { node: '>= 0.6' } + + mime-db@1.54.0: + resolution: + { integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== } + engines: { node: '>= 0.6' } + + mime-types@2.1.35: + resolution: + { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } + engines: { node: '>= 0.6' } + + mime-types@3.0.1: + resolution: + { integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA== } + engines: { node: '>= 0.6' } + + mime@1.6.0: + resolution: + { integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== } + engines: { node: '>=4' } + hasBin: true + + mimic-fn@2.1.0: + resolution: + { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } + engines: { node: '>=6' } + + mimic-fn@4.0.0: + resolution: + { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } + engines: { node: '>=12' } + + mimic-function@5.0.1: + resolution: + { integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== } + engines: { node: '>=18' } + + mimic-response@3.1.0: + resolution: + { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } + engines: { node: '>=10' } + + minimatch@3.1.2: + resolution: + { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } + + minimatch@9.0.5: + resolution: + { integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== } + engines: { node: '>=16 || 14 >=14.17' } + + minimist@1.2.8: + resolution: + { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } + + minipass@7.1.2: + resolution: + { integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== } + engines: { node: '>=16 || 14 >=14.17' } + + mkdirp-classic@0.5.3: + resolution: + { integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== } + + mkdirp@0.5.6: + resolution: + { integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== } + hasBin: true + + mkdirp@1.0.4: + resolution: + { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } + engines: { node: '>=10' } + hasBin: true + + module-error@1.0.2: + resolution: + { integrity: sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== } + engines: { node: '>=10' } + + morgan@1.10.0: + resolution: + { integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== } + engines: { node: '>= 0.8.0' } + + mortice@3.0.6: + resolution: + { integrity: sha512-xUjsTQreX8rO3pHuGYDZ3PY/sEiONIzqzjLeog5akdY4bz9TlDDuvYlU8fm+6qnm4rnpa6AFxLhsfSBThLijdA== } + + ms@2.0.0: + resolution: + { integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== } + + ms@2.1.2: + resolution: + { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + + ms@2.1.3: + resolution: + { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } + + ms@3.0.0-canary.1: + resolution: + { integrity: sha512-kh8ARjh8rMN7Du2igDRO9QJnqCb2xYTJxyQYK7vJJS4TvLLmsbyhiKpSW+t+y26gyOyMd0riphX0GeWKU3ky5g== } + engines: { node: '>=12.13' } + + multer@1.4.5-lts.2: + resolution: + { integrity: sha512-VzGiVigcG9zUAoCNU+xShztrlr1auZOlurXynNvO9GiWD1/mTBbUljOKY+qMeazBqXgRnjzeEgJI/wyjJUHg9A== } + engines: { node: '>= 6.0.0' } + + multicast-dns@7.2.5: + resolution: + { integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== } + hasBin: true + + multiformats@11.0.2: + resolution: + { integrity: sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + multiformats@12.1.3: + resolution: + { integrity: sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + multiformats@13.3.2: + resolution: + { integrity: sha512-qbB0CQDt3QKfiAzZ5ZYjLFOs+zW43vA4uyM8g27PeEuXZybUOFyjrVdP93HPBHMoglibwfkdVwbzfUq8qGcH6g== } + + multistream@4.1.0: + resolution: + { integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw== } + + murmurhash3js-revisited@3.0.0: + resolution: + { integrity: sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g== } + engines: { node: '>=8.0.0' } + + mute-stream@1.0.0: + resolution: + { integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + mute-stream@2.0.0: + resolution: + { integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA== } + engines: { node: ^18.17.0 || >=20.5.0 } + + nan@2.22.2: + resolution: + { integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ== } + + nanoid@3.3.11: + resolution: + { integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + + nanoid@4.0.2: + resolution: + { integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw== } + engines: { node: ^14 || ^16 || >=18 } + hasBin: true + + nanoid@5.1.5: + resolution: + { integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw== } + engines: { node: ^18 || >=20 } + hasBin: true + + napi-build-utils@1.0.2: + resolution: + { integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== } + + napi-build-utils@2.0.0: + resolution: + { integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== } + + napi-macros@2.2.2: + resolution: + { integrity: sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g== } + + native-fetch@3.0.0: + resolution: + { integrity: sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw== } + peerDependencies: + node-fetch: '*' + + native-fetch@4.0.2: + resolution: + { integrity: sha512-4QcVlKFtv2EYVS5MBgsGX5+NWKtbDbIECdUXDBGDMAZXq3Jkv9zf+y8iS7Ub8fEdga3GpYeazp9gauNqXHJOCg== } + peerDependencies: + undici: '*' + + natural-compare@1.4.0: + resolution: + { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } + + negotiator@0.6.3: + resolution: + { integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== } + engines: { node: '>= 0.6' } + + negotiator@1.0.0: + resolution: + { integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== } + engines: { node: '>= 0.6' } + + neo-async@2.6.2: + resolution: + { integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== } + + net@1.0.2: + resolution: + { integrity: sha512-kbhcj2SVVR4caaVnGLJKmlk2+f+oLkjqdKeQlmUtz6nGzOpbcobwVIeSURNgraV/v3tlmGIX82OcPCl0K6RbHQ== } + + netmask@2.0.2: + resolution: + { integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== } + engines: { node: '>= 0.4.0' } + + node-abi@3.74.0: + resolution: + { integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w== } + engines: { node: '>=10' } + + node-fetch@2.7.0: + resolution: + { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } + engines: { node: 4.x || >=6.0.0 } + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-forge@1.3.1: + resolution: + { integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== } + engines: { node: '>= 6.13.0' } + + node-gyp-build@4.8.4: + resolution: + { integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== } + hasBin: true + + node-int64@0.4.0: + resolution: + { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } + + node-releases@2.0.19: + resolution: + { integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== } + + nodemon@3.1.9: + resolution: + { integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg== } + engines: { node: '>=10' } + hasBin: true + + normalize-path@3.0.0: + resolution: + { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } + engines: { node: '>=0.10.0' } + + npm-run-path@5.3.0: + resolution: + { integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + nullthrows@1.1.1: + resolution: + { integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== } + + ob1@0.81.4: + resolution: + { integrity: sha512-EZLYM8hfPraC2SYOR5EWLFAPV5e6g+p83m2Jth9bzCpFxP1NDQJYXdmXRB2bfbaWQSmm6NkIQlbzk7uU5lLfgg== } + engines: { node: '>=18.18' } + + object-assign@4.1.1: + resolution: + { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } + engines: { node: '>=0.10.0' } + + object-inspect@1.13.4: + resolution: + { integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== } + engines: { node: '>= 0.4' } + + observable-webworkers@2.0.1: + resolution: + { integrity: sha512-JI1vB0u3pZjoQKOK1ROWzp0ygxSi7Yb0iR+7UNsw4/Zn4cQ0P3R7XL38zac/Dy2tEA7Lg88/wIJTjF8vYXZ0uw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + on-finished@2.3.0: + resolution: + { integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== } + engines: { node: '>= 0.8' } + + on-finished@2.4.1: + resolution: + { integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== } + engines: { node: '>= 0.8' } + + on-headers@1.0.2: + resolution: + { integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== } + engines: { node: '>= 0.8' } + + once@1.4.0: + resolution: + { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + + one-time@1.0.0: + resolution: + { integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== } + + onetime@5.1.2: + resolution: + { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } + engines: { node: '>=6' } + + onetime@6.0.0: + resolution: + { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } + engines: { node: '>=12' } + + onetime@7.0.0: + resolution: + { integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== } + engines: { node: '>=18' } + + open@7.4.2: + resolution: + { integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== } + engines: { node: '>=8' } + + optionator@0.9.4: + resolution: + { integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== } + engines: { node: '>= 0.8.0' } + + ora@5.4.1: + resolution: + { integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== } + engines: { node: '>=10' } + + ora@7.0.1: + resolution: + { integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw== } + engines: { node: '>=16' } + + os-tmpdir@1.0.2: + resolution: + { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } + engines: { node: '>=0.10.0' } + + p-defer@3.0.0: + resolution: + { integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== } + engines: { node: '>=8' } + + p-defer@4.0.1: + resolution: + { integrity: sha512-Mr5KC5efvAK5VUptYEIopP1bakB85k2IWXaRC0rsh1uwn1L6M0LVml8OIQ4Gudg4oyZakf7FmeRLkMMtZW1i5A== } + engines: { node: '>=12' } + + p-event@5.0.1: + resolution: + { integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + p-event@6.0.1: + resolution: + { integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w== } + engines: { node: '>=16.17' } + + p-fifo@1.0.0: + resolution: + { integrity: sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A== } + + p-is-promise@3.0.0: + resolution: + { integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== } + engines: { node: '>=8' } + + p-limit@2.3.0: + resolution: + { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } + engines: { node: '>=6' } + + p-limit@3.1.0: + resolution: + { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } + engines: { node: '>=10' } + + p-limit@4.0.0: + resolution: + { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + p-locate@3.0.0: + resolution: + { integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== } + engines: { node: '>=6' } + + p-locate@4.1.0: + resolution: + { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } + engines: { node: '>=8' } + + p-locate@5.0.0: + resolution: + { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } + engines: { node: '>=10' } + + p-queue@7.4.1: + resolution: + { integrity: sha512-vRpMXmIkYF2/1hLBKisKeVYJZ8S2tZ0zEAmIJgdVKP2nq0nh4qCdf8bgw+ZgKrkh71AOCaqzwbJJk1WtdcF3VA== } + engines: { node: '>=12' } + + p-queue@8.1.0: + resolution: + { integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw== } + engines: { node: '>=18' } + + p-reflect@3.1.0: + resolution: + { integrity: sha512-3sG3UlpisPSaX+o7u2q01hIQmrpkvdl5GSO1ZwL7pfc5kHB2bPF0eFNCfYTrW1/LTUdgmPwBAvmT0Zr8eSmaAQ== } + engines: { node: '>=12' } + + p-retry@5.1.2: + resolution: + { integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + p-retry@6.2.1: + resolution: + { integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ== } + engines: { node: '>=16.17' } + + p-settle@5.1.1: + resolution: + { integrity: sha512-VLgSBpA71aMncPVP5Es4nhQYxcxN0lit8hGlobJke8YTAhtwdRDu/s4KePP5gCT5LFfZty3qosBFYMgD5rFpCg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + p-timeout@5.1.0: + resolution: + { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== } + engines: { node: '>=12' } + + p-timeout@6.1.4: + resolution: + { integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg== } + engines: { node: '>=14.16' } + + p-try@2.2.0: + resolution: + { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } + engines: { node: '>=6' } + + p-wait-for@5.0.2: + resolution: + { integrity: sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA== } + engines: { node: '>=12' } + + package-json-from-dist@1.0.1: + resolution: + { integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== } + + pako@2.1.0: + resolution: + { integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== } + + parent-module@1.0.1: + resolution: + { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } + engines: { node: '>=6' } + + parse-duration@1.1.2: + resolution: + { integrity: sha512-p8EIONG8L0u7f8GFgfVlL4n8rnChTt8O5FSxgxMz2tjc9FMP199wxVKVB6IbKx11uTbKHACSvaLVIKNnoeNR/A== } + + parse-json@4.0.0: + resolution: + { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } + engines: { node: '>=4' } + + parseurl@1.3.3: + resolution: + { integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== } + engines: { node: '>= 0.8' } + + path-exists@3.0.0: + resolution: + { integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== } + engines: { node: '>=4' } + + path-exists@4.0.0: + resolution: + { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } + engines: { node: '>=8' } + + path-is-absolute@1.0.1: + resolution: + { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } + engines: { node: '>=0.10.0' } + + path-key@3.1.1: + resolution: + { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } + engines: { node: '>=8' } + + path-key@4.0.0: + resolution: + { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } + engines: { node: '>=12' } + + path-parse@1.0.7: + resolution: + { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + + path-scurry@1.11.1: + resolution: + { integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== } + engines: { node: '>=16 || 14 >=14.18' } + + path-to-regexp@0.1.12: + resolution: + { integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== } + + path-to-regexp@8.2.0: + resolution: + { integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ== } + engines: { node: '>=16' } + + path-type@4.0.0: + resolution: + { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } + engines: { node: '>=8' } + + picocolors@1.1.1: + resolution: + { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== } + + picomatch@2.3.1: + resolution: + { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } + engines: { node: '>=8.6' } + + pidtree@0.6.0: + resolution: + { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } + engines: { node: '>=0.10' } + hasBin: true + + pify@4.0.1: + resolution: + { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } + engines: { node: '>=6' } + + pirates@4.0.7: + resolution: + { integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== } + engines: { node: '>= 6' } + + pkg-dir@3.0.0: + resolution: + { integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== } + engines: { node: '>=6' } + + pkg-fetch@3.4.2: + resolution: + { integrity: sha512-0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA== } + hasBin: true + + pkg@5.8.1: + resolution: + { integrity: sha512-CjBWtFStCfIiT4Bde9QpJy0KeH19jCfwZRJqHFDFXfhUklCx8JoFmMj3wgnEYIwGmZVNkhsStPHEOnrtrQhEXA== } + hasBin: true + peerDependencies: + node-notifier: '>=9.0.1' + peerDependenciesMeta: + node-notifier: + optional: true + + platform@1.3.6: + resolution: + { integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== } + + prebuild-install@7.1.1: + resolution: + { integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== } + engines: { node: '>=10' } + hasBin: true + + prebuild-install@7.1.3: + resolution: + { integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== } + engines: { node: '>=10' } + hasBin: true + + prelude-ls@1.2.1: + resolution: + { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } + engines: { node: '>= 0.8.0' } + + prettier-linter-helpers@1.0.0: + resolution: + { integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== } + engines: { node: '>=6.0.0' } + + prettier@3.5.3: + resolution: + { integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== } + engines: { node: '>=14' } + hasBin: true + + pretty-format@29.7.0: + resolution: + { integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + private-ip@3.0.2: + resolution: + { integrity: sha512-2pkOVPGYD/4QyAg95c6E/4bLYXPthT5Xw4ocXYzIIsMBhskOMn6IwkWXmg6ZiA6K58+O6VD/n02r1hDhk7vDPw== } + engines: { node: '>=14.16' } + + process-nextick-args@2.0.1: + resolution: + { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } + + process@0.11.10: + resolution: + { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } + engines: { node: '>= 0.6.0' } + + progress-events@1.0.1: + resolution: + { integrity: sha512-MOzLIwhpt64KIVN64h1MwdKWiyKFNc/S6BoYKPIVUHFg0/eIEyBulhWCgn678v/4c0ri3FdGuzXymNCv02MUIw== } + + progress@2.0.3: + resolution: + { integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== } + engines: { node: '>=0.4.0' } + + prom-client@14.2.0: + resolution: + { integrity: sha512-sF308EhTenb/pDRPakm+WgiN+VdM/T1RaHj1x+MvAuT8UiQP8JmOEbxVqtkbfR4LrvOg5n7ic01kRBDGXjYikA== } + engines: { node: '>=10' } + + promise@8.3.0: + resolution: + { integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== } + + proper-lockfile@4.1.2: + resolution: + { integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== } + + protobufjs@6.11.4: + resolution: + { integrity: sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== } + hasBin: true + + protobufjs@7.4.0: + resolution: + { integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== } + engines: { node: '>=12.0.0' } + + protons-runtime@4.0.2: + resolution: + { integrity: sha512-R4N6qKHgz8T2Gl45CTcZfITzXPQY9ym8lbLb4VyFMS4ag1KusCRZwkQXTBRhxQ+93ck3K3aDhK1wIk98AMtNyw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + peerDependencies: + uint8arraylist: ^2.3.2 + + protons-runtime@5.5.0: + resolution: + { integrity: sha512-EsALjF9QsrEk6gbCx3lmfHxVN0ah7nG3cY7GySD4xf4g8cr7g543zB88Foh897Sr1RQJ9yDCUsoT1i1H/cVUFA== } + + proxy-addr@2.0.7: + resolution: + { integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== } + engines: { node: '>= 0.10' } + + proxy-from-env@1.1.0: + resolution: + { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } + + pstree.remy@1.1.8: + resolution: + { integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== } + + pump@3.0.2: + resolution: + { integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== } + + punycode@2.3.1: + resolution: + { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== } + engines: { node: '>=6' } + + pvtsutils@1.3.6: + resolution: + { integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg== } + + pvutils@1.1.3: + resolution: + { integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== } + engines: { node: '>=6.0.0' } + + qs@6.13.0: + resolution: + { integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== } + engines: { node: '>=0.6' } + + qs@6.14.0: + resolution: + { integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== } + engines: { node: '>=0.6' } + + queue-microtask@1.2.3: + resolution: + { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + + queue@6.0.2: + resolution: + { integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== } + + quick-lru@6.1.2: + resolution: + { integrity: sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ== } + engines: { node: '>=12' } + + rabin-wasm@0.1.5: + resolution: + { integrity: sha512-uWgQTo7pim1Rnj5TuWcCewRDTf0PEFTSlaUjWP4eY9EbLV9em08v89oCz/WO+wRxpYuO36XEHp4wgYQnAgOHzA== } + hasBin: true + + race-event@1.3.0: + resolution: + { integrity: sha512-kaLm7axfOnahIqD3jQ4l1e471FIFcEGebXEnhxyLscuUzV8C94xVHtWEqDDXxll7+yu/6lW0w1Ff4HbtvHvOHg== } + + race-signal@1.1.3: + resolution: + { integrity: sha512-Mt2NznMgepLfORijhQMncE26IhkmjEphig+/1fKC0OtaKwys/gpvpmswSjoN01SS+VO951mj0L4VIDXdXsjnfA== } + + randombytes@2.1.0: + resolution: + { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } + + range-parser@1.2.1: + resolution: + { integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== } + engines: { node: '>= 0.6' } + + rate-limiter-flexible@2.4.2: + resolution: + { integrity: sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw== } + + raw-body@2.5.2: + resolution: + { integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== } + engines: { node: '>= 0.8' } + + raw-body@3.0.0: + resolution: + { integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g== } + engines: { node: '>= 0.8' } + + rc@1.2.8: + resolution: + { integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== } + hasBin: true + + react-devtools-core@6.1.1: + resolution: + { integrity: sha512-TFo1MEnkqE6hzAbaztnyR5uLTMoz6wnEWwWBsCUzNt+sVXJycuRJdDqvL078M4/h65BI/YO5XWTaxZDWVsW0fw== } + + react-is@18.3.1: + resolution: + { integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== } + + react-native-fetch-api@3.0.0: + resolution: + { integrity: sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA== } + + react-native-webrtc@124.0.5: + resolution: + { integrity: sha512-LIQJKst+t53bJOcQef9VXuz3pVheSBUA4olQGkxosbF4pHW1gsWoXYmf6wmI2zrqOA+aZsjjB6aT9AKLyr6a0Q== } + peerDependencies: + react-native: '>=0.60.0' + + react-native@0.78.1: + resolution: + { integrity: sha512-3CK/xxX02GeeVFyrXbsHvREZFVaXwHW43Km/EdYITn5G32cccWTGaqY9QdPddEBLw5O3BPip3LHbR1SywE0cpA== } + engines: { node: '>=18' } + hasBin: true + peerDependencies: + '@types/react': ^19.0.0 + react: ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-refresh@0.14.2: + resolution: + { integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== } + engines: { node: '>=0.10.0' } + + react@19.1.0: + resolution: + { integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== } + engines: { node: '>=0.10.0' } + + readable-stream@2.3.8: + resolution: + { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } + + readable-stream@3.6.2: + resolution: + { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } + engines: { node: '>= 6' } + + readable-stream@4.7.0: + resolution: + { integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + readdirp@3.6.0: + resolution: + { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } + engines: { node: '>=8.10.0' } + + readline@1.3.0: + resolution: + { integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== } + + recast@0.23.11: + resolution: + { integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA== } + engines: { node: '>= 4' } + + receptacle@1.3.2: + resolution: + { integrity: sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A== } + + reflect-metadata@0.2.2: + resolution: + { integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== } + + regenerate-unicode-properties@10.2.0: + resolution: + { integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== } + engines: { node: '>=4' } + + regenerate@1.4.2: + resolution: + { integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== } + + regenerator-runtime@0.13.11: + resolution: + { integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== } + + regenerator-runtime@0.14.1: + resolution: + { integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== } + + regenerator-transform@0.15.2: + resolution: + { integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== } + + regexpu-core@6.2.0: + resolution: + { integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== } + engines: { node: '>=4' } + + regjsgen@0.8.0: + resolution: + { integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== } + + regjsparser@0.12.0: + resolution: + { integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== } + hasBin: true + + require-directory@2.1.1: + resolution: + { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } + engines: { node: '>=0.10.0' } + + resolve-from@3.0.0: + resolution: + { integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== } + engines: { node: '>=4' } + + resolve-from@4.0.0: + resolution: + { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } + engines: { node: '>=4' } + + resolve-from@5.0.0: + resolution: + { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } + engines: { node: '>=8' } + + resolve@1.22.10: + resolution: + { integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== } + engines: { node: '>= 0.4' } + hasBin: true + + restore-cursor@3.1.0: + resolution: + { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } + engines: { node: '>=8' } + + restore-cursor@4.0.0: + resolution: + { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + restore-cursor@5.1.0: + resolution: + { integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== } + engines: { node: '>=18' } + + retimeable-signal@1.0.1: + resolution: + { integrity: sha512-Cy26CYfbWnYu8HMoJeDhaMpW/EYFIbne3vMf6G9RSrOyWYXbPehja/BEdzpqmM84uy2bfBD7NPZhoQ4GZEtgvg== } + + retimer@3.0.0: + resolution: + { integrity: sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA== } + + retry@0.12.0: + resolution: + { integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== } + engines: { node: '>= 4' } + + retry@0.13.1: + resolution: + { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } + engines: { node: '>= 4' } + + reusify@1.1.0: + resolution: + { integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + + rfdc@1.4.1: + resolution: + { integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== } + + rimraf@3.0.2: + resolution: + { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@5.0.10: + resolution: + { integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== } + hasBin: true + + router@2.2.0: + resolution: + { integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== } + engines: { node: '>= 18' } + + rpc-websockets@9.1.1: + resolution: + { integrity: sha512-1IXGM/TfPT6nfYMIXkJdzn+L4JEsmb0FL1O2OBjaH03V3yuUDdKFulGLMFG6ErV+8pZ5HVC0limve01RyO+saA== } + + run-async@3.0.0: + resolution: + { integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q== } + engines: { node: '>=0.12.0' } + + run-parallel-limit@1.1.0: + resolution: + { integrity: sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw== } + + run-parallel@1.2.0: + resolution: + { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + + rxjs@7.8.2: + resolution: + { integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== } + + safe-buffer@5.1.2: + resolution: + { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } + + safe-buffer@5.2.1: + resolution: + { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } + + safe-stable-stringify@2.5.0: + resolution: + { integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== } + engines: { node: '>=10' } + + safer-buffer@2.1.2: + resolution: + { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + + sanitize-filename@1.6.3: + resolution: + { integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== } + + sax@1.4.1: + resolution: + { integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== } + + scheduler@0.25.0: + resolution: + { integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA== } + + selfsigned@2.4.1: + resolution: + { integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== } + engines: { node: '>=10' } + + semver@5.7.2: + resolution: + { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } + hasBin: true + + semver@6.3.1: + resolution: + { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } + hasBin: true + + semver@7.7.1: + resolution: + { integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== } + engines: { node: '>=10' } + hasBin: true + + send@0.19.0: + resolution: + { integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== } + engines: { node: '>= 0.8.0' } + + send@1.2.0: + resolution: + { integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw== } + engines: { node: '>= 18' } + + serialize-error@2.1.0: + resolution: + { integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw== } + engines: { node: '>=0.10.0' } + + serve-static@1.16.2: + resolution: + { integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== } + engines: { node: '>= 0.8.0' } + + serve-static@2.2.0: + resolution: + { integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ== } + engines: { node: '>= 18' } + + set-delayed-interval@1.0.0: + resolution: + { integrity: sha512-29fhAwuZlLcuBnW/EwxvLcg2D3ELX+VBDNhnavs3YYkab72qmrcSeQNVdzl8EcPPahGQXhBM6MKdPLCQGMDakw== } + + setprototypeof@1.2.0: + resolution: + { integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== } + + shallow-clone@3.0.1: + resolution: + { integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== } + engines: { node: '>=8' } + + shebang-command@2.0.0: + resolution: + { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } + engines: { node: '>=8' } + + shebang-regex@3.0.0: + resolution: + { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } + engines: { node: '>=8' } + + shell-quote@1.8.2: + resolution: + { integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== } + engines: { node: '>= 0.4' } + + side-channel-list@1.0.0: + resolution: + { integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== } + engines: { node: '>= 0.4' } + + side-channel-map@1.0.1: + resolution: + { integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== } + engines: { node: '>= 0.4' } + + side-channel-weakmap@1.0.2: + resolution: + { integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== } + engines: { node: '>= 0.4' } + + side-channel@1.1.0: + resolution: + { integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== } + engines: { node: '>= 0.4' } + + signal-exit@3.0.7: + resolution: + { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + + signal-exit@4.1.0: + resolution: + { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } + engines: { node: '>=14' } + + simple-concat@1.0.1: + resolution: + { integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== } + + simple-get@4.0.1: + resolution: + { integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== } + + simple-git@3.27.0: + resolution: + { integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA== } + + simple-swizzle@0.2.2: + resolution: + { integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== } + + simple-update-notifier@2.0.0: + resolution: + { integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== } + engines: { node: '>=10' } + + slash@3.0.0: + resolution: + { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } + engines: { node: '>=8' } + + slice-ansi@5.0.0: + resolution: + { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } + engines: { node: '>=12' } + + slice-ansi@7.1.0: + resolution: + { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } + engines: { node: '>=18' } + + smart-buffer@4.2.0: + resolution: + { integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== } + engines: { node: '>= 6.0.0', npm: '>= 3.0.0' } + + socket.io-adapter@2.5.5: + resolution: + { integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg== } + + socket.io-client@4.8.1: + resolution: + { integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ== } + engines: { node: '>=10.0.0' } + + socket.io-parser@4.2.4: + resolution: + { integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== } + engines: { node: '>=10.0.0' } + + socket.io@4.8.1: + resolution: + { integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg== } + engines: { node: '>=10.2.0' } + + socks-proxy-agent@8.0.5: + resolution: + { integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== } + engines: { node: '>= 14' } + + socks@2.8.4: + resolution: + { integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ== } + engines: { node: '>= 10.0.0', npm: '>= 3.0.0' } + + sort-keys@5.1.0: + resolution: + { integrity: sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ== } + engines: { node: '>=12' } + + source-map-support@0.5.21: + resolution: + { integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== } + + source-map@0.5.7: + resolution: + { integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== } + engines: { node: '>=0.10.0' } + + source-map@0.6.1: + resolution: + { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } + engines: { node: '>=0.10.0' } + + sparse-array@1.3.2: + resolution: + { integrity: sha512-ZT711fePGn3+kQyLuv1fpd3rNSkNF8vd5Kv2D+qnOANeyKs3fx6bUMGWRPvgTTcYV64QMqZKZwcuaQSP3AZ0tg== } + + split-ca@1.0.1: + resolution: + { integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ== } + + sprintf-js@1.0.3: + resolution: + { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } + + sprintf-js@1.1.2: + resolution: + { integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== } + + sprintf-js@1.1.3: + resolution: + { integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== } + + ssh2@1.16.0: + resolution: + { integrity: sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg== } + engines: { node: '>=10.16.0' } + + stack-trace@0.0.10: + resolution: + { integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== } + + stack-utils@2.0.6: + resolution: + { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } + engines: { node: '>=10' } + + stackframe@1.3.4: + resolution: + { integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== } + + stacktrace-parser@0.1.11: + resolution: + { integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg== } + engines: { node: '>=6' } + + statuses@1.5.0: + resolution: + { integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== } + engines: { node: '>= 0.6' } + + statuses@2.0.1: + resolution: + { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } + engines: { node: '>= 0.8' } + + stdin-discarder@0.1.0: + resolution: + { integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + steno@4.0.2: + resolution: + { integrity: sha512-yhPIQXjrlt1xv7dyPQg2P17URmXbuM5pdGkpiMB3RenprfiBlvK415Lctfe0eshk90oA7/tNq7WEiMK8RSP39A== } + engines: { node: '>=18' } + + stream-meter@1.0.4: + resolution: + { integrity: sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ== } + + stream-to-it@0.2.4: + resolution: + { integrity: sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ== } + + stream-to-it@1.0.1: + resolution: + { integrity: sha512-AqHYAYPHcmvMrcLNgncE/q0Aj/ajP6A4qGhxP6EVn7K3YTNs0bJpJyk57wc2Heb7MUL64jurvmnmui8D9kjZgA== } + + streamsearch@1.1.0: + resolution: + { integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== } + engines: { node: '>=10.0.0' } + + string-argv@0.3.2: + resolution: + { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } + engines: { node: '>=0.6.19' } + + string-width@4.2.3: + resolution: + { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } + engines: { node: '>=8' } + + string-width@5.1.2: + resolution: + { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } + engines: { node: '>=12' } + + string-width@6.1.0: + resolution: + { integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ== } + engines: { node: '>=16' } + + string-width@7.2.0: + resolution: + { integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== } + engines: { node: '>=18' } + + string_decoder@1.1.1: + resolution: + { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } + + string_decoder@1.3.0: + resolution: + { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } + + strip-ansi@6.0.1: + resolution: + { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } + engines: { node: '>=8' } + + strip-ansi@7.1.0: + resolution: + { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } + engines: { node: '>=12' } + + strip-final-newline@3.0.0: + resolution: + { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } + engines: { node: '>=12' } + + strip-json-comments@2.0.1: + resolution: + { integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== } + engines: { node: '>=0.10.0' } + + strip-json-comments@3.1.1: + resolution: + { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } + engines: { node: '>=8' } + + super-regex@0.2.0: + resolution: + { integrity: sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw== } + engines: { node: '>=14.16' } + + superstruct@2.0.2: + resolution: + { integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A== } + engines: { node: '>=14.0.0' } + + supports-color@5.5.0: + resolution: + { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } + engines: { node: '>=4' } + + supports-color@7.2.0: + resolution: + { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } + engines: { node: '>=8' } + + supports-color@8.1.1: + resolution: + { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } + engines: { node: '>=10' } + + supports-color@9.4.0: + resolution: + { integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== } + engines: { node: '>=12' } + + supports-preserve-symlinks-flag@1.0.0: + resolution: + { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } + engines: { node: '>= 0.4' } + + synckit@0.10.3: + resolution: + { integrity: sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ== } + engines: { node: ^14.18.0 || >=16.0.0 } + + tar-fs@2.1.2: + resolution: + { integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA== } + + tar-stream@2.2.0: + resolution: + { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } + engines: { node: '>=6' } + + tdigest@0.1.2: + resolution: + { integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA== } + + terser@5.39.0: + resolution: + { integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw== } + engines: { node: '>=10' } + hasBin: true + + test-exclude@6.0.0: + resolution: + { integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== } + engines: { node: '>=8' } + + text-encoding-utf-8@1.0.2: + resolution: + { integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== } + + text-hex@1.0.0: + resolution: + { integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== } + + text-table@0.2.0: + resolution: + { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } + + throat@5.0.0: + resolution: + { integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== } + + through@2.3.8: + resolution: + { integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== } + + thunky@1.1.0: + resolution: + { integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== } + + time-span@5.1.0: + resolution: + { integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA== } + engines: { node: '>=12' } + + timeout-abort-controller@3.0.0: + resolution: + { integrity: sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA== } + + timestamp-nano@1.0.1: + resolution: + { integrity: sha512-4oGOVZWTu5sl89PtCDnhQBSt7/vL1zVEwAfxH1p49JhTosxzVQWYBYFRFZ8nJmo0G6f824iyP/44BFAwIoKvIA== } + engines: { node: '>= 4.5.0' } + + tiny-invariant@1.3.3: + resolution: + { integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== } + + tldts-core@6.1.85: + resolution: + { integrity: sha512-DTjUVvxckL1fIoPSb3KE7ISNtkWSawZdpfxGxwiIrZoO6EbHVDXXUIlIuWympPaeS+BLGyggozX/HTMsRAdsoA== } + + tldts@6.1.85: + resolution: + { integrity: sha512-gBdZ1RjCSevRPFix/hpaUWeak2/RNUZB4/8frF1r5uYMHjFptkiT0JXIebWvgI/0ZHXvxaUDDJshiA0j6GdL3w== } + hasBin: true + + tmp@0.0.33: + resolution: + { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } + engines: { node: '>=0.6.0' } + + tmp@0.2.3: + resolution: + { integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== } + engines: { node: '>=14.14' } + + tmpl@1.0.5: + resolution: + { integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== } + + to-fast-properties@2.0.0: + resolution: + { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== } + engines: { node: '>=4' } + + to-regex-range@5.0.1: + resolution: + { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } + engines: { node: '>=8.0' } + + toidentifier@1.0.1: + resolution: + { integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== } + engines: { node: '>=0.6' } + + touch@3.1.1: + resolution: + { integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA== } + hasBin: true + + tough-cookie@5.1.2: + resolution: + { integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A== } + engines: { node: '>=16' } + + tr46@0.0.3: + resolution: + { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + + triple-beam@1.4.1: + resolution: + { integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg== } + engines: { node: '>= 14.0.0' } + + truncate-utf8-bytes@1.0.2: + resolution: + { integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== } + + ts-api-utils@2.1.0: + resolution: + { integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== } + engines: { node: '>=18.12' } + peerDependencies: + typescript: '>=4.8.4' + + ts-node@10.9.2: + resolution: + { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tsc-esm-fix@3.1.2: + resolution: + { integrity: sha512-1/OpZssMcEp2ae6DyZV+yvDviofuCdDf7dEWEaBvm/ac8vtS04lFyl0LVs8LQE56vjKHytgzVjPIL9udM4QuNg== } + engines: { node: '>=18.0.0' } + hasBin: true + + tslib@1.14.1: + resolution: + { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } + + tslib@2.7.0: + resolution: + { integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== } + + tslib@2.8.1: + resolution: + { integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== } + + tsyringe@4.8.0: + resolution: + { integrity: sha512-YB1FG+axdxADa3ncEtRnQCFq/M0lALGLxSZeVNbTU8NqhOVc51nnv2CISTcvc1kyv6EGPtXVr0v6lWeDxiijOA== } + engines: { node: '>= 6.0.0' } + + tunnel-agent@0.6.0: + resolution: + { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } + + tweetnacl@0.14.5: + resolution: + { integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== } + + type-check@0.4.0: + resolution: + { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } + engines: { node: '>= 0.8.0' } + + type-detect@4.0.8: + resolution: + { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } + engines: { node: '>=4' } + + type-fest@0.20.2: + resolution: + { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } + engines: { node: '>=10' } + + type-fest@0.21.3: + resolution: + { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } + engines: { node: '>=10' } + + type-fest@0.7.1: + resolution: + { integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== } + engines: { node: '>=8' } + + type-flag@3.0.0: + resolution: + { integrity: sha512-3YaYwMseXCAhBB14RXW5cRQfJQlEknS6i4C8fCfeUdS3ihG9EdccdR9kt3vP73ZdeTGmPb4bZtkDn5XMIn1DLA== } + + type-is@1.6.18: + resolution: + { integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== } + engines: { node: '>= 0.6' } + + type-is@2.0.1: + resolution: + { integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== } + engines: { node: '>= 0.6' } + + typedarray@0.0.6: + resolution: + { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } + + typescript-eslint@8.29.0: + resolution: + { integrity: sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + typescript@5.8.2: + resolution: + { integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ== } + engines: { node: '>=14.17' } + hasBin: true + + uint8-varint@1.0.8: + resolution: + { integrity: sha512-QS03THS87Wlc0fBCC3xP5sqScDwfvVZLUrTCeMAQbQxQUWJosPC7C8uTNhpVUEgpTbV1Ut2Fer9Se3kI1KbnlQ== } + + uint8-varint@2.0.4: + resolution: + { integrity: sha512-FwpTa7ZGA/f/EssWAb5/YV6pHgVF1fViKdW8cWaEarjB8t7NyofSWBdOTyFPaGuUG4gx3v1O3PQ8etsiOs3lcw== } + + uint8arraylist@2.4.8: + resolution: + { integrity: sha512-vc1PlGOzglLF0eae1M8mLRTBivsvrGsdmJ5RbK3e+QRvRLOZfZhQROTwH/OfyF3+ZVUg9/8hE8bmKP2CvP9quQ== } + + uint8arrays@4.0.10: + resolution: + { integrity: sha512-AnJNUGGDJAgFw/eWu/Xb9zrVKEGlwJJCaeInlf3BkecE/zcTobk5YXYIPNQJO1q5Hh1QZrQQHf0JvcHqz2hqoA== } + + uint8arrays@5.1.0: + resolution: + { integrity: sha512-vA6nFepEmlSKkMBnLBaUMVvAC4G3CTmO58C12y4sq6WPDOR7mOFYOi7GlrQ4djeSbP6JG9Pv9tJDM97PedRSww== } + + undefsafe@2.0.5: + resolution: + { integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== } + + undici-types@5.26.5: + resolution: + { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } + + undici-types@6.19.8: + resolution: + { integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== } + + undici-types@6.20.0: + resolution: + { integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== } + + undici@5.29.0: + resolution: + { integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg== } + engines: { node: '>=14.0' } + + undici@6.21.2: + resolution: + { integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g== } + engines: { node: '>=18.17' } + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: + { integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== } + engines: { node: '>=4' } + + unicode-match-property-ecmascript@2.0.0: + resolution: + { integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== } + engines: { node: '>=4' } + + unicode-match-property-value-ecmascript@2.2.0: + resolution: + { integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== } + engines: { node: '>=4' } + + unicode-property-aliases-ecmascript@2.1.0: + resolution: + { integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== } + engines: { node: '>=4' } + + universalify@2.0.1: + resolution: + { integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== } + engines: { node: '>= 10.0.0' } + + unpipe@1.0.0: + resolution: + { integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== } + engines: { node: '>= 0.8' } + + unzipper@0.12.3: + resolution: + { integrity: sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA== } + + update-browserslist-db@1.1.3: + resolution: + { integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== } + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: + { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + + utf-8-validate@5.0.10: + resolution: + { integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== } + engines: { node: '>=6.14.2' } + + utf8-byte-length@1.0.5: + resolution: + { integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA== } + + util-deprecate@1.0.2: + resolution: + { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + + utils-merge@1.0.1: + resolution: + { integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== } + engines: { node: '>= 0.4.0' } + + uuid@10.0.0: + resolution: + { integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ== } + hasBin: true + + uuid@11.1.0: + resolution: + { integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== } + hasBin: true + + uuid@8.3.2: + resolution: + { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: + { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } + + varint-decoder@1.0.0: + resolution: + { integrity: sha512-JkOvdztASWGUAsXshCFHrB9f6AgR2Q8W08CEyJ+43b1qtFocmI8Sp1R/M0E/hDOY2FzVIqk63tOYLgDYWuJ7IQ== } + engines: { node: '>=4.0.0', npm: '>=3.0.0' } + + varint@5.0.2: + resolution: + { integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== } + + varint@6.0.0: + resolution: + { integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== } + + vary@1.1.2: + resolution: + { integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== } + engines: { node: '>= 0.8' } + + vlq@1.0.1: + resolution: + { integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w== } + + walker@1.0.8: + resolution: + { integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== } + + wcwidth@1.0.1: + resolution: + { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } + + weald@1.0.4: + resolution: + { integrity: sha512-+kYTuHonJBwmFhP1Z4YQK/dGi3jAnJGCYhyODFpHK73rbxnp9lnZQj7a2m+WVgn8fXr5bJaxUpF6l8qZpPeNWQ== } + + webcrypto-core@1.8.1: + resolution: + { integrity: sha512-P+x1MvlNCXlKbLSOY4cYrdreqPG5hbzkmawbcXLKN/mf6DZW0SdNNkZ+sjwsqVkI4A4Ko2sPZmkZtCKY58w83A== } + + webidl-conversions@3.0.1: + resolution: + { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + + whatwg-fetch@3.6.20: + resolution: + { integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== } + + whatwg-url@5.0.0: + resolution: + { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + + wherearewe@2.0.1: + resolution: + { integrity: sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw== } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } + + which@2.0.2: + resolution: + { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } + engines: { node: '>= 8' } + hasBin: true + + winston-transport@4.9.0: + resolution: + { integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A== } + engines: { node: '>= 12.0.0' } + + winston@3.17.0: + resolution: + { integrity: sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw== } + engines: { node: '>= 12.0.0' } + + word-wrap@1.2.5: + resolution: + { integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== } + engines: { node: '>=0.10.0' } + + wrap-ansi@6.2.0: + resolution: + { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } + engines: { node: '>=8' } + + wrap-ansi@7.0.0: + resolution: + { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } + engines: { node: '>=10' } + + wrap-ansi@8.1.0: + resolution: + { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } + engines: { node: '>=12' } + + wrap-ansi@9.0.0: + resolution: + { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } + engines: { node: '>=18' } + + wrappy@1.0.2: + resolution: + { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + + write-file-atomic@4.0.2: + resolution: + { integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + + write-file-atomic@5.0.1: + resolution: + { integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + ws@6.2.3: + resolution: + { integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA== } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@7.5.10: + resolution: + { integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== } + engines: { node: '>=8.3.0' } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.17.1: + resolution: + { integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== } + engines: { node: '>=10.0.0' } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.1: + resolution: + { integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w== } + engines: { node: '>=10.0.0' } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml2js@0.6.2: + resolution: + { integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA== } + engines: { node: '>=4.0.0' } + + xmlbuilder@11.0.1: + resolution: + { integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== } + engines: { node: '>=4.0' } + + xmlhttprequest-ssl@2.1.2: + resolution: + { integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ== } + engines: { node: '>=0.4.0' } + + xsalsa20@1.2.0: + resolution: + { integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w== } + + xtend@4.0.2: + resolution: + { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } + engines: { node: '>=0.4' } + + y18n@5.0.8: + resolution: + { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } + engines: { node: '>=10' } + + yallist@3.1.1: + resolution: + { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } + + yaml@2.7.1: + resolution: + { integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ== } + engines: { node: '>= 14' } + hasBin: true + + yargs-parser@20.2.9: + resolution: + { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } + engines: { node: '>=10' } + + yargs-parser@21.1.1: + resolution: + { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } + engines: { node: '>=12' } + + yargs@16.2.0: + resolution: + { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } + engines: { node: '>=10' } + + yargs@17.7.2: + resolution: + { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } + engines: { node: '>=12' } + + yn@3.1.1: + resolution: + { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } + engines: { node: '>=6' } + + yocto-queue@0.1.0: + resolution: + { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } + engines: { node: '>=10' } + + yocto-queue@1.2.1: + resolution: + { integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg== } + engines: { node: '>=12.20' } + + yoctocolors-cjs@2.1.2: + resolution: + { integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA== } + engines: { node: '>=18' } + + zod@3.24.2: + resolution: + { integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ== } + +snapshots: + '@achingbrain/http-parser-js@0.5.8': + dependencies: + uint8arrays: 5.1.0 + + '@achingbrain/ip-address@8.1.0': + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.2 + + '@achingbrain/nat-port-mapper@1.0.18': + dependencies: + '@achingbrain/ssdp': 4.2.1 + '@libp2p/logger': 5.1.13 + default-gateway: 7.2.2 + err-code: 3.0.1 + it-first: 3.0.7 + p-defer: 4.0.1 + p-timeout: 6.1.4 + xml2js: 0.6.2 + + '@achingbrain/nat-port-mapper@4.0.2': + dependencies: + '@achingbrain/ssdp': 4.2.1 + '@chainsafe/is-ip': 2.1.0 + '@libp2p/logger': 5.1.13 + abort-error: 1.0.1 + err-code: 3.0.1 + netmask: 2.0.2 + p-defer: 4.0.1 + race-signal: 1.1.3 + xml2js: 0.6.2 + + '@achingbrain/ssdp@4.2.1': + dependencies: + abort-error: 1.0.1 + freeport-promise: 2.0.0 + merge-options: 3.0.4 + xml2js: 0.6.2 + + '@adraffy/ens-normalize@1.10.1': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@anyone-protocol/anyone-client@0.4.4': + dependencies: + '@types/node': 20.17.28 + '@types/unzipper': 0.10.11 + axios: 1.8.4(debug@4.4.0) + chalk: 4.1.2 + net: 1.0.2 + socks-proxy-agent: 8.0.5 + typescript: 5.8.2 + unzipper: 0.12.3 + transitivePeerDependencies: + - debug + - supports-color + + '@assemblyscript/loader@0.9.4': {} + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.8': {} + + '@babel/core@7.26.10': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.27.0 + '@babel/helper-compilation-targets': 7.27.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helpers': 7.27.0 + '@babel/parser': 7.27.0 + '@babel/template': 7.27.0 + '@babel/traverse': 7.27.0 + '@babel/types': 7.27.0 + convert-source-map: 2.0.0 + debug: 4.4.0(supports-color@5.5.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.18.2': + dependencies: + '@babel/types': 7.19.0 + '@jridgewell/gen-mapping': 0.3.8 + jsesc: 2.5.2 + + '@babel/generator@7.27.0': + dependencies: + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.25.9': + dependencies: + '@babel/types': 7.27.0 + + '@babel/helper-compilation-targets@7.27.0': + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.27.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.10) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.27.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.27.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.2.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.4(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-compilation-targets': 7.27.0 + '@babel/helper-plugin-utils': 7.26.5 + debug: 4.4.0(supports-color@5.5.0) + lodash.debounce: 4.0.8 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + '@babel/helper-member-expression-to-functions@7.25.9': + dependencies: + '@babel/traverse': 7.27.0 + '@babel/types': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.27.0 + '@babel/types': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.25.9': + dependencies: + '@babel/types': 7.27.0 + + '@babel/helper-plugin-utils@7.26.5': {} + + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + dependencies: + '@babel/traverse': 7.27.0 + '@babel/types': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helper-wrap-function@7.25.9': + dependencies: + '@babel/template': 7.27.0 + '@babel/traverse': 7.27.0 + '@babel/types': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.27.0': + dependencies: + '@babel/template': 7.27.0 + '@babel/types': 7.27.0 + + '@babel/parser@7.18.4': + dependencies: + '@babel/types': 7.19.0 + + '@babel/parser@7.27.0': + dependencies: + '@babel/types': 7.27.0 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-export-default-from@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-export-default-from@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.10) + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.10) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-block-scoping@7.27.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.27.0 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.10) + '@babel/traverse': 7.27.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/template': 7.27.0 + + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-flow-strip-types@7.26.5(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.10) + + '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-compilation-targets': 7.27.0 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-compilation-targets': 7.27.0 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.10) + + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.10) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10) + '@babel/types': 7.27.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-regenerator@7.27.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-runtime@7.26.10(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 + babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.26.10) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.10) + babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.26.10) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-typeof-symbol@7.27.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-typescript@7.27.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.10) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/preset-env@7.26.9(@babel/core@7.26.10)': + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/core': 7.26.10 + '@babel/helper-compilation-targets': 7.27.0 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.10) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.10) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.10) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.10) + '@babel/plugin-transform-block-scoping': 7.27.0(@babel/core@7.26.10) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.10) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.26.10) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.10) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.10) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-regenerator': 7.27.0(@babel/core@7.26.10) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-template-literals': 7.26.8(@babel/core@7.26.10) + '@babel/plugin-transform-typeof-symbol': 7.27.0(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.10) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.10) + babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.26.10) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.10) + babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.26.10) + core-js-compat: 3.41.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-flow@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.10) + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/types': 7.27.0 + esutils: 2.0.3 + + '@babel/preset-typescript@7.27.0(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.10) + '@babel/plugin-transform-typescript': 7.27.0(@babel/core@7.26.10) + transitivePeerDependencies: + - supports-color + + '@babel/register@7.25.9(@babel/core@7.26.10)': + dependencies: + '@babel/core': 7.26.10 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.7 + source-map-support: 0.5.21 + + '@babel/runtime@7.27.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.27.0': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + + '@babel/traverse@7.27.0': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.27.0 + '@babel/parser': 7.27.0 + '@babel/template': 7.27.0 + '@babel/types': 7.27.0 + debug: 4.4.0(supports-color@5.5.0) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.19.0': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + to-fast-properties: 2.0.0 + + '@babel/types@7.27.0': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@balena/dockerignore@1.0.2': {} + + '@chainsafe/as-chacha20poly1305@0.1.0': {} + + '@chainsafe/as-sha256@1.0.1': {} + + '@chainsafe/is-ip@2.1.0': {} + + '@chainsafe/libp2p-gossipsub@14.1.1': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-id': 5.1.0 + '@libp2p/pubsub': 10.1.8 + '@multiformats/multiaddr': 12.4.0 + denque: 2.1.0 + it-length-prefixed: 9.1.1 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + multiformats: 13.3.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@chainsafe/libp2p-gossipsub@6.3.0': + dependencies: + '@libp2p/crypto': 1.0.17 + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interface-connection-manager': 1.5.0 + '@libp2p/interface-keys': 1.0.8 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-store': 1.2.9 + '@libp2p/interface-pubsub': 3.0.7 + '@libp2p/interface-registrar': 2.0.12 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-id': 2.0.4 + '@libp2p/peer-record': 5.0.4 + '@libp2p/pubsub': 6.0.6 + '@libp2p/topology': 4.0.3 + '@multiformats/multiaddr': 12.4.0 + abortable-iterator: 4.0.3 + denque: 1.5.1 + it-length-prefixed: 8.0.4 + it-pipe: 2.0.5 + it-pushable: 3.2.3 + multiformats: 11.0.2 + protobufjs: 6.11.4 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + '@chainsafe/libp2p-noise@11.0.4': + dependencies: + '@libp2p/crypto': 1.0.17 + '@libp2p/interface-connection-encrypter': 3.0.6 + '@libp2p/interface-keys': 1.0.8 + '@libp2p/interface-metrics': 4.0.8 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-id': 2.0.4 + '@stablelib/chacha20poly1305': 1.0.1 + '@stablelib/hkdf': 1.0.1 + '@stablelib/sha256': 1.0.1 + '@stablelib/x25519': 1.0.3 + it-length-prefixed: 8.0.4 + it-pair: 2.0.6 + it-pb-stream: 3.2.1 + it-pipe: 2.0.5 + it-stream-types: 1.0.5 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + '@chainsafe/libp2p-noise@16.1.0': + dependencies: + '@chainsafe/as-chacha20poly1305': 0.1.0 + '@chainsafe/as-sha256': 1.0.1 + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/peer-id': 5.1.0 + '@noble/ciphers': 1.2.1 + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 + it-length-prefixed: 10.0.1 + it-length-prefixed-stream: 1.2.1 + it-pair: 2.0.6 + it-pipe: 3.0.1 + it-stream-types: 2.0.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + wherearewe: 2.0.1 + + '@chainsafe/libp2p-yamux@7.0.1': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/utils': 6.6.0 + get-iterator: 2.0.1 + it-foreach: 2.1.2 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 + + '@chainsafe/netmask@2.0.0': + dependencies: + '@chainsafe/is-ip': 2.1.0 + + '@colors/colors@1.6.0': {} + + '@constl/orbit-db-types@2.0.6': {} + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@dabh/diagnostics@2.0.3': + dependencies: + colorspace: 1.1.4 + enabled: 2.0.0 + kuler: 2.0.0 + + '@debros/cli@0.0.11-alpha(bufferutil@4.0.9)(encoding@0.1.13)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@debros/network': 0.0.14-alpha(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(typescript@5.8.2)(utf-8-validate@5.0.10) + '@ipshipyard/node-datachannel': 0.26.5 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) + chalk: 5.4.1 + commander: 11.1.0 + dockerode: 4.0.5 + dotenv: 16.4.7 + helia: 5.3.0(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + inquirer: 9.3.7 + ipfs-core: 0.18.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) + libp2p: 2.8.2 + ora: 7.0.1 + transitivePeerDependencies: + - bufferutil + - encoding + - react-native + - supports-color + - typescript + - utf-8-validate + + '@debros/network@0.0.14-alpha(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@chainsafe/libp2p-gossipsub': 14.1.1 + '@chainsafe/libp2p-noise': 16.1.0 + '@chainsafe/libp2p-yamux': 7.0.1 + '@libp2p/bootstrap': 11.0.32 + '@libp2p/crypto': 5.0.15 + '@libp2p/identify': 3.0.27 + '@libp2p/interface': 2.7.0 + '@libp2p/mdns': 11.0.32 + '@libp2p/peer-id': 5.1.0 + '@libp2p/pubsub': 10.1.8 + '@libp2p/tcp': 10.1.8 + '@multiformats/multiaddr': 12.4.0 + '@orbitdb/core': 2.5.0 + '@orbitdb/feed-db': 1.1.2(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + blockstore-fs: 2.0.2 + express: 5.1.0 + helia: 5.3.0(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + libp2p: 2.8.2 + node-forge: 1.3.1 + typescript: 5.8.2 + winston: 3.17.0 + transitivePeerDependencies: + - bufferutil + - react-native + - supports-color + - utf-8-validate + + '@debros/network@0.0.16-alpha(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(typescript@5.8.2)(utf-8-validate@5.0.10)': + dependencies: + '@chainsafe/libp2p-gossipsub': 14.1.1 + '@chainsafe/libp2p-noise': 16.1.0 + '@chainsafe/libp2p-yamux': 7.0.1 + '@libp2p/bootstrap': 11.0.32 + '@libp2p/crypto': 5.0.15 + '@libp2p/identify': 3.0.27 + '@libp2p/interface': 2.7.0 + '@libp2p/mdns': 11.0.32 + '@libp2p/peer-id': 5.1.0 + '@libp2p/pubsub': 10.1.8 + '@libp2p/tcp': 10.1.8 + '@multiformats/multiaddr': 12.4.0 + '@orbitdb/core': 2.5.0 + '@orbitdb/feed-db': 1.1.2(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + blockstore-fs: 2.0.2 + express: 5.1.0 + helia: 5.3.0(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + libp2p: 2.8.2 + node-forge: 1.3.1 + typescript: 5.8.2 + winston: 3.17.0 + transitivePeerDependencies: + - bufferutil + - react-native + - supports-color + - utf-8-validate + + '@eslint-community/eslint-utils@4.5.1(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.5.1(eslint@9.23.0)': + dependencies: + eslint: 9.23.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.2': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.0(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.2.0': {} + + '@eslint/core@0.12.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.4.0(supports-color@5.5.0) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.0(supports-color@5.5.0) + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.1': {} + + '@eslint/js@9.23.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.2.7': + dependencies: + '@eslint/core': 0.12.0 + levn: 0.4.1 + + '@fastify/busboy@2.1.1': {} + + '@grpc/grpc-js@1.13.2': + dependencies: + '@grpc/proto-loader': 0.7.13 + '@js-sdsl/ordered-map': 4.4.2 + + '@grpc/proto-loader@0.7.13': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.3.1 + protobufjs: 7.4.0 + yargs: 17.7.2 + + '@helia/bitswap@2.0.5': + dependencies: + '@helia/interface': 5.2.1 + '@helia/utils': 1.2.2 + '@libp2p/interface': 2.7.0 + '@libp2p/logger': 5.1.13 + '@libp2p/peer-collections': 6.0.25 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + any-signal: 4.1.1 + interface-blockstore: 5.3.1 + interface-store: 6.0.2 + it-drain: 3.0.8 + it-length-prefixed: 10.0.1 + it-length-prefixed-stream: 1.2.1 + it-map: 3.1.2 + it-pipe: 3.0.1 + it-take: 3.0.7 + multiformats: 13.3.2 + p-defer: 4.0.1 + progress-events: 1.0.1 + protons-runtime: 5.5.0 + race-event: 1.3.0 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@helia/block-brokers@4.1.0': + dependencies: + '@helia/bitswap': 2.0.5 + '@helia/interface': 5.2.1 + '@helia/utils': 1.2.2 + '@libp2p/interface': 2.7.0 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + '@multiformats/multiaddr-to-uri': 11.0.0 + interface-blockstore: 5.3.1 + interface-store: 6.0.2 + multiformats: 13.3.2 + progress-events: 1.0.1 + + '@helia/delegated-routing-v1-http-api-client@4.2.2': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/logger': 5.1.13 + '@libp2p/peer-id': 5.1.0 + '@multiformats/multiaddr': 12.4.0 + any-signal: 4.1.1 + browser-readablestream-to-it: 2.0.8 + ipns: 10.0.2 + it-first: 3.0.7 + it-map: 3.1.2 + it-ndjson: 1.1.2 + multiformats: 13.3.2 + p-defer: 4.0.1 + p-queue: 8.1.0 + uint8arrays: 5.1.0 + + '@helia/interface@5.2.1': + dependencies: + '@libp2p/interface': 2.7.0 + '@multiformats/dns': 1.0.6 + interface-blockstore: 5.3.1 + interface-datastore: 8.3.1 + interface-store: 6.0.2 + multiformats: 13.3.2 + progress-events: 1.0.1 + + '@helia/routers@3.0.1': + dependencies: + '@helia/delegated-routing-v1-http-api-client': 4.2.2 + '@helia/interface': 5.2.1 + '@libp2p/interface': 2.7.0 + '@libp2p/peer-id': 5.1.0 + '@multiformats/uri-to-multiaddr': 8.1.0 + ipns: 10.0.2 + it-first: 3.0.7 + it-map: 3.1.2 + multiformats: 13.3.2 + uint8arrays: 5.1.0 + + '@helia/unixfs@4.0.3(encoding@0.1.13)': + dependencies: + '@helia/interface': 5.2.1 + '@ipld/dag-pb': 4.1.3 + '@libp2p/interface': 2.7.0 + '@libp2p/logger': 5.1.13 + '@multiformats/murmur3': 2.1.8 + hamt-sharding: 3.0.6 + interface-blockstore: 5.3.1 + ipfs-unixfs: 11.2.1 + ipfs-unixfs-exporter: 13.6.2 + ipfs-unixfs-importer: 15.3.2(encoding@0.1.13) + it-all: 3.0.7 + it-glob: 3.0.2 + it-last: 3.0.7 + it-pipe: 3.0.1 + merge-options: 3.0.4 + multiformats: 13.3.2 + progress-events: 1.0.1 + sparse-array: 1.3.2 + uint8arrays: 5.1.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@helia/utils@1.2.2': + dependencies: + '@helia/interface': 5.2.1 + '@ipld/dag-cbor': 9.2.2 + '@ipld/dag-json': 10.2.3 + '@ipld/dag-pb': 4.1.3 + '@libp2p/interface': 2.7.0 + '@libp2p/logger': 5.1.13 + '@libp2p/utils': 6.6.0 + '@multiformats/dns': 1.0.6 + any-signal: 4.1.1 + blockstore-core: 5.0.2 + cborg: 4.2.9 + interface-blockstore: 5.3.1 + interface-datastore: 8.3.1 + interface-store: 6.0.2 + it-drain: 3.0.8 + it-filter: 3.1.2 + it-foreach: 2.1.2 + it-merge: 3.0.9 + mortice: 3.0.6 + multiformats: 13.3.2 + p-defer: 4.0.1 + progress-events: 1.0.1 + uint8arrays: 5.1.0 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/config-array@0.13.0': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.4.0(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.2': {} + + '@inquirer/checkbox@4.1.4(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.13.14) + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/confirm@5.1.8(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/core@10.1.9(@types/node@22.13.14)': + dependencies: + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.13.14) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/editor@4.2.9(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) + external-editor: 3.1.0 + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/expand@4.0.11(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/figures@1.0.11': {} + + '@inquirer/input@4.1.8(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/number@3.0.11(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/password@4.0.11(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) + ansi-escapes: 4.3.2 + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/prompts@7.4.0(@types/node@22.13.14)': + dependencies: + '@inquirer/checkbox': 4.1.4(@types/node@22.13.14) + '@inquirer/confirm': 5.1.8(@types/node@22.13.14) + '@inquirer/editor': 4.2.9(@types/node@22.13.14) + '@inquirer/expand': 4.0.11(@types/node@22.13.14) + '@inquirer/input': 4.1.8(@types/node@22.13.14) + '@inquirer/number': 3.0.11(@types/node@22.13.14) + '@inquirer/password': 4.0.11(@types/node@22.13.14) + '@inquirer/rawlist': 4.0.11(@types/node@22.13.14) + '@inquirer/search': 3.0.11(@types/node@22.13.14) + '@inquirer/select': 4.1.0(@types/node@22.13.14) + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/rawlist@4.0.11(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/search@3.0.11(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.13.14) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/select@4.1.0(@types/node@22.13.14)': + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.13.14) + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.14 + + '@inquirer/type@3.0.5(@types/node@22.13.14)': + optionalDependencies: + '@types/node': 22.13.14 + + '@ipld/car@5.4.0': + dependencies: + '@ipld/dag-cbor': 9.2.2 + cborg: 4.2.9 + multiformats: 13.3.2 + varint: 6.0.0 + + '@ipld/dag-cbor@9.2.2': + dependencies: + cborg: 4.2.9 + multiformats: 13.3.2 + + '@ipld/dag-json@10.2.3': + dependencies: + cborg: 4.2.9 + multiformats: 13.3.2 + + '@ipld/dag-pb@4.1.3': + dependencies: + multiformats: 13.3.2 + + '@ipshipyard/libp2p-auto-tls@1.0.0': + dependencies: + '@chainsafe/is-ip': 2.1.0 + '@libp2p/crypto': 5.0.15 + '@libp2p/http-fetch': 2.2.2 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/keychain': 5.1.4 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + '@peculiar/x509': 1.12.3 + acme-client: 5.4.0 + any-signal: 4.1.1 + delay: 6.0.0 + interface-datastore: 8.3.1 + multiformats: 13.3.2 + uint8arrays: 5.1.0 + transitivePeerDependencies: + - supports-color + + '@ipshipyard/node-datachannel@0.26.5': + dependencies: + prebuild-install: 7.1.3 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@isaacs/ttlcache@1.4.1': {} + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/create-cache-key-function@29.7.0': + dependencies: + '@jest/types': 29.6.3 + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.14 + jest-mock: 29.7.0 + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 22.13.14 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.26.10 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.13.14 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@js-sdsl/ordered-map@4.4.2': {} + + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@libp2p/autonat@2.0.28': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-collections': 6.0.25 + '@libp2p/peer-id': 5.1.0 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + any-signal: 4.1.1 + it-protobuf-stream: 1.1.6 + multiformats: 13.3.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + + '@libp2p/bootstrap@11.0.32': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-id': 5.1.0 + '@multiformats/mafmt': 12.1.6 + '@multiformats/multiaddr': 12.4.0 + + '@libp2p/bootstrap@6.0.3': + dependencies: + '@libp2p/interface-peer-discovery': 1.1.1 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interface-peer-store': 1.2.9 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-id': 2.0.4 + '@multiformats/mafmt': 12.1.6 + '@multiformats/multiaddr': 12.4.0 + transitivePeerDependencies: + - supports-color + + '@libp2p/circuit-relay-v2@3.2.8': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-collections': 6.0.25 + '@libp2p/peer-id': 5.1.0 + '@libp2p/peer-record': 8.0.25 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + any-signal: 4.1.1 + it-protobuf-stream: 1.1.6 + it-stream-types: 2.0.2 + multiformats: 13.3.2 + nanoid: 5.1.5 + progress-events: 1.0.1 + protons-runtime: 5.5.0 + retimeable-signal: 1.0.1 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/config@1.1.4': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/keychain': 5.1.4 + '@libp2p/logger': 5.1.13 + interface-datastore: 8.3.1 + + '@libp2p/crypto@1.0.17': + dependencies: + '@libp2p/interface-keys': 1.0.8 + '@libp2p/interfaces': 3.3.2 + '@noble/ed25519': 1.7.3 + '@noble/secp256k1': 1.7.1 + multiformats: 11.0.2 + node-forge: 1.3.1 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + + '@libp2p/crypto@5.0.15': + dependencies: + '@libp2p/interface': 2.7.0 + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 + multiformats: 13.3.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/dcutr@2.0.27': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + delay: 6.0.0 + it-protobuf-stream: 1.1.6 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + + '@libp2p/delegated-content-routing@4.0.11': + dependencies: + '@libp2p/interface-content-routing': 2.1.1 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 3.1.0 + any-signal: 4.1.1 + err-code: 3.0.1 + it-drain: 3.0.8 + multiformats: 12.1.3 + p-defer: 4.0.1 + p-queue: 7.4.1 + transitivePeerDependencies: + - supports-color + + '@libp2p/delegated-peer-routing@4.0.14': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interface-peer-routing': 1.1.1 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 3.1.0 + '@libp2p/peer-id': 3.0.6 + any-signal: 4.1.1 + ipfs-core-types: 0.14.1 + multiformats: 12.1.3 + p-defer: 4.0.1 + p-queue: 7.4.1 + transitivePeerDependencies: + - supports-color + + '@libp2p/floodsub@6.0.3': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-pubsub': 3.0.7 + '@libp2p/logger': 2.1.1 + '@libp2p/pubsub': 6.0.6 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + '@libp2p/http-fetch@2.2.2': + dependencies: + '@achingbrain/http-parser-js': 0.5.8 + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-id': 5.1.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-to-uri': 11.0.0 + http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@6.21.2) + p-defer: 4.0.1 + tough-cookie: 5.1.2 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + undici: 6.21.2 + + '@libp2p/identify@3.0.27': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-id': 5.1.0 + '@libp2p/peer-record': 8.0.25 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + it-drain: 3.0.8 + it-parallel: 3.0.9 + it-protobuf-stream: 1.1.6 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/interface-address-manager@2.0.5': + dependencies: + '@libp2p/interfaces': 3.3.2 + '@multiformats/multiaddr': 12.4.0 + + '@libp2p/interface-connection-encrypter@3.0.6': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + it-stream-types: 1.0.5 + uint8arraylist: 2.4.8 + + '@libp2p/interface-connection-manager@1.5.0': + dependencies: + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interfaces': 3.3.2 + '@multiformats/multiaddr': 12.4.0 + + '@libp2p/interface-connection@3.1.1': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interfaces': 3.3.2 + '@multiformats/multiaddr': 12.4.0 + it-stream-types: 1.0.5 + uint8arraylist: 2.4.8 + + '@libp2p/interface-connection@4.0.0': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interfaces': 3.3.2 + '@multiformats/multiaddr': 12.4.0 + it-stream-types: 1.0.5 + uint8arraylist: 2.4.8 + + '@libp2p/interface-connection@5.1.1': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interfaces': 3.3.2 + '@multiformats/multiaddr': 12.4.0 + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 + + '@libp2p/interface-content-routing@2.1.1': + dependencies: + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interfaces': 3.3.2 + multiformats: 11.0.2 + + '@libp2p/interface-dht@2.0.3': + dependencies: + '@libp2p/interface-peer-discovery': 2.0.0 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interfaces': 3.3.2 + multiformats: 11.0.2 + + '@libp2p/interface-internal@2.3.9': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/peer-collections': 6.0.25 + '@multiformats/multiaddr': 12.4.0 + progress-events: 1.0.1 + + '@libp2p/interface-keychain@2.0.5': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + multiformats: 11.0.2 + + '@libp2p/interface-keys@1.0.8': {} + + '@libp2p/interface-libp2p@1.3.3': + dependencies: + '@libp2p/interface-connection': 5.1.1 + '@libp2p/interface-content-routing': 2.1.1 + '@libp2p/interface-dht': 2.0.3 + '@libp2p/interface-keychain': 2.0.5 + '@libp2p/interface-metrics': 4.0.8 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interface-peer-routing': 1.1.1 + '@libp2p/interface-peer-store': 1.2.9 + '@libp2p/interface-pubsub': 4.0.1 + '@libp2p/interface-registrar': 2.0.12 + '@libp2p/interfaces': 3.3.2 + '@multiformats/multiaddr': 12.4.0 + + '@libp2p/interface-metrics@4.0.8': + dependencies: + '@libp2p/interface-connection': 5.1.1 + + '@libp2p/interface-peer-discovery@1.1.1': + dependencies: + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interfaces': 3.3.2 + + '@libp2p/interface-peer-discovery@2.0.0': + dependencies: + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interfaces': 3.3.2 + + '@libp2p/interface-peer-id@2.0.2': + dependencies: + multiformats: 11.0.2 + + '@libp2p/interface-peer-info@1.0.10': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@multiformats/multiaddr': 12.4.0 + + '@libp2p/interface-peer-routing@1.1.1': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interfaces': 3.3.2 + + '@libp2p/interface-peer-store@1.2.9': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interface-record': 2.0.7 + '@libp2p/interfaces': 3.3.2 + '@multiformats/multiaddr': 12.4.0 + + '@libp2p/interface-peer-store@2.0.4': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@multiformats/multiaddr': 12.4.0 + + '@libp2p/interface-pubsub@3.0.7': + dependencies: + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interfaces': 3.3.2 + it-pushable: 3.2.3 + uint8arraylist: 2.4.8 + + '@libp2p/interface-pubsub@4.0.1': + dependencies: + '@libp2p/interface-connection': 5.1.1 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interfaces': 3.3.2 + it-pushable: 3.2.3 + uint8arraylist: 2.4.8 + + '@libp2p/interface-record@2.0.7': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + uint8arraylist: 2.4.8 + + '@libp2p/interface-registrar@2.0.12': + dependencies: + '@libp2p/interface-connection': 5.1.1 + '@libp2p/interface-peer-id': 2.0.2 + + '@libp2p/interface-stream-muxer@3.0.6': + dependencies: + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interfaces': 3.3.2 + it-stream-types: 1.0.5 + + '@libp2p/interface-transport@2.1.3': + dependencies: + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interface-stream-muxer': 3.0.6 + '@libp2p/interfaces': 3.3.2 + '@multiformats/multiaddr': 12.4.0 + it-stream-types: 1.0.5 + + '@libp2p/interface@0.1.6': + dependencies: + '@multiformats/multiaddr': 12.4.0 + abortable-iterator: 5.1.0 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + multiformats: 12.1.3 + p-defer: 4.0.1 + race-signal: 1.1.3 + uint8arraylist: 2.4.8 + + '@libp2p/interface@2.7.0': + dependencies: + '@multiformats/multiaddr': 12.4.0 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + multiformats: 13.3.2 + progress-events: 1.0.1 + uint8arraylist: 2.4.8 + + '@libp2p/interfaces@3.3.2': {} + + '@libp2p/kad-dht@14.2.15': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-collections': 6.0.25 + '@libp2p/peer-id': 5.1.0 + '@libp2p/record': 4.0.5 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + any-signal: 4.1.1 + interface-datastore: 8.3.1 + it-all: 3.0.7 + it-drain: 3.0.8 + it-length: 3.0.7 + it-length-prefixed: 10.0.1 + it-map: 3.1.2 + it-merge: 3.0.9 + it-parallel: 3.0.9 + it-pipe: 3.0.1 + it-protobuf-stream: 1.1.6 + it-take: 3.0.7 + mortice: 3.0.6 + multiformats: 13.3.2 + p-defer: 4.0.1 + p-event: 6.0.1 + progress-events: 1.0.1 + protons-runtime: 5.5.0 + race-signal: 1.1.3 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/kad-dht@7.0.3': + dependencies: + '@libp2p/crypto': 1.0.17 + '@libp2p/interface-address-manager': 2.0.5 + '@libp2p/interface-connection': 3.1.1 + '@libp2p/interface-connection-manager': 1.5.0 + '@libp2p/interface-dht': 2.0.3 + '@libp2p/interface-metrics': 4.0.8 + '@libp2p/interface-peer-discovery': 1.1.1 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interface-peer-store': 1.2.9 + '@libp2p/interface-registrar': 2.0.12 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-collections': 3.0.2 + '@libp2p/peer-id': 2.0.4 + '@libp2p/record': 3.0.4 + '@libp2p/topology': 4.0.3 + '@multiformats/multiaddr': 11.6.1 + abortable-iterator: 4.0.3 + any-signal: 3.0.1 + datastore-core: 8.0.4 + hashlru: 2.3.0 + interface-datastore: 7.0.4 + it-all: 2.0.1 + it-drain: 2.0.1 + it-first: 2.0.1 + it-length: 2.0.1 + it-length-prefixed: 8.0.4 + it-map: 2.0.1 + it-merge: 2.0.1 + it-parallel: 3.0.9 + it-pipe: 2.0.5 + it-stream-types: 1.0.5 + it-take: 2.0.1 + k-bucket: 5.1.0 + multiformats: 11.0.2 + p-defer: 4.0.1 + p-queue: 7.4.1 + private-ip: 3.0.2 + protons-runtime: 5.5.0 + timeout-abort-controller: 3.0.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + varint: 6.0.0 + transitivePeerDependencies: + - supports-color + + '@libp2p/keychain@5.1.4': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@noble/hashes': 1.7.1 + asn1js: 3.0.6 + interface-datastore: 8.3.1 + merge-options: 3.0.4 + multiformats: 13.3.2 + sanitize-filename: 1.6.3 + uint8arrays: 5.1.0 + + '@libp2p/logger@2.1.1': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@multiformats/multiaddr': 12.4.0 + debug: 4.4.0(supports-color@5.5.0) + interface-datastore: 8.3.1 + multiformats: 11.0.2 + transitivePeerDependencies: + - supports-color + + '@libp2p/logger@3.1.0': + dependencies: + '@libp2p/interface': 0.1.6 + '@multiformats/multiaddr': 12.4.0 + debug: 4.4.0(supports-color@5.5.0) + interface-datastore: 8.3.1 + multiformats: 12.1.3 + transitivePeerDependencies: + - supports-color + + '@libp2p/logger@5.1.13': + dependencies: + '@libp2p/interface': 2.7.0 + '@multiformats/multiaddr': 12.4.0 + interface-datastore: 8.3.1 + multiformats: 13.3.2 + weald: 1.0.4 + + '@libp2p/mdns@11.0.32': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-id': 5.1.0 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@types/multicast-dns': 7.2.4 + dns-packet: 5.6.1 + multicast-dns: 7.2.5 + + '@libp2p/mdns@6.0.0': + dependencies: + '@libp2p/interface-peer-discovery': 1.1.1 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-id': 2.0.4 + '@multiformats/multiaddr': 11.6.1 + '@types/multicast-dns': 7.2.4 + multicast-dns: 7.2.5 + multiformats: 11.0.2 + transitivePeerDependencies: + - supports-color + + '@libp2p/mplex@11.0.32': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/utils': 6.6.0 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/mplex@7.1.7': + dependencies: + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interface-stream-muxer': 3.0.6 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + abortable-iterator: 4.0.3 + any-signal: 4.1.1 + benchmark: 2.1.4 + it-batched-bytes: 1.0.1 + it-pushable: 3.2.3 + it-stream-types: 1.0.5 + rate-limiter-flexible: 2.4.2 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + varint: 6.0.0 + transitivePeerDependencies: + - supports-color + + '@libp2p/multistream-select@3.1.9': + dependencies: + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + abortable-iterator: 5.1.0 + it-first: 3.0.7 + it-handshake: 4.1.3 + it-length-prefixed: 9.1.1 + it-merge: 3.0.9 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + it-reader: 6.0.4 + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + '@libp2p/multistream-select@6.0.20': + dependencies: + '@libp2p/interface': 2.7.0 + it-length-prefixed: 10.0.1 + it-length-prefixed-stream: 1.2.1 + it-stream-types: 2.0.2 + p-defer: 4.0.1 + race-signal: 1.1.3 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/peer-collections@3.0.2': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/peer-id': 2.0.4 + + '@libp2p/peer-collections@6.0.25': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/peer-id': 5.1.0 + '@libp2p/utils': 6.6.0 + multiformats: 13.3.2 + + '@libp2p/peer-id-factory@2.0.4': + dependencies: + '@libp2p/crypto': 1.0.17 + '@libp2p/interface-keys': 1.0.8 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/peer-id': 2.0.4 + multiformats: 11.0.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + + '@libp2p/peer-id@2.0.4': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interfaces': 3.3.2 + multiformats: 11.0.2 + uint8arrays: 4.0.10 + + '@libp2p/peer-id@3.0.6': + dependencies: + '@libp2p/interface': 0.1.6 + multiformats: 12.1.3 + uint8arrays: 4.0.10 + + '@libp2p/peer-id@5.1.0': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + multiformats: 13.3.2 + uint8arrays: 5.1.0 + + '@libp2p/peer-record@5.0.4': + dependencies: + '@libp2p/crypto': 1.0.17 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-record': 2.0.7 + '@libp2p/interfaces': 3.3.2 + '@libp2p/peer-id': 2.0.4 + '@libp2p/utils': 3.0.13 + '@multiformats/multiaddr': 12.4.0 + protons-runtime: 5.5.0 + uint8-varint: 1.0.8 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + '@libp2p/peer-record@8.0.25': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/peer-id': 5.1.0 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + multiformats: 13.3.2 + protons-runtime: 5.5.0 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/peer-store@11.1.2': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/peer-id': 5.1.0 + '@libp2p/peer-record': 8.0.25 + '@multiformats/multiaddr': 12.4.0 + interface-datastore: 8.3.1 + it-all: 3.0.7 + mortice: 3.0.6 + multiformats: 13.3.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/peer-store@6.0.4': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interface-peer-store': 1.2.9 + '@libp2p/interface-record': 2.0.7 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-id': 2.0.4 + '@libp2p/peer-record': 5.0.4 + '@multiformats/multiaddr': 11.6.1 + interface-datastore: 7.0.4 + it-all: 2.0.1 + it-filter: 2.0.2 + it-foreach: 1.0.1 + it-map: 2.0.1 + mortice: 3.0.6 + multiformats: 11.0.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + '@libp2p/ping@2.0.27': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@multiformats/multiaddr': 12.4.0 + it-byte-stream: 1.1.1 + uint8arrays: 5.1.0 + + '@libp2p/prometheus-metrics@1.1.5': + dependencies: + '@libp2p/interface-connection': 5.1.1 + '@libp2p/interface-metrics': 4.0.8 + '@libp2p/logger': 2.1.1 + it-foreach: 2.1.2 + it-stream-types: 2.0.2 + prom-client: 14.2.0 + transitivePeerDependencies: + - supports-color + + '@libp2p/pubsub@10.1.8': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-collections': 6.0.25 + '@libp2p/peer-id': 5.1.0 + '@libp2p/utils': 6.6.0 + it-length-prefixed: 10.0.1 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + multiformats: 13.3.2 + p-queue: 8.1.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/pubsub@6.0.6': + dependencies: + '@libp2p/crypto': 1.0.17 + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-pubsub': 3.0.7 + '@libp2p/interface-registrar': 2.0.12 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-collections': 3.0.2 + '@libp2p/peer-id': 2.0.4 + '@libp2p/topology': 4.0.3 + abortable-iterator: 4.0.3 + it-length-prefixed: 9.1.1 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + multiformats: 11.0.2 + p-queue: 7.4.1 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + '@libp2p/record@3.0.4': + dependencies: + '@libp2p/interface-dht': 2.0.3 + '@libp2p/interfaces': 3.3.2 + multiformats: 11.0.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + + '@libp2p/record@4.0.5': + dependencies: + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/tcp@10.1.8': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + '@types/sinon': 17.0.4 + p-defer: 4.0.1 + p-event: 6.0.1 + progress-events: 1.0.1 + race-event: 1.3.0 + stream-to-it: 1.0.1 + + '@libp2p/tcp@6.2.2': + dependencies: + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interface-metrics': 4.0.8 + '@libp2p/interface-transport': 2.1.3 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/utils': 3.0.13 + '@multiformats/mafmt': 12.1.6 + '@multiformats/multiaddr': 12.4.0 + stream-to-it: 0.2.4 + transitivePeerDependencies: + - supports-color + + '@libp2p/tls@2.1.1': + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/peer-id': 5.1.0 + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + '@peculiar/webcrypto': 1.5.0 + '@peculiar/x509': 1.12.3 + asn1js: 3.0.6 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/topology@4.0.3': + dependencies: + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-registrar': 2.0.12 + + '@libp2p/tracked-map@3.0.4': + dependencies: + '@libp2p/interface-metrics': 4.0.8 + + '@libp2p/upnp-nat@3.1.11': + dependencies: + '@achingbrain/nat-port-mapper': 4.0.2 + '@chainsafe/is-ip': 2.1.0 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + p-defer: 4.0.1 + race-signal: 1.1.3 + + '@libp2p/utils@3.0.13': + dependencies: + '@achingbrain/ip-address': 8.1.0 + '@libp2p/interface-connection': 5.1.1 + '@libp2p/interface-peer-store': 2.0.4 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@multiformats/multiaddr': 12.4.0 + abortable-iterator: 5.1.0 + is-loopback-addr: 2.0.2 + it-stream-types: 2.0.2 + private-ip: 3.0.2 + uint8arraylist: 2.4.8 + transitivePeerDependencies: + - supports-color + + '@libp2p/utils@6.6.0': + dependencies: + '@chainsafe/is-ip': 2.1.0 + '@chainsafe/netmask': 2.0.0 + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/logger': 5.1.13 + '@multiformats/multiaddr': 12.4.0 + '@sindresorhus/fnv1a': 3.1.0 + any-signal: 4.1.1 + delay: 6.0.0 + get-iterator: 2.0.1 + is-loopback-addr: 2.0.2 + it-foreach: 2.1.2 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + netmask: 2.0.2 + p-defer: 4.0.1 + race-event: 1.3.0 + race-signal: 1.1.3 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/webrtc-peer@2.0.2': + dependencies: + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + delay: 5.0.0 + err-code: 3.0.1 + iso-random-stream: 2.0.2 + it-pushable: 3.2.3 + it-stream-types: 1.0.5 + p-defer: 4.0.1 + p-event: 5.0.1 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + '@libp2p/webrtc-star-protocol@3.0.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@multiformats/multiaddr': 11.6.1 + socket.io-client: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@libp2p/webrtc-star@6.0.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@libp2p/interface-connection': 3.1.1 + '@libp2p/interface-peer-discovery': 1.1.1 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-transport': 2.1.3 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-id': 2.0.4 + '@libp2p/utils': 3.0.13 + '@libp2p/webrtc-peer': 2.0.2 + '@libp2p/webrtc-star-protocol': 3.0.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@multiformats/mafmt': 11.1.2 + '@multiformats/multiaddr': 11.6.1 + abortable-iterator: 4.0.3 + delay: 5.0.0 + err-code: 3.0.1 + iso-random-stream: 2.0.2 + multiformats: 11.0.2 + p-defer: 4.0.1 + socket.io-client: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + uint8arrays: 4.0.10 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@libp2p/webrtc@5.2.9(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))': + dependencies: + '@chainsafe/is-ip': 2.1.0 + '@chainsafe/libp2p-noise': 16.1.0 + '@ipshipyard/node-datachannel': 0.26.5 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/peer-id': 5.1.0 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + '@peculiar/webcrypto': 1.5.0 + '@peculiar/x509': 1.12.3 + any-signal: 4.1.1 + detect-browser: 5.3.0 + get-port: 7.1.0 + it-length-prefixed: 10.0.1 + it-protobuf-stream: 1.1.6 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + multiformats: 13.3.2 + p-defer: 4.0.1 + p-timeout: 6.1.4 + p-wait-for: 5.0.2 + progress-events: 1.0.1 + protons-runtime: 5.5.0 + race-event: 1.3.0 + race-signal: 1.1.3 + react-native-webrtc: 124.0.5(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)) + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + transitivePeerDependencies: + - react-native + - supports-color + + '@libp2p/websockets@5.0.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@libp2p/interface-connection': 4.0.0 + '@libp2p/interface-transport': 2.1.3 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/utils': 3.0.13 + '@multiformats/mafmt': 12.1.6 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-to-uri': 9.0.8 + abortable-iterator: 4.0.3 + it-ws: 5.0.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) + p-defer: 4.0.1 + p-timeout: 6.1.4 + wherearewe: 2.0.1 + ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@libp2p/websockets@9.2.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@libp2p/interface': 2.7.0 + '@libp2p/utils': 6.6.0 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + '@multiformats/multiaddr-to-uri': 11.0.0 + '@types/ws': 8.18.0 + it-ws: 6.1.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + p-defer: 4.0.1 + p-event: 6.0.1 + progress-events: 1.0.1 + race-signal: 1.1.3 + ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@multiformats/dns@1.0.6': + dependencies: + '@types/dns-packet': 5.6.5 + buffer: 6.0.3 + dns-packet: 5.6.1 + hashlru: 2.3.0 + p-queue: 8.1.0 + progress-events: 1.0.1 + uint8arrays: 5.1.0 + + '@multiformats/mafmt@11.1.2': + dependencies: + '@multiformats/multiaddr': 12.4.0 + + '@multiformats/mafmt@12.1.6': + dependencies: + '@multiformats/multiaddr': 12.4.0 + + '@multiformats/multiaddr-matcher@1.7.0': + dependencies: + '@chainsafe/is-ip': 2.1.0 + '@multiformats/multiaddr': 12.4.0 + multiformats: 13.3.2 + + '@multiformats/multiaddr-to-uri@11.0.0': + dependencies: + '@multiformats/multiaddr': 12.4.0 + + '@multiformats/multiaddr-to-uri@9.0.8': + dependencies: + '@multiformats/multiaddr': 12.4.0 + + '@multiformats/multiaddr@11.6.1': + dependencies: + '@chainsafe/is-ip': 2.1.0 + dns-over-http-resolver: 2.1.3 + err-code: 3.0.1 + multiformats: 11.0.2 + uint8arrays: 4.0.10 + varint: 6.0.0 + transitivePeerDependencies: + - supports-color + + '@multiformats/multiaddr@12.4.0': + dependencies: + '@chainsafe/is-ip': 2.1.0 + '@chainsafe/netmask': 2.0.0 + '@multiformats/dns': 1.0.6 + multiformats: 13.3.2 + uint8-varint: 2.0.4 + uint8arrays: 5.1.0 + + '@multiformats/murmur3@2.1.8': + dependencies: + multiformats: 13.3.2 + murmurhash3js-revisited: 3.0.0 + + '@multiformats/uri-to-multiaddr@8.1.0': + dependencies: + '@multiformats/multiaddr': 12.4.0 + is-ip: 5.0.1 + + '@noble/ciphers@1.2.1': {} + + '@noble/curves@1.2.0': + dependencies: + '@noble/hashes': 1.3.2 + + '@noble/curves@1.8.1': + dependencies: + '@noble/hashes': 1.7.1 + + '@noble/ed25519@1.7.3': {} + + '@noble/hashes@1.3.2': {} + + '@noble/hashes@1.7.1': {} + + '@noble/secp256k1@1.7.1': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@orbitdb/core-types@1.0.14': {} + + '@orbitdb/core@2.5.0': + dependencies: + '@ipld/dag-cbor': 9.2.2 + '@libp2p/crypto': 5.0.15 + it-pipe: 3.0.1 + level: 8.0.1 + lru: 3.1.0 + multiformats: 12.1.3 + p-queue: 8.1.0 + timeout-abort-controller: 3.0.0 + uint8arrays: 5.1.0 + + '@orbitdb/feed-db@1.1.2(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': + dependencies: + '@orbitdb/core': 2.5.0 + helia: 5.3.0(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - react-native + - supports-color + - utf-8-validate + + '@peculiar/asn1-cms@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + '@peculiar/asn1-x509-attr': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-csr@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pfx@2.3.15': + dependencies: + '@peculiar/asn1-cms': 2.3.15 + '@peculiar/asn1-pkcs8': 2.3.15 + '@peculiar/asn1-rsa': 2.3.15 + '@peculiar/asn1-schema': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs8@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs9@2.3.15': + dependencies: + '@peculiar/asn1-cms': 2.3.15 + '@peculiar/asn1-pfx': 2.3.15 + '@peculiar/asn1-pkcs8': 2.3.15 + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + '@peculiar/asn1-x509-attr': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-rsa@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-schema@2.3.15': + dependencies: + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509-attr@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/json-schema@1.1.12': + dependencies: + tslib: 2.8.1 + + '@peculiar/webcrypto@1.5.0': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/json-schema': 1.1.12 + pvtsutils: 1.3.6 + tslib: 2.8.1 + webcrypto-core: 1.8.1 + + '@peculiar/x509@1.12.3': + dependencies: + '@peculiar/asn1-cms': 2.3.15 + '@peculiar/asn1-csr': 2.3.15 + '@peculiar/asn1-ecc': 2.3.15 + '@peculiar/asn1-pkcs9': 2.3.15 + '@peculiar/asn1-rsa': 2.3.15 + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + pvtsutils: 1.3.6 + reflect-metadata: 0.2.2 + tslib: 2.8.1 + tsyringe: 4.8.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.2.0': {} + + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + + '@react-native/assets-registry@0.78.1': {} + + '@react-native/babel-plugin-codegen@0.78.1(@babel/preset-env@7.26.9(@babel/core@7.26.10))': + dependencies: + '@babel/traverse': 7.27.0 + '@react-native/codegen': 0.78.1(@babel/preset-env@7.26.9(@babel/core@7.26.10)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))': + dependencies: + '@babel/core': 7.26.10 + '@babel/plugin-proposal-export-default-from': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-export-default-from': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.10) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-block-scoping': 7.27.0(@babel/core@7.26.10) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.10) + '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.26.10) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.10) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-regenerator': 7.27.0(@babel/core@7.26.10) + '@babel/plugin-transform-runtime': 7.26.10(@babel/core@7.26.10) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-typescript': 7.27.0(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.10) + '@babel/template': 7.27.0 + '@react-native/babel-plugin-codegen': 0.78.1(@babel/preset-env@7.26.9(@babel/core@7.26.10)) + babel-plugin-syntax-hermes-parser: 0.25.1 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.10) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/codegen@0.78.1(@babel/preset-env@7.26.9(@babel/core@7.26.10))': + dependencies: + '@babel/parser': 7.27.0 + '@babel/preset-env': 7.26.9(@babel/core@7.26.10) + glob: 7.2.3 + hermes-parser: 0.25.1 + invariant: 2.2.4 + jscodeshift: 17.3.0(@babel/preset-env@7.26.9(@babel/core@7.26.10)) + nullthrows: 1.1.1 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@react-native/community-cli-plugin@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@react-native/dev-middleware': 0.78.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@react-native/metro-babel-transformer': 0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10)) + chalk: 4.1.2 + debug: 2.6.9 + invariant: 2.2.4 + metro: 0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-config: 0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-core: 0.81.4 + readline: 1.3.0 + semver: 7.7.1 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - supports-color + - utf-8-validate + + '@react-native/debugger-frontend@0.78.1': {} + + '@react-native/dev-middleware@0.78.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.78.1 + chrome-launcher: 0.15.2 + chromium-edge-launcher: 0.2.0 + connect: 3.7.0 + debug: 2.6.9 + invariant: 2.2.4 + nullthrows: 1.1.1 + open: 7.4.2 + selfsigned: 2.4.1 + serve-static: 1.16.2 + ws: 6.2.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@react-native/gradle-plugin@0.78.1': {} + + '@react-native/js-polyfills@0.78.1': {} + + '@react-native/metro-babel-transformer@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))': + dependencies: + '@babel/core': 7.26.10 + '@react-native/babel-preset': 0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10)) + hermes-parser: 0.25.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/normalize-colors@0.78.1': {} + + '@react-native/virtualized-lists@0.78.1(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + dependencies: + invariant: 2.2.4 + nullthrows: 1.1.1 + react: 19.1.0 + react-native: 0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10) + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/fnv1a@3.1.0': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@socket.io/component-emitter@3.1.2': {} + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.27.0 + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.6.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0(encoding@0.1.13) + rpc-websockets: 9.1.1 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@stablelib/aead@1.0.1': {} + + '@stablelib/binary@1.0.1': + dependencies: + '@stablelib/int': 1.0.1 + + '@stablelib/bytes@1.0.1': {} + + '@stablelib/chacha20poly1305@1.0.1': + dependencies: + '@stablelib/aead': 1.0.1 + '@stablelib/binary': 1.0.1 + '@stablelib/chacha': 1.0.1 + '@stablelib/constant-time': 1.0.1 + '@stablelib/poly1305': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/chacha@1.0.1': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/constant-time@1.0.1': {} + + '@stablelib/hash@1.0.1': {} + + '@stablelib/hkdf@1.0.1': + dependencies: + '@stablelib/hash': 1.0.1 + '@stablelib/hmac': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/hmac@1.0.1': + dependencies: + '@stablelib/constant-time': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/int@1.0.1': {} + + '@stablelib/keyagreement@1.0.1': + dependencies: + '@stablelib/bytes': 1.0.1 + + '@stablelib/poly1305@1.0.1': + dependencies: + '@stablelib/constant-time': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/random@1.0.2': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/sha256@1.0.1': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/wipe@1.0.1': {} + + '@stablelib/x25519@1.0.3': + dependencies: + '@stablelib/keyagreement': 1.0.1 + '@stablelib/random': 1.0.2 + '@stablelib/wipe': 1.0.1 + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@topoconfig/extends@0.16.2': {} + + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.7 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.27.0 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + + '@types/babel__traverse@7.20.7': + dependencies: + '@babel/types': 7.27.0 + + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 22.13.14 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 22.13.14 + + '@types/cors@2.8.17': + dependencies: + '@types/node': 22.13.14 + + '@types/dns-packet@5.6.5': + dependencies: + '@types/node': 22.13.14 + + '@types/estree@1.0.7': {} + + '@types/express-serve-static-core@5.0.6': + dependencies: + '@types/node': 22.13.14 + '@types/qs': 6.9.18 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@5.0.1': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 5.0.6 + '@types/serve-static': 1.15.7 + + '@types/filesize-parser@1.5.3': {} + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 22.13.14 + + '@types/http-errors@2.0.4': {} + + '@types/inquirer@9.0.7': + dependencies: + '@types/through': 0.0.33 + rxjs: 7.8.2 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/long@4.0.2': {} + + '@types/mime@1.3.5': {} + + '@types/minimatch@3.0.5': {} + + '@types/morgan@1.9.9': + dependencies: + '@types/node': 22.13.14 + + '@types/multer@1.4.12': + dependencies: + '@types/express': 5.0.1 + + '@types/multicast-dns@7.2.4': + dependencies: + '@types/dns-packet': 5.6.5 + '@types/node': 22.13.14 + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 22.13.14 + + '@types/node@12.20.55': {} + + '@types/node@18.19.86': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.17.28': + dependencies: + undici-types: 6.19.8 + + '@types/node@22.13.14': + dependencies: + undici-types: 6.20.0 + + '@types/node@22.7.5': + dependencies: + undici-types: 6.19.8 + + '@types/qs@6.9.18': {} + + '@types/range-parser@1.2.7': {} + + '@types/retry@0.12.1': {} + + '@types/retry@0.12.2': {} + + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 22.13.14 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 22.13.14 + '@types/send': 0.17.4 + + '@types/sinon@17.0.4': + dependencies: + '@types/sinonjs__fake-timers': 8.1.5 + + '@types/sinonjs__fake-timers@8.1.5': {} + + '@types/stack-utils@2.0.3': {} + + '@types/through@0.0.33': + dependencies: + '@types/node': 22.13.14 + + '@types/triple-beam@1.3.5': {} + + '@types/unzipper@0.10.11': + dependencies: + '@types/node': 22.13.14 + + '@types/uuid@10.0.0': {} + + '@types/uuid@8.3.4': {} + + '@types/ws@7.4.7': + dependencies: + '@types/node': 22.13.14 + + '@types/ws@8.18.0': + dependencies: + '@types/node': 22.13.14 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@typescript-eslint/eslint-plugin@8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.29.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/scope-manager': 8.29.0 + '@typescript-eslint/type-utils': 8.29.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.29.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.29.0 + eslint: 9.23.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.29.0(eslint@9.23.0)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/scope-manager': 8.29.0 + '@typescript-eslint/types': 8.29.0 + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.29.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.23.0 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.29.0': + dependencies: + '@typescript-eslint/types': 8.29.0 + '@typescript-eslint/visitor-keys': 8.29.0 + + '@typescript-eslint/type-utils@8.29.0(eslint@9.23.0)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2) + '@typescript-eslint/utils': 8.29.0(eslint@9.23.0)(typescript@5.8.2) + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.23.0 + ts-api-utils: 2.1.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.29.0': {} + + '@typescript-eslint/typescript-estree@8.29.0(typescript@5.8.2)': + dependencies: + '@typescript-eslint/types': 8.29.0 + '@typescript-eslint/visitor-keys': 8.29.0 + debug: 4.4.0(supports-color@5.5.0) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.1.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.29.0(eslint@9.23.0)(typescript@5.8.2)': + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0) + '@typescript-eslint/scope-manager': 8.29.0 + '@typescript-eslint/types': 8.29.0 + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2) + eslint: 9.23.0 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.29.0': + dependencies: + '@typescript-eslint/types': 8.29.0 + eslint-visitor-keys: 4.2.0 + + '@ungap/structured-clone@1.3.0': {} + + '@vascosantos/moving-average@1.1.0': {} + + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + abort-error@1.0.1: {} + + abortable-iterator@4.0.3: + dependencies: + get-iterator: 2.0.1 + it-stream-types: 1.0.5 + + abortable-iterator@5.1.0: + dependencies: + get-iterator: 2.0.1 + it-stream-types: 2.0.2 + + abstract-level@1.0.4: + dependencies: + buffer: 6.0.3 + catering: 2.1.1 + is-buffer: 2.0.5 + level-supports: 4.0.1 + level-transcoder: 1.0.1 + module-error: 1.0.2 + queue-microtask: 1.2.3 + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + accepts@2.0.0: + dependencies: + mime-types: 3.0.1 + negotiator: 1.0.0 + + acme-client@5.4.0: + dependencies: + '@peculiar/x509': 1.12.3 + asn1js: 3.0.6 + axios: 1.8.4(debug@4.4.0) + debug: 4.4.0(supports-color@5.5.0) + node-forge: 1.3.1 + transitivePeerDependencies: + - supports-color + + acorn-jsx@5.3.2(acorn@8.14.1): + dependencies: + acorn: 8.14.1 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.14.1 + + acorn@8.14.1: {} + + aes-js@4.0.0-beta.5: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + agent-base@7.1.3: {} + + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + anser@1.4.10: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + any-signal@3.0.1: {} + + any-signal@4.1.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + append-field@1.0.0: {} + + arg@4.1.3: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-shuffle@3.0.0: {} + + array-union@2.1.0: {} + + asap@2.0.6: {} + + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + + asn1js@3.0.6: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.1.3 + tslib: 2.8.1 + + ast-types@0.16.1: + dependencies: + tslib: 2.8.1 + + async-limiter@1.0.1: {} + + async@3.2.6: {} + + asynckit@0.4.0: {} + + at-least-node@1.0.0: {} + + axios@1.8.4(debug@4.4.0): + dependencies: + follow-redirects: 1.15.9(debug@4.4.0) + form-data: 4.0.2 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + babel-jest@29.7.0(@babel/core@7.26.10): + dependencies: + '@babel/core': 7.26.10 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.26.10) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.26.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.27.0 + '@babel/types': 7.27.0 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.7 + + babel-plugin-polyfill-corejs2@0.4.13(@babel/core@7.26.10): + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.26.10) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.26.10): + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.26.10) + core-js-compat: 3.41.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.4(@babel/core@7.26.10): + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.26.10) + transitivePeerDependencies: + - supports-color + + babel-plugin-syntax-hermes-parser@0.25.1: + dependencies: + hermes-parser: 0.25.1 + + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.26.10): + dependencies: + '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.10) + transitivePeerDependencies: + - '@babel/core' + + babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.10): + dependencies: + '@babel/core': 7.26.10 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.10) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.10) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.10) + + babel-preset-jest@29.6.3(@babel/core@7.26.10): + dependencies: + '@babel/core': 7.26.10 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.10) + + balanced-match@1.0.2: {} + + base-x@3.0.11: + dependencies: + safe-buffer: 5.2.1 + + base64-js@1.5.1: {} + + base64id@2.0.0: {} + + basic-auth@2.0.1: + dependencies: + safe-buffer: 5.1.2 + + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + + benchmark@2.1.4: + dependencies: + lodash: 4.17.21 + platform: 1.3.6 + + bigint-buffer@1.1.5: + dependencies: + bindings: 1.5.0 + + binary-extensions@2.3.0: {} + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + bintrees@1.0.2: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + bl@5.1.0: + dependencies: + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 3.6.2 + + blob-to-it@2.0.8: + dependencies: + browser-readablestream-to-it: 2.0.8 + + blockstore-core@3.0.0: + dependencies: + err-code: 3.0.1 + interface-blockstore: 4.0.1 + interface-store: 3.0.4 + it-all: 2.0.1 + it-drain: 2.0.1 + it-filter: 2.0.2 + it-take: 2.0.1 + multiformats: 11.0.2 + + blockstore-core@5.0.2: + dependencies: + '@libp2p/logger': 5.1.13 + interface-blockstore: 5.3.1 + interface-store: 6.0.2 + it-drain: 3.0.8 + it-filter: 3.1.2 + it-merge: 3.0.9 + it-pushable: 3.2.3 + multiformats: 13.3.2 + + blockstore-datastore-adapter@5.0.0: + dependencies: + blockstore-core: 3.0.0 + err-code: 3.0.1 + interface-blockstore: 4.0.1 + interface-datastore: 7.0.4 + it-drain: 2.0.1 + it-pushable: 3.2.3 + multiformats: 11.0.2 + + blockstore-fs@2.0.2: + dependencies: + interface-blockstore: 5.3.1 + interface-store: 6.0.2 + it-glob: 3.0.2 + it-map: 3.1.2 + it-parallel-batch: 3.0.7 + multiformats: 13.3.2 + steno: 4.0.2 + + bluebird@3.7.2: {} + + bn.js@5.2.1: {} + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + body-parser@2.2.0: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 4.4.0(supports-color@5.5.0) + http-errors: 2.0.0 + iconv-lite: 0.6.3 + on-finished: 2.4.1 + qs: 6.14.0 + raw-body: 3.0.0 + type-is: 2.0.1 + transitivePeerDependencies: + - supports-color + + borsh@0.7.0: + dependencies: + bn.js: 5.2.1 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browser-level@1.0.1: + dependencies: + abstract-level: 1.0.4 + catering: 2.1.1 + module-error: 1.0.2 + run-parallel-limit: 1.1.0 + + browser-readablestream-to-it@1.0.3: {} + + browser-readablestream-to-it@2.0.8: {} + + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001707 + electron-to-chromium: 1.5.128 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.4) + + bs58@4.0.1: + dependencies: + base-x: 3.0.11 + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bufferutil@4.0.9: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + buildcheck@0.0.6: + optional: true + + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 + + byte-access@1.0.1: + dependencies: + uint8arraylist: 2.4.8 + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + caller-callsite@2.0.0: + dependencies: + callsites: 2.0.0 + + caller-path@2.0.0: + dependencies: + caller-callsite: 2.0.0 + + callsites@2.0.0: {} + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001707: {} + + catering@2.1.1: {} + + cborg@1.10.2: {} + + cborg@4.2.9: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.4.1: {} + + chardet@0.7.0: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@1.1.4: {} + + chrome-launcher@0.15.2: + dependencies: + '@types/node': 22.13.14 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + transitivePeerDependencies: + - supports-color + + chromium-edge-launcher@0.2.0: + dependencies: + '@types/node': 22.13.14 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + mkdirp: 1.0.4 + rimraf: 3.0.2 + transitivePeerDependencies: + - supports-color + + ci-info@2.0.0: {} + + ci-info@3.9.0: {} + + classic-level@1.4.1: + dependencies: + abstract-level: 1.0.4 + catering: 2.1.1 + module-error: 1.0.2 + napi-macros: 2.2.2 + node-gyp-build: 4.8.4 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-cursor@4.0.0: + dependencies: + restore-cursor: 4.0.0 + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-spinners@2.9.2: {} + + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + + cli-width@4.1.0: {} + + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clone-regexp@3.0.0: + dependencies: + is-regexp: 3.1.0 + + clone@1.0.4: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@3.2.1: + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + + colorette@2.0.20: {} + + colorspace@1.1.4: + dependencies: + color: 3.2.1 + text-hex: 1.0.0 + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@11.1.0: {} + + commander@12.1.0: {} + + commander@13.1.0: {} + + commander@2.20.3: {} + + commondir@1.0.1: {} + + concat-map@0.0.1: {} + + concat-stream@1.6.2: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + + connect@3.7.0: + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-disposition@1.0.0: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-hrtime@5.0.0: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie-signature@1.2.2: {} + + cookie@0.7.1: {} + + cookie@0.7.2: {} + + core-js-compat@3.41.0: + dependencies: + browserslist: 4.24.4 + + core-util-is@1.0.3: {} + + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cosmiconfig@5.2.1: + dependencies: + import-fresh: 2.0.0 + is-directory: 0.3.1 + js-yaml: 3.14.1 + parse-json: 4.0.0 + + cpu-features@0.0.10: + dependencies: + buildcheck: 0.0.6 + nan: 2.22.2 + optional: true + + create-require@1.1.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + dag-jose@4.0.0: + dependencies: + '@ipld/dag-cbor': 9.2.2 + multiformats: 11.0.2 + + datastore-core@10.0.2: + dependencies: + '@libp2p/logger': 5.1.13 + interface-datastore: 8.3.1 + interface-store: 6.0.2 + it-drain: 3.0.8 + it-filter: 3.1.2 + it-map: 3.1.2 + it-merge: 3.0.9 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + it-sort: 3.0.7 + it-take: 3.0.7 + + datastore-core@8.0.4: + dependencies: + '@libp2p/logger': 2.1.1 + err-code: 3.0.1 + interface-datastore: 7.0.4 + it-all: 2.0.1 + it-drain: 2.0.1 + it-filter: 2.0.2 + it-map: 2.0.1 + it-merge: 2.0.1 + it-pipe: 2.0.5 + it-pushable: 3.2.3 + it-take: 2.0.1 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + datastore-fs@8.0.0: + dependencies: + datastore-core: 8.0.4 + fast-write-atomic: 0.2.1 + interface-datastore: 7.0.4 + it-glob: 1.0.2 + it-map: 1.0.6 + it-parallel-batch: 1.0.11 + mkdirp: 1.0.4 + transitivePeerDependencies: + - supports-color + + datastore-level@9.0.4: + dependencies: + abstract-level: 1.0.4 + datastore-core: 8.0.4 + interface-datastore: 7.0.4 + it-filter: 2.0.2 + it-map: 2.0.1 + it-sort: 2.0.1 + it-take: 2.0.1 + level: 8.0.1 + transitivePeerDependencies: + - supports-color + + datastore-pubsub@7.0.0: + dependencies: + '@libp2p/interface-dht': 2.0.3 + '@libp2p/interface-pubsub': 3.0.7 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + datastore-core: 8.0.4 + interface-datastore: 7.0.4 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.3.4: + dependencies: + ms: 2.1.2 + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + debug@4.4.0(supports-color@5.5.0): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 5.5.0 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deep-is@0.1.4: {} + + default-gateway@7.2.2: + dependencies: + execa: 7.2.0 + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + delay@5.0.0: {} + + delay@6.0.0: {} + + delayed-stream@1.0.0: {} + + denque@1.5.1: {} + + denque@2.1.0: {} + + depd@2.0.0: {} + + depseek@0.4.1: {} + + destroy@1.2.0: {} + + detect-browser@5.3.0: {} + + detect-libc@2.0.3: {} + + diff@4.0.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dlv@1.1.3: {} + + dns-over-http-resolver@2.1.3: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + native-fetch: 4.0.2(undici@5.29.0) + receptacle: 1.3.2 + undici: 5.29.0 + transitivePeerDependencies: + - supports-color + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + docker-modem@5.0.6: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + readable-stream: 3.6.2 + split-ca: 1.0.1 + ssh2: 1.16.0 + transitivePeerDependencies: + - supports-color + + dockerode@4.0.5: + dependencies: + '@balena/dockerignore': 1.0.2 + '@grpc/grpc-js': 1.13.2 + '@grpc/proto-loader': 0.7.13 + docker-modem: 5.0.6 + protobufjs: 7.4.0 + tar-fs: 2.1.2 + uuid: 10.0.0 + transitivePeerDependencies: + - supports-color + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dotenv@16.4.7: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexer2@0.1.4: + dependencies: + readable-stream: 2.3.8 + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-fetch@1.9.1: + dependencies: + encoding: 0.1.13 + + electron-to-chromium@1.5.128: {} + + emoji-regex@10.4.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + enabled@2.0.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + engine.io-client@6.6.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-parser: 5.2.3 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + xmlhttprequest-ssl: 2.1.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + engine.io-parser@5.2.3: {} + + engine.io@6.6.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@types/cors': 2.8.17 + '@types/node': 22.13.14 + accepts: 1.3.8 + base64id: 2.0.0 + cookie: 0.7.2 + cors: 2.8.5 + debug: 4.3.7 + engine.io-parser: 5.2.3 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + environment@1.1.0: {} + + err-code@3.0.1: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-plugin-prettier@5.2.5(eslint@9.23.0)(prettier@3.5.3): + dependencies: + eslint: 9.23.0 + prettier: 3.5.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.10.3 + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-scope@8.3.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} + + eslint@8.57.1: + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.1 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.3.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@5.5.0) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + eslint@9.23.0: + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.2 + '@eslint/config-helpers': 0.2.0 + '@eslint/core': 0.12.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.23.0 + '@eslint/plugin-kit': 0.2.7 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.2 + '@types/estree': 1.0.7 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@5.5.0) + escape-string-regexp: 4.0.0 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.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.4 + transitivePeerDependencies: + - supports-color + + espree@10.3.0: + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 4.2.0 + + espree@9.6.1: + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@adraffy/ens-normalize': 1.10.1 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@types/node': 22.7.5 + aes-js: 4.0.0-beta.5 + tslib: 2.7.0 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + event-iterator@2.0.0: {} + + event-target-shim@5.0.1: {} + + event-target-shim@6.0.2: {} + + eventemitter3@5.0.1: {} + + events@3.3.0: {} + + execa@7.2.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + expand-template@2.0.3: {} + + exponential-backoff@3.1.2: {} + + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + express@5.1.0: + dependencies: + accepts: 2.0.0 + body-parser: 2.2.0 + content-disposition: 1.0.0 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.2.2 + debug: 4.4.0(supports-color@5.5.0) + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 2.1.0 + fresh: 2.0.0 + http-errors: 2.0.0 + merge-descriptors: 2.0.0 + mime-types: 3.0.1 + on-finished: 2.4.1 + once: 1.4.0 + parseurl: 1.3.3 + proxy-addr: 2.0.7 + qs: 6.14.0 + range-parser: 1.2.1 + router: 2.2.0 + send: 1.2.0 + serve-static: 2.2.0 + statuses: 2.0.1 + type-is: 2.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + + eyes@0.1.8: {} + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-stable-stringify@1.0.0: {} + + fast-write-atomic@0.2.1: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fecha@4.2.3: {} + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + file-uri-to-path@1.0.0: {} + + filesize-parser@1.5.1: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.1.2: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + finalhandler@2.1.0: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + find-cache-dir@2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + rimraf: 3.0.2 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + flow-enums-runtime@0.0.6: {} + + flow-parser@0.266.1: {} + + fn.name@1.1.0: {} + + fnv1a@1.1.1: {} + + follow-redirects@1.15.9(debug@4.4.0): + optionalDependencies: + debug: 4.4.0(supports-color@5.5.0) + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data@4.0.2: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + mime-types: 2.1.35 + + forwarded@0.2.0: {} + + freeport-promise@2.0.0: {} + + fresh@0.5.2: {} + + fresh@2.0.0: {} + + from2@2.3.0: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + + fs-constants@1.0.0: {} + + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function-timeout@0.1.1: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.3.0: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-iterator@1.0.2: {} + + get-iterator@2.0.1: {} + + get-package-type@0.1.0: {} + + get-port@7.1.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@6.0.1: {} + + get-stream@8.0.1: {} + + github-from-package@0.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globals@14.0.0: {} + + globals@16.0.0: {} + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + hamt-sharding@3.0.6: + dependencies: + sparse-array: 1.3.2 + uint8arrays: 5.1.0 + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + has@1.0.4: {} + + hashlru@2.3.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + helia@5.3.0(bufferutil@4.0.9)(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10): + dependencies: + '@chainsafe/libp2p-noise': 16.1.0 + '@chainsafe/libp2p-yamux': 7.0.1 + '@helia/block-brokers': 4.1.0 + '@helia/delegated-routing-v1-http-api-client': 4.2.2 + '@helia/interface': 5.2.1 + '@helia/routers': 3.0.1 + '@helia/utils': 1.2.2 + '@ipshipyard/libp2p-auto-tls': 1.0.0 + '@libp2p/autonat': 2.0.28 + '@libp2p/bootstrap': 11.0.32 + '@libp2p/circuit-relay-v2': 3.2.8 + '@libp2p/config': 1.1.4 + '@libp2p/dcutr': 2.0.27 + '@libp2p/identify': 3.0.27 + '@libp2p/interface': 2.7.0 + '@libp2p/kad-dht': 14.2.15 + '@libp2p/keychain': 5.1.4 + '@libp2p/mdns': 11.0.32 + '@libp2p/mplex': 11.0.32 + '@libp2p/ping': 2.0.27 + '@libp2p/tcp': 10.1.8 + '@libp2p/tls': 2.1.1 + '@libp2p/upnp-nat': 3.1.11 + '@libp2p/webrtc': 5.2.9(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)) + '@libp2p/websockets': 9.2.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@multiformats/dns': 1.0.6 + blockstore-core: 5.0.2 + datastore-core: 10.0.2 + interface-blockstore: 5.3.1 + interface-datastore: 8.3.1 + ipns: 10.0.2 + libp2p: 2.8.2 + multiformats: 13.3.2 + transitivePeerDependencies: + - bufferutil + - react-native + - supports-color + - utf-8-validate + + hermes-estree@0.25.1: {} + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + + http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@6.21.2): + dependencies: + agent-base: 7.1.3 + tough-cookie: 5.1.2 + optionalDependencies: + undici: 6.21.2 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.3 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + human-signals@4.3.1: {} + + human-signals@5.0.0: {} + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + husky@8.0.3: {} + + husky@9.1.7: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + ieee754@1.2.1: {} + + ignore-by-default@1.0.1: {} + + ignore@5.3.2: {} + + image-size@1.2.0: + dependencies: + queue: 6.0.2 + + import-fresh@2.0.0: + dependencies: + caller-path: 2.0.0 + resolve-from: 3.0.0 + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@1.3.8: {} + + inquirer@12.5.0(@types/node@22.13.14): + dependencies: + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/prompts': 7.4.0(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) + ansi-escapes: 4.3.2 + mute-stream: 2.0.0 + run-async: 3.0.0 + rxjs: 7.8.2 + optionalDependencies: + '@types/node': 22.13.14 + + inquirer@9.3.7: + dependencies: + '@inquirer/figures': 1.0.11 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + external-editor: 3.1.0 + mute-stream: 1.0.0 + ora: 5.4.1 + run-async: 3.0.0 + rxjs: 7.8.2 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + + interface-blockstore@4.0.1: + dependencies: + interface-store: 3.0.4 + multiformats: 11.0.2 + + interface-blockstore@5.3.1: + dependencies: + interface-store: 6.0.2 + multiformats: 13.3.2 + + interface-datastore@7.0.4: + dependencies: + interface-store: 3.0.4 + nanoid: 4.0.2 + uint8arrays: 4.0.10 + + interface-datastore@8.3.1: + dependencies: + interface-store: 6.0.2 + uint8arrays: 5.1.0 + + interface-store@3.0.4: {} + + interface-store@6.0.2: {} + + into-stream@6.0.0: + dependencies: + from2: 2.3.0 + p-is-promise: 3.0.0 + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ip-address@9.0.5: + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + + ip-regex@5.0.0: {} + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + ipfs-bitswap@15.0.2: + dependencies: + '@libp2p/interface-connection': 3.1.1 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-store': 1.2.9 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/topology': 4.0.3 + '@libp2p/tracked-map': 3.0.4 + '@multiformats/multiaddr': 11.6.1 + '@vascosantos/moving-average': 1.1.0 + abortable-iterator: 4.0.3 + any-signal: 3.0.1 + blockstore-core: 3.0.0 + interface-blockstore: 4.0.1 + it-length-prefixed: 8.0.4 + it-pipe: 2.0.5 + just-debounce-it: 3.2.0 + multiformats: 11.0.2 + protobufjs: 7.4.0 + readable-stream: 4.7.0 + timeout-abort-controller: 3.0.0 + uint8arrays: 4.0.10 + varint: 6.0.0 + varint-decoder: 1.0.0 + transitivePeerDependencies: + - supports-color + + ipfs-core-config@0.7.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10): + dependencies: + '@chainsafe/libp2p-gossipsub': 6.3.0 + '@libp2p/floodsub': 6.0.3 + '@libp2p/logger': 2.1.1 + '@libp2p/mdns': 6.0.0 + '@libp2p/prometheus-metrics': 1.1.5 + '@libp2p/tcp': 6.2.2 + '@libp2p/webrtc-star': 6.0.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + blockstore-datastore-adapter: 5.0.0 + datastore-core: 8.0.4 + datastore-fs: 8.0.0 + datastore-level: 9.0.4 + err-code: 3.0.1 + hashlru: 2.3.0 + interface-datastore: 7.0.4 + ipfs-repo: 17.0.0 + ipfs-utils: 9.0.14(encoding@0.1.13) + is-ipfs: 8.0.4 + it-all: 2.0.1 + it-drain: 2.0.1 + it-foreach: 1.0.1 + p-queue: 7.4.1 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + ipfs-core-types@0.14.1: + dependencies: + '@ipld/dag-pb': 4.1.3 + '@libp2p/interface-keychain': 2.0.5 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interface-pubsub': 3.0.7 + '@multiformats/multiaddr': 11.6.1 + '@types/node': 18.19.86 + interface-datastore: 7.0.4 + ipfs-unixfs: 9.0.1 + multiformats: 11.0.2 + transitivePeerDependencies: + - supports-color + + ipfs-core-utils@0.18.1(encoding@0.1.13): + dependencies: + '@libp2p/logger': 2.1.1 + '@multiformats/multiaddr': 11.6.1 + '@multiformats/multiaddr-to-uri': 9.0.8 + any-signal: 3.0.1 + blob-to-it: 2.0.8 + browser-readablestream-to-it: 2.0.8 + err-code: 3.0.1 + ipfs-core-types: 0.14.1 + ipfs-unixfs: 9.0.1 + ipfs-utils: 9.0.14(encoding@0.1.13) + it-all: 2.0.1 + it-map: 2.0.1 + it-peekable: 2.0.1 + it-to-stream: 1.0.0 + merge-options: 3.0.4 + multiformats: 11.0.2 + nanoid: 4.0.2 + parse-duration: 1.1.2 + timeout-abort-controller: 3.0.0 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - encoding + - supports-color + + ipfs-core@0.18.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10): + dependencies: + '@chainsafe/libp2p-noise': 11.0.4 + '@ipld/car': 5.4.0 + '@ipld/dag-cbor': 9.2.2 + '@ipld/dag-json': 10.2.3 + '@ipld/dag-pb': 4.1.3 + '@libp2p/bootstrap': 6.0.3 + '@libp2p/crypto': 1.0.17 + '@libp2p/delegated-content-routing': 4.0.11 + '@libp2p/delegated-peer-routing': 4.0.14 + '@libp2p/interface-dht': 2.0.3 + '@libp2p/interface-keys': 1.0.8 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-transport': 2.1.3 + '@libp2p/interfaces': 3.3.2 + '@libp2p/kad-dht': 7.0.3 + '@libp2p/logger': 2.1.1 + '@libp2p/mplex': 7.1.7 + '@libp2p/peer-id': 2.0.4 + '@libp2p/peer-id-factory': 2.0.4 + '@libp2p/record': 3.0.4 + '@libp2p/websockets': 5.0.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@multiformats/mafmt': 11.1.2 + '@multiformats/multiaddr': 11.6.1 + '@multiformats/multiaddr-to-uri': 9.0.8 + '@multiformats/murmur3': 2.1.8 + any-signal: 3.0.1 + array-shuffle: 3.0.0 + blockstore-core: 3.0.0 + browser-readablestream-to-it: 2.0.8 + dag-jose: 4.0.0 + datastore-core: 8.0.4 + datastore-pubsub: 7.0.0 + dlv: 1.1.3 + err-code: 3.0.1 + hamt-sharding: 3.0.6 + hashlru: 2.3.0 + interface-blockstore: 4.0.1 + interface-datastore: 7.0.4 + ipfs-bitswap: 15.0.2 + ipfs-core-config: 0.7.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) + ipfs-core-types: 0.14.1 + ipfs-core-utils: 0.18.1(encoding@0.1.13) + ipfs-http-client: 60.0.1(encoding@0.1.13) + ipfs-repo: 17.0.0 + ipfs-unixfs: 9.0.1 + ipfs-unixfs-exporter: 10.0.1 + ipfs-unixfs-importer: 12.0.1(encoding@0.1.13) + ipfs-utils: 9.0.14(encoding@0.1.13) + ipns: 5.0.2 + is-domain-name: 1.0.1 + is-ipfs: 8.0.4 + it-drain: 2.0.1 + it-filter: 2.0.2 + it-first: 2.0.1 + it-last: 2.0.1 + it-map: 2.0.1 + it-merge: 2.0.1 + it-parallel: 3.0.9 + it-peekable: 2.0.1 + it-pipe: 2.0.5 + it-pushable: 3.2.3 + it-tar: 6.0.5 + it-to-buffer: 3.0.1 + just-safe-set: 4.2.1 + libp2p: 0.42.2 + merge-options: 3.0.4 + mortice: 3.0.6 + multiformats: 11.0.2 + pako: 2.1.0 + parse-duration: 1.1.2 + timeout-abort-controller: 3.0.0 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + ipfs-http-client@60.0.1(encoding@0.1.13): + dependencies: + '@ipld/dag-cbor': 9.2.2 + '@ipld/dag-json': 10.2.3 + '@ipld/dag-pb': 4.1.3 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-id': 2.0.4 + '@multiformats/multiaddr': 11.6.1 + any-signal: 3.0.1 + dag-jose: 4.0.0 + err-code: 3.0.1 + ipfs-core-types: 0.14.1 + ipfs-core-utils: 0.18.1(encoding@0.1.13) + ipfs-utils: 9.0.14(encoding@0.1.13) + it-first: 2.0.1 + it-last: 2.0.1 + merge-options: 3.0.4 + multiformats: 11.0.2 + parse-duration: 1.1.2 + stream-to-it: 0.2.4 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - encoding + - supports-color + + ipfs-repo-migrations@15.0.0: + dependencies: + '@ipld/dag-pb': 4.1.3 + '@multiformats/multiaddr': 11.6.1 + cborg: 1.10.2 + datastore-core: 8.0.4 + debug: 4.4.0(supports-color@5.5.0) + fnv1a: 1.1.1 + interface-blockstore: 4.0.1 + interface-datastore: 7.0.4 + it-length: 2.0.1 + multiformats: 11.0.2 + protobufjs: 7.4.0 + uint8arrays: 4.0.10 + varint: 6.0.0 + transitivePeerDependencies: + - supports-color + + ipfs-repo@17.0.0: + dependencies: + '@ipld/dag-pb': 4.1.3 + bytes: 3.1.2 + cborg: 1.10.2 + datastore-core: 8.0.4 + debug: 4.4.0(supports-color@5.5.0) + err-code: 3.0.1 + interface-blockstore: 4.0.1 + interface-datastore: 7.0.4 + ipfs-repo-migrations: 15.0.0 + it-drain: 2.0.1 + it-filter: 2.0.2 + it-first: 2.0.1 + it-map: 2.0.1 + it-merge: 2.0.1 + it-parallel-batch: 2.0.1 + it-pipe: 2.0.5 + it-pushable: 3.2.3 + just-safe-get: 4.2.0 + just-safe-set: 4.2.1 + merge-options: 3.0.4 + mortice: 3.0.6 + multiformats: 11.0.2 + p-queue: 7.4.1 + proper-lockfile: 4.1.2 + quick-lru: 6.1.2 + sort-keys: 5.1.0 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + ipfs-unixfs-exporter@10.0.1: + dependencies: + '@ipld/dag-cbor': 9.2.2 + '@ipld/dag-pb': 4.1.3 + '@multiformats/murmur3': 2.1.8 + err-code: 3.0.1 + hamt-sharding: 3.0.6 + interface-blockstore: 4.0.1 + ipfs-unixfs: 9.0.1 + it-last: 2.0.1 + it-map: 2.0.1 + it-parallel: 3.0.9 + it-pipe: 2.0.5 + it-pushable: 3.2.3 + multiformats: 11.0.2 + p-queue: 7.4.1 + uint8arrays: 4.0.10 + + ipfs-unixfs-exporter@13.6.2: + dependencies: + '@ipld/dag-cbor': 9.2.2 + '@ipld/dag-json': 10.2.3 + '@ipld/dag-pb': 4.1.3 + '@multiformats/murmur3': 2.1.8 + hamt-sharding: 3.0.6 + interface-blockstore: 5.3.1 + ipfs-unixfs: 11.2.1 + it-filter: 3.1.2 + it-last: 3.0.7 + it-map: 3.1.2 + it-parallel: 3.0.9 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + multiformats: 13.3.2 + p-queue: 8.1.0 + progress-events: 1.0.1 + + ipfs-unixfs-importer@12.0.1(encoding@0.1.13): + dependencies: + '@ipld/dag-pb': 4.1.3 + '@multiformats/murmur3': 2.1.8 + err-code: 3.0.1 + hamt-sharding: 3.0.6 + interface-blockstore: 4.0.1 + ipfs-unixfs: 9.0.1 + it-all: 2.0.1 + it-batch: 2.0.1 + it-first: 2.0.1 + it-parallel-batch: 2.0.1 + merge-options: 3.0.4 + multiformats: 11.0.2 + rabin-wasm: 0.1.5(encoding@0.1.13) + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - encoding + - supports-color + + ipfs-unixfs-importer@15.3.2(encoding@0.1.13): + dependencies: + '@ipld/dag-pb': 4.1.3 + '@multiformats/murmur3': 2.1.8 + hamt-sharding: 3.0.6 + interface-blockstore: 5.3.1 + interface-store: 6.0.2 + ipfs-unixfs: 11.2.1 + it-all: 3.0.7 + it-batch: 3.0.7 + it-first: 3.0.7 + it-parallel-batch: 3.0.7 + multiformats: 13.3.2 + progress-events: 1.0.1 + rabin-wasm: 0.1.5(encoding@0.1.13) + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + transitivePeerDependencies: + - encoding + - supports-color + + ipfs-unixfs@11.2.1: + dependencies: + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + + ipfs-unixfs@9.0.1: + dependencies: + err-code: 3.0.1 + protobufjs: 7.4.0 + + ipfs-utils@9.0.14(encoding@0.1.13): + dependencies: + any-signal: 3.0.1 + browser-readablestream-to-it: 1.0.3 + buffer: 6.0.3 + electron-fetch: 1.9.1 + err-code: 3.0.1 + is-electron: 2.2.2 + iso-url: 1.2.1 + it-all: 1.0.6 + it-glob: 1.0.2 + it-to-stream: 1.0.0 + merge-options: 3.0.4 + nanoid: 3.3.11 + native-fetch: 3.0.0(node-fetch@2.7.0(encoding@0.1.13)) + node-fetch: 2.7.0(encoding@0.1.13) + react-native-fetch-api: 3.0.0 + stream-to-it: 0.2.4 + transitivePeerDependencies: + - encoding + + ipns@10.0.2: + dependencies: + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/logger': 5.1.13 + cborg: 4.2.9 + interface-datastore: 8.3.1 + multiformats: 13.3.2 + protons-runtime: 5.5.0 + timestamp-nano: 1.0.1 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + ipns@5.0.2: + dependencies: + '@libp2p/crypto': 1.0.17 + '@libp2p/interface-dht': 2.0.3 + '@libp2p/interface-keys': 1.0.8 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/logger': 2.1.1 + '@libp2p/peer-id': 2.0.4 + cborg: 1.10.2 + err-code: 3.0.1 + interface-datastore: 7.0.4 + multiformats: 11.0.2 + protons-runtime: 4.0.2(uint8arraylist@2.4.8) + timestamp-nano: 1.0.1 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + transitivePeerDependencies: + - supports-color + + is-arrayish@0.2.1: {} + + is-arrayish@0.3.2: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-buffer@2.0.5: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-core-module@2.9.0: + dependencies: + has: 1.0.4 + + is-directory@0.3.1: {} + + is-docker@2.2.1: {} + + is-domain-name@1.0.1: {} + + is-electron@2.2.2: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@4.0.0: {} + + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.3.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-interactive@1.0.0: {} + + is-interactive@2.0.0: {} + + is-ip@5.0.1: + dependencies: + ip-regex: 5.0.0 + super-regex: 0.2.0 + + is-ipfs@8.0.4: + dependencies: + '@multiformats/mafmt': 12.1.6 + '@multiformats/multiaddr': 12.4.0 + iso-url: 1.2.1 + multiformats: 13.3.2 + uint8arrays: 5.1.0 + + is-loopback-addr@2.0.2: {} + + is-network-error@1.1.0: {} + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@2.1.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-promise@4.0.0: {} + + is-regexp@3.1.0: {} + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-unicode-supported@0.1.0: {} + + is-unicode-supported@1.3.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + iso-constants@0.1.2: {} + + iso-random-stream@2.0.2: + dependencies: + events: 3.3.0 + readable-stream: 3.6.2 + + iso-url@1.2.1: {} + + isobject@3.0.1: {} + + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + dependencies: + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.26.10 + '@babel/parser': 7.27.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + it-all@1.0.6: {} + + it-all@2.0.1: {} + + it-all@3.0.7: {} + + it-batch@1.0.9: {} + + it-batch@2.0.1: {} + + it-batch@3.0.7: {} + + it-batched-bytes@1.0.1: + dependencies: + it-stream-types: 1.0.5 + p-defer: 4.0.1 + uint8arraylist: 2.4.8 + + it-byte-stream@1.1.1: + dependencies: + it-queueless-pushable: 1.0.2 + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 + + it-drain@2.0.1: {} + + it-drain@3.0.8: {} + + it-filter@2.0.2: {} + + it-filter@3.1.2: + dependencies: + it-peekable: 3.0.6 + + it-first@2.0.1: {} + + it-first@3.0.7: {} + + it-foreach@1.0.1: {} + + it-foreach@2.1.2: + dependencies: + it-peekable: 3.0.6 + + it-glob@1.0.2: + dependencies: + '@types/minimatch': 3.0.5 + minimatch: 3.1.2 + + it-glob@3.0.2: + dependencies: + fast-glob: 3.3.3 + + it-handshake@4.1.3: + dependencies: + it-pushable: 3.2.3 + it-reader: 6.0.4 + it-stream-types: 2.0.2 + p-defer: 4.0.1 + uint8arraylist: 2.4.8 + + it-last@2.0.1: {} + + it-last@3.0.7: {} + + it-length-prefixed-stream@1.2.1: + dependencies: + it-byte-stream: 1.1.1 + it-stream-types: 2.0.2 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + + it-length-prefixed@10.0.1: + dependencies: + it-reader: 6.0.4 + it-stream-types: 2.0.2 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + it-length-prefixed@8.0.4: + dependencies: + err-code: 3.0.1 + it-stream-types: 1.0.5 + uint8-varint: 1.0.8 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + + it-length-prefixed@9.1.1: + dependencies: + it-reader: 6.0.4 + it-stream-types: 2.0.2 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + it-length@2.0.1: {} + + it-length@3.0.7: {} + + it-map@1.0.6: {} + + it-map@2.0.1: {} + + it-map@3.1.2: + dependencies: + it-peekable: 3.0.6 + + it-merge@2.0.1: + dependencies: + it-pushable: 3.2.3 + + it-merge@3.0.9: + dependencies: + it-queueless-pushable: 2.0.0 + + it-ndjson@1.1.2: + dependencies: + uint8arraylist: 2.4.8 + + it-pair@2.0.6: + dependencies: + it-stream-types: 2.0.2 + p-defer: 4.0.1 + + it-parallel-batch@1.0.11: + dependencies: + it-batch: 1.0.9 + + it-parallel-batch@2.0.1: + dependencies: + it-batch: 2.0.1 + + it-parallel-batch@3.0.7: + dependencies: + it-batch: 3.0.7 + + it-parallel@3.0.9: + dependencies: + p-defer: 4.0.1 + + it-pb-stream@3.2.1: + dependencies: + err-code: 3.0.1 + it-length-prefixed: 9.1.1 + it-pushable: 3.2.3 + it-stream-types: 1.0.5 + protons-runtime: 5.5.0 + uint8-varint: 1.0.8 + uint8arraylist: 2.4.8 + + it-peekable@2.0.1: {} + + it-peekable@3.0.6: {} + + it-pipe@2.0.5: + dependencies: + it-merge: 2.0.1 + it-pushable: 3.2.3 + it-stream-types: 1.0.5 + + it-pipe@3.0.1: + dependencies: + it-merge: 3.0.9 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + + it-protobuf-stream@1.1.6: + dependencies: + it-length-prefixed-stream: 1.2.1 + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 + + it-pushable@3.2.3: + dependencies: + p-defer: 4.0.1 + + it-queueless-pushable@1.0.2: + dependencies: + p-defer: 4.0.1 + race-signal: 1.1.3 + + it-queueless-pushable@2.0.0: + dependencies: + abort-error: 1.0.1 + p-defer: 4.0.1 + race-signal: 1.1.3 + + it-reader@6.0.4: + dependencies: + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 + + it-sort@2.0.1: + dependencies: + it-all: 2.0.1 + + it-sort@3.0.7: + dependencies: + it-all: 3.0.7 + + it-stream-types@1.0.5: {} + + it-stream-types@2.0.2: {} + + it-take@2.0.1: {} + + it-take@3.0.7: {} + + it-tar@6.0.5: + dependencies: + iso-constants: 0.1.2 + it-reader: 6.0.4 + it-stream-types: 2.0.2 + it-to-buffer: 4.0.8 + p-defer: 4.0.1 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + it-to-buffer@3.0.1: + dependencies: + uint8arrays: 4.0.10 + + it-to-buffer@4.0.8: + dependencies: + uint8arrays: 5.1.0 + + it-to-stream@1.0.0: + dependencies: + buffer: 6.0.3 + fast-fifo: 1.3.2 + get-iterator: 1.0.2 + p-defer: 3.0.0 + p-fifo: 1.0.0 + readable-stream: 3.6.2 + + it-ws@5.0.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + event-iterator: 2.0.0 + iso-url: 1.2.1 + it-stream-types: 1.0.5 + uint8arrays: 4.0.10 + ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + it-ws@6.1.5(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@types/ws': 8.18.0 + event-iterator: 2.0.0 + it-stream-types: 2.0.2 + uint8arrays: 5.1.0 + ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@types/connect': 3.4.38 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + JSONStream: 1.3.5 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + json-stringify-safe: 5.0.1 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.14 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 22.13.14 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.26.2 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.13.14 + jest-util: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.13.14 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-worker@29.7.0: + dependencies: + '@types/node': 22.13.14 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsbn@1.1.0: {} + + jsc-safe-url@0.2.4: {} + + jscodeshift@17.3.0(@babel/preset-env@7.26.9(@babel/core@7.26.10)): + dependencies: + '@babel/core': 7.26.10 + '@babel/parser': 7.27.0 + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.10) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.10) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.10) + '@babel/preset-flow': 7.25.9(@babel/core@7.26.10) + '@babel/preset-typescript': 7.27.0(@babel/core@7.26.10) + '@babel/register': 7.25.9(@babel/core@7.26.10) + flow-parser: 0.266.1 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + neo-async: 2.6.2 + picocolors: 1.1.1 + recast: 0.23.11 + tmp: 0.2.3 + write-file-atomic: 5.0.1 + optionalDependencies: + '@babel/preset-env': 7.26.9(@babel/core@7.26.10) + transitivePeerDependencies: + - supports-color + + jsesc@2.5.2: {} + + jsesc@3.0.2: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-better-errors@1.0.2: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json-stringify-safe@5.0.1: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonparse@1.3.1: {} + + just-debounce-it@3.2.0: {} + + just-safe-get@4.2.0: {} + + just-safe-set@4.2.1: {} + + k-bucket@5.1.0: + dependencies: + randombytes: 2.1.0 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + kuler@2.0.0: {} + + level-supports@4.0.1: {} + + level-transcoder@1.0.1: + dependencies: + buffer: 6.0.3 + module-error: 1.0.2 + + level@8.0.1: + dependencies: + abstract-level: 1.0.4 + browser-level: 1.0.1 + classic-level: 1.4.1 + + leven@3.1.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + libp2p@0.42.2: + dependencies: + '@achingbrain/nat-port-mapper': 1.0.18 + '@libp2p/crypto': 1.0.17 + '@libp2p/interface-address-manager': 2.0.5 + '@libp2p/interface-connection': 3.1.1 + '@libp2p/interface-connection-encrypter': 3.0.6 + '@libp2p/interface-connection-manager': 1.5.0 + '@libp2p/interface-content-routing': 2.1.1 + '@libp2p/interface-dht': 2.0.3 + '@libp2p/interface-libp2p': 1.3.3 + '@libp2p/interface-metrics': 4.0.8 + '@libp2p/interface-peer-discovery': 1.1.1 + '@libp2p/interface-peer-id': 2.0.2 + '@libp2p/interface-peer-info': 1.0.10 + '@libp2p/interface-peer-routing': 1.1.1 + '@libp2p/interface-peer-store': 1.2.9 + '@libp2p/interface-pubsub': 3.0.7 + '@libp2p/interface-registrar': 2.0.12 + '@libp2p/interface-stream-muxer': 3.0.6 + '@libp2p/interface-transport': 2.1.3 + '@libp2p/interfaces': 3.3.2 + '@libp2p/logger': 2.1.1 + '@libp2p/multistream-select': 3.1.9 + '@libp2p/peer-collections': 3.0.2 + '@libp2p/peer-id': 2.0.4 + '@libp2p/peer-id-factory': 2.0.4 + '@libp2p/peer-record': 5.0.4 + '@libp2p/peer-store': 6.0.4 + '@libp2p/tracked-map': 3.0.4 + '@libp2p/utils': 3.0.13 + '@multiformats/mafmt': 11.1.2 + '@multiformats/multiaddr': 11.6.1 + abortable-iterator: 4.0.3 + any-signal: 3.0.1 + datastore-core: 8.0.4 + err-code: 3.0.1 + events: 3.3.0 + hashlru: 2.3.0 + interface-datastore: 7.0.4 + it-all: 2.0.1 + it-drain: 2.0.1 + it-filter: 2.0.2 + it-first: 2.0.1 + it-foreach: 1.0.1 + it-handshake: 4.1.3 + it-length-prefixed: 8.0.4 + it-map: 2.0.1 + it-merge: 2.0.1 + it-pair: 2.0.6 + it-pipe: 2.0.5 + it-sort: 2.0.1 + it-stream-types: 1.0.5 + merge-options: 3.0.4 + multiformats: 11.0.2 + node-forge: 1.3.1 + p-fifo: 1.0.0 + p-retry: 5.1.2 + p-settle: 5.1.1 + private-ip: 3.0.2 + protons-runtime: 4.0.2(uint8arraylist@2.4.8) + rate-limiter-flexible: 2.4.2 + retimer: 3.0.0 + sanitize-filename: 1.6.3 + set-delayed-interval: 1.0.0 + timeout-abort-controller: 3.0.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + wherearewe: 2.0.1 + xsalsa20: 1.2.0 + transitivePeerDependencies: + - supports-color + + libp2p@2.8.2: + dependencies: + '@chainsafe/is-ip': 2.1.0 + '@chainsafe/netmask': 2.0.0 + '@libp2p/crypto': 5.0.15 + '@libp2p/interface': 2.7.0 + '@libp2p/interface-internal': 2.3.9 + '@libp2p/logger': 5.1.13 + '@libp2p/multistream-select': 6.0.20 + '@libp2p/peer-collections': 6.0.25 + '@libp2p/peer-id': 5.1.0 + '@libp2p/peer-store': 11.1.2 + '@libp2p/utils': 6.6.0 + '@multiformats/dns': 1.0.6 + '@multiformats/multiaddr': 12.4.0 + '@multiformats/multiaddr-matcher': 1.7.0 + any-signal: 4.1.1 + datastore-core: 10.0.2 + interface-datastore: 8.3.1 + it-byte-stream: 1.1.1 + it-merge: 3.0.9 + it-parallel: 3.0.9 + merge-options: 3.0.4 + multiformats: 13.3.2 + p-defer: 4.0.1 + p-retry: 6.2.1 + progress-events: 1.0.1 + race-event: 1.3.0 + race-signal: 1.1.3 + uint8arrays: 5.1.0 + + lighthouse-logger@1.4.2: + dependencies: + debug: 2.6.9 + marky: 1.2.5 + transitivePeerDependencies: + - supports-color + + lilconfig@3.1.3: {} + + lint-staged@15.5.0: + dependencies: + chalk: 5.4.1 + commander: 13.1.0 + debug: 4.4.0(supports-color@5.5.0) + execa: 8.0.1 + lilconfig: 3.1.3 + listr2: 8.2.5 + micromatch: 4.0.8 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.7.1 + transitivePeerDependencies: + - supports-color + + listr2@8.2.5: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.0 + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.camelcase@4.3.0: {} + + lodash.debounce@4.0.8: {} + + lodash.merge@4.6.2: {} + + lodash.throttle@4.1.1: {} + + lodash@4.17.21: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + log-symbols@5.1.0: + dependencies: + chalk: 5.4.1 + is-unicode-supported: 1.3.0 + + log-update@6.1.0: + dependencies: + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 + + logform@2.7.0: + dependencies: + '@colors/colors': 1.6.0 + '@types/triple-beam': 1.3.5 + fecha: 4.2.3 + ms: 2.1.3 + safe-stable-stringify: 2.5.0 + triple-beam: 1.4.1 + + long@4.0.0: {} + + long@5.3.1: {} + + longbits@1.1.0: + dependencies: + byte-access: 1.0.1 + uint8arraylist: 2.4.8 + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru@3.1.0: + dependencies: + inherits: 2.0.4 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + + make-error@1.3.6: {} + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + marky@1.2.5: {} + + math-intrinsics@1.1.0: {} + + media-typer@0.3.0: {} + + media-typer@1.1.0: {} + + memoize-one@5.2.1: {} + + merge-descriptors@1.0.3: {} + + merge-descriptors@2.0.0: {} + + merge-options@3.0.4: + dependencies: + is-plain-obj: 2.1.0 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + metro-babel-transformer@0.81.4: + dependencies: + '@babel/core': 7.26.10 + flow-enums-runtime: 0.0.6 + hermes-parser: 0.25.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-cache-key@0.81.4: + dependencies: + flow-enums-runtime: 0.0.6 + + metro-cache@0.81.4: + dependencies: + exponential-backoff: 3.1.2 + flow-enums-runtime: 0.0.6 + metro-core: 0.81.4 + + metro-config@0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + connect: 3.7.0 + cosmiconfig: 5.2.1 + flow-enums-runtime: 0.0.6 + jest-validate: 29.7.0 + metro: 0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-cache: 0.81.4 + metro-core: 0.81.4 + metro-runtime: 0.81.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + metro-core@0.81.4: + dependencies: + flow-enums-runtime: 0.0.6 + lodash.throttle: 4.1.1 + metro-resolver: 0.81.4 + + metro-file-map@0.81.4: + dependencies: + debug: 2.6.9 + fb-watchman: 2.0.2 + flow-enums-runtime: 0.0.6 + graceful-fs: 4.2.11 + invariant: 2.2.4 + jest-worker: 29.7.0 + micromatch: 4.0.8 + nullthrows: 1.1.1 + walker: 1.0.8 + transitivePeerDependencies: + - supports-color + + metro-minify-terser@0.81.4: + dependencies: + flow-enums-runtime: 0.0.6 + terser: 5.39.0 + + metro-resolver@0.81.4: + dependencies: + flow-enums-runtime: 0.0.6 + + metro-runtime@0.81.4: + dependencies: + '@babel/runtime': 7.27.0 + flow-enums-runtime: 0.0.6 + + metro-source-map@0.81.4: + dependencies: + '@babel/traverse': 7.27.0 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.27.0' + '@babel/types': 7.27.0 + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + metro-symbolicate: 0.81.4 + nullthrows: 1.1.1 + ob1: 0.81.4 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + metro-symbolicate@0.81.4: + dependencies: + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + metro-source-map: 0.81.4 + nullthrows: 1.1.1 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + metro-transform-plugins@0.81.4: + dependencies: + '@babel/core': 7.26.10 + '@babel/generator': 7.27.0 + '@babel/template': 7.27.0 + '@babel/traverse': 7.27.0 + flow-enums-runtime: 0.0.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-transform-worker@0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@babel/core': 7.26.10 + '@babel/generator': 7.27.0 + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + flow-enums-runtime: 0.0.6 + metro: 0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-babel-transformer: 0.81.4 + metro-cache: 0.81.4 + metro-cache-key: 0.81.4 + metro-minify-terser: 0.81.4 + metro-source-map: 0.81.4 + metro-transform-plugins: 0.81.4 + nullthrows: 1.1.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + metro@0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/core': 7.26.10 + '@babel/generator': 7.27.0 + '@babel/parser': 7.27.0 + '@babel/template': 7.27.0 + '@babel/traverse': 7.27.0 + '@babel/types': 7.27.0 + accepts: 1.3.8 + chalk: 4.1.2 + ci-info: 2.0.0 + connect: 3.7.0 + debug: 2.6.9 + error-stack-parser: 2.1.4 + flow-enums-runtime: 0.0.6 + graceful-fs: 4.2.11 + hermes-parser: 0.25.1 + image-size: 1.2.0 + invariant: 2.2.4 + jest-worker: 29.7.0 + jsc-safe-url: 0.2.4 + lodash.throttle: 4.1.1 + metro-babel-transformer: 0.81.4 + metro-cache: 0.81.4 + metro-cache-key: 0.81.4 + metro-config: 0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-core: 0.81.4 + metro-file-map: 0.81.4 + metro-resolver: 0.81.4 + metro-runtime: 0.81.4 + metro-source-map: 0.81.4 + metro-symbolicate: 0.81.4 + metro-transform-plugins: 0.81.4 + metro-transform-worker: 0.81.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + mime-types: 2.1.35 + nullthrows: 1.1.1 + serialize-error: 2.1.0 + source-map: 0.5.7 + throat: 5.0.0 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime-types@3.0.1: + dependencies: + mime-db: 1.54.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + mimic-function@5.0.1: {} + + mimic-response@3.1.0: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mkdirp-classic@0.5.3: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + mkdirp@1.0.4: {} + + module-error@1.0.2: {} + + morgan@1.10.0: + dependencies: + basic-auth: 2.0.1 + debug: 2.6.9 + depd: 2.0.0 + on-finished: 2.3.0 + on-headers: 1.0.2 + transitivePeerDependencies: + - supports-color + + mortice@3.0.6: + dependencies: + observable-webworkers: 2.0.1 + p-queue: 8.1.0 + p-timeout: 6.1.4 + + ms@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + ms@3.0.0-canary.1: {} + + multer@1.4.5-lts.2: + dependencies: + append-field: 1.0.0 + busboy: 1.6.0 + concat-stream: 1.6.2 + mkdirp: 0.5.6 + object-assign: 4.1.1 + type-is: 1.6.18 + xtend: 4.0.2 + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + multiformats@11.0.2: {} + + multiformats@12.1.3: {} + + multiformats@13.3.2: {} + + multistream@4.1.0: + dependencies: + once: 1.4.0 + readable-stream: 3.6.2 + + murmurhash3js-revisited@3.0.0: {} + + mute-stream@1.0.0: {} + + mute-stream@2.0.0: {} + + nan@2.22.2: + optional: true + + nanoid@3.3.11: {} + + nanoid@4.0.2: {} + + nanoid@5.1.5: {} + + napi-build-utils@1.0.2: {} + + napi-build-utils@2.0.0: {} + + napi-macros@2.2.2: {} + + native-fetch@3.0.0(node-fetch@2.7.0(encoding@0.1.13)): + dependencies: + node-fetch: 2.7.0(encoding@0.1.13) + + native-fetch@4.0.2(undici@5.29.0): + dependencies: + undici: 5.29.0 + + natural-compare@1.4.0: {} + + negotiator@0.6.3: {} + + negotiator@1.0.0: {} + + neo-async@2.6.2: {} + + net@1.0.2: {} + + netmask@2.0.2: {} + + node-abi@3.74.0: + dependencies: + semver: 7.7.1 + + node-fetch@2.7.0(encoding@0.1.13): + dependencies: + whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 + + node-forge@1.3.1: {} + + node-gyp-build@4.8.4: {} + + node-int64@0.4.0: {} + + node-releases@2.0.19: {} + + nodemon@3.1.9: + dependencies: + chokidar: 3.6.0 + debug: 4.4.0(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.7.1 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.1 + undefsafe: 2.0.5 + + normalize-path@3.0.0: {} + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nullthrows@1.1.1: {} + + ob1@0.81.4: + dependencies: + flow-enums-runtime: 0.0.6 + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + observable-webworkers@2.0.1: {} + + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.0.2: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + one-time@1.0.0: + dependencies: + fn.name: 1.1.0 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + open@7.4.2: + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + ora@7.0.1: + dependencies: + chalk: 5.4.1 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 1.3.0 + log-symbols: 5.1.0 + stdin-discarder: 0.1.0 + string-width: 6.1.0 + strip-ansi: 7.1.0 + + os-tmpdir@1.0.2: {} + + p-defer@3.0.0: {} + + p-defer@4.0.1: {} + + p-event@5.0.1: + dependencies: + p-timeout: 5.1.0 + + p-event@6.0.1: + dependencies: + p-timeout: 6.1.4 + + p-fifo@1.0.0: + dependencies: + fast-fifo: 1.3.2 + p-defer: 3.0.0 + + p-is-promise@3.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.2.1 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-queue@7.4.1: + dependencies: + eventemitter3: 5.0.1 + p-timeout: 5.1.0 + + p-queue@8.1.0: + dependencies: + eventemitter3: 5.0.1 + p-timeout: 6.1.4 + + p-reflect@3.1.0: {} + + p-retry@5.1.2: + dependencies: + '@types/retry': 0.12.1 + retry: 0.13.1 + + p-retry@6.2.1: + dependencies: + '@types/retry': 0.12.2 + is-network-error: 1.1.0 + retry: 0.13.1 + + p-settle@5.1.1: + dependencies: + p-limit: 4.0.0 + p-reflect: 3.1.0 + + p-timeout@5.1.0: {} + + p-timeout@6.1.4: {} + + p-try@2.2.0: {} + + p-wait-for@5.0.2: + dependencies: + p-timeout: 6.1.4 + + package-json-from-dist@1.0.1: {} + + pako@2.1.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-duration@1.1.2: {} + + parse-json@4.0.0: + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + + parseurl@1.3.3: {} + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-to-regexp@0.1.12: {} + + path-to-regexp@8.2.0: {} + + path-type@4.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pidtree@0.6.0: {} + + pify@4.0.1: {} + + pirates@4.0.7: {} + + pkg-dir@3.0.0: + dependencies: + find-up: 3.0.0 + + pkg-fetch@3.4.2(encoding@0.1.13): + dependencies: + chalk: 4.1.2 + fs-extra: 9.1.0 + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0(encoding@0.1.13) + progress: 2.0.3 + semver: 7.7.1 + tar-fs: 2.1.2 + yargs: 16.2.0 + transitivePeerDependencies: + - encoding + - supports-color + + pkg@5.8.1(encoding@0.1.13): + dependencies: + '@babel/generator': 7.18.2 + '@babel/parser': 7.18.4 + '@babel/types': 7.19.0 + chalk: 4.1.2 + fs-extra: 9.1.0 + globby: 11.1.0 + into-stream: 6.0.0 + is-core-module: 2.9.0 + minimist: 1.2.8 + multistream: 4.1.0 + pkg-fetch: 3.4.2(encoding@0.1.13) + prebuild-install: 7.1.1 + resolve: 1.22.10 + stream-meter: 1.0.4 + transitivePeerDependencies: + - encoding + - supports-color + + platform@1.3.6: {} + + prebuild-install@7.1.1: + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.74.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.2 + tunnel-agent: 0.6.0 + + prebuild-install@7.1.3: + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 2.0.0 + node-abi: 3.74.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.2 + tunnel-agent: 0.6.0 + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + + prettier@3.5.3: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + private-ip@3.0.2: + dependencies: + '@chainsafe/is-ip': 2.1.0 + ip-regex: 5.0.0 + ipaddr.js: 2.2.0 + netmask: 2.0.2 + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + progress-events@1.0.1: {} + + progress@2.0.3: {} + + prom-client@14.2.0: + dependencies: + tdigest: 0.1.2 + + promise@8.3.0: + dependencies: + asap: 2.0.6 + + proper-lockfile@4.1.2: + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 + + protobufjs@6.11.4: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/long': 4.0.2 + '@types/node': 22.13.14 + long: 4.0.0 + + protobufjs@7.4.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.13.14 + long: 5.3.1 + + protons-runtime@4.0.2(uint8arraylist@2.4.8): + dependencies: + protobufjs: 7.4.0 + uint8arraylist: 2.4.8 + + protons-runtime@5.5.0: + dependencies: + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + proxy-from-env@1.1.0: {} + + pstree.remy@1.1.8: {} + + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + punycode@2.3.1: {} + + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.3: {} + + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + + queue-microtask@1.2.3: {} + + queue@6.0.2: + dependencies: + inherits: 2.0.4 + + quick-lru@6.1.2: {} + + rabin-wasm@0.1.5(encoding@0.1.13): + dependencies: + '@assemblyscript/loader': 0.9.4 + bl: 5.1.0 + debug: 4.4.0(supports-color@5.5.0) + minimist: 1.2.8 + node-fetch: 2.7.0(encoding@0.1.13) + readable-stream: 3.6.2 + transitivePeerDependencies: + - encoding + - supports-color + + race-event@1.3.0: {} + + race-signal@1.1.3: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + rate-limiter-flexible@2.4.2: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + raw-body@3.0.0: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.6.3 + unpipe: 1.0.0 + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-devtools-core@6.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + shell-quote: 1.8.2 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + react-is@18.3.1: {} + + react-native-fetch-api@3.0.0: + dependencies: + p-defer: 3.0.0 + + react-native-webrtc@124.0.5(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)): + dependencies: + base64-js: 1.5.1 + debug: 4.3.4 + event-target-shim: 6.0.2 + react-native: 0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - supports-color + + react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10): + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@react-native/assets-registry': 0.78.1 + '@react-native/codegen': 0.78.1(@babel/preset-env@7.26.9(@babel/core@7.26.10)) + '@react-native/community-cli-plugin': 0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@react-native/gradle-plugin': 0.78.1 + '@react-native/js-polyfills': 0.78.1 + '@react-native/normalize-colors': 0.78.1 + '@react-native/virtualized-lists': 0.78.1(react-native@0.78.1(@babel/core@7.26.10)(@babel/preset-env@7.26.9(@babel/core@7.26.10))(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + abort-controller: 3.0.0 + anser: 1.4.10 + ansi-regex: 5.0.1 + babel-jest: 29.7.0(@babel/core@7.26.10) + babel-plugin-syntax-hermes-parser: 0.25.1 + base64-js: 1.5.1 + chalk: 4.1.2 + commander: 12.1.0 + event-target-shim: 5.0.1 + flow-enums-runtime: 0.0.6 + glob: 7.2.3 + invariant: 2.2.4 + jest-environment-node: 29.7.0 + memoize-one: 5.2.1 + metro-runtime: 0.81.4 + metro-source-map: 0.81.4 + nullthrows: 1.1.1 + pretty-format: 29.7.0 + promise: 8.3.0 + react: 19.1.0 + react-devtools-core: 6.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + react-refresh: 0.14.2 + regenerator-runtime: 0.13.11 + scheduler: 0.25.0 + semver: 7.7.1 + stacktrace-parser: 0.1.11 + whatwg-fetch: 3.6.20 + ws: 6.2.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + yargs: 17.7.2 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - '@react-native-community/cli' + - bufferutil + - supports-color + - utf-8-validate + + react-refresh@0.14.2: {} + + react@19.1.0: {} + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readable-stream@4.7.0: + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readline@1.3.0: {} + + recast@0.23.11: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.8.1 + + receptacle@1.3.2: + dependencies: + ms: 2.1.3 + + reflect-metadata@0.2.2: {} + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.13.11: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.27.0 + + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + + regjsgen@0.8.0: {} + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + require-directory@2.1.1: {} + + resolve-from@3.0.0: {} + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + restore-cursor@4.0.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + retimeable-signal@1.0.1: {} + + retimer@3.0.0: {} + + retry@0.12.0: {} + + retry@0.13.1: {} + + reusify@1.1.0: {} + + rfdc@1.4.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + + router@2.2.0: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + depd: 2.0.0 + is-promise: 4.0.0 + parseurl: 1.3.3 + path-to-regexp: 8.2.0 + transitivePeerDependencies: + - supports-color + + rpc-websockets@9.1.1: + dependencies: + '@swc/helpers': 0.5.15 + '@types/uuid': 8.3.4 + '@types/ws': 8.18.0 + buffer: 6.0.3 + eventemitter3: 5.0.1 + uuid: 8.3.2 + ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + run-async@3.0.0: {} + + run-parallel-limit@1.1.0: + dependencies: + queue-microtask: 1.2.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-stable-stringify@2.5.0: {} + + safer-buffer@2.1.2: {} + + sanitize-filename@1.6.3: + dependencies: + truncate-utf8-bytes: 1.0.2 + + sax@1.4.1: {} + + scheduler@0.25.0: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.7.1: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + send@1.2.0: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 2.0.0 + http-errors: 2.0.0 + mime-types: 3.0.1 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-error@2.1.0: {} + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + + serve-static@2.2.0: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 1.2.0 + transitivePeerDependencies: + - supports-color + + set-delayed-interval@1.0.0: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.2: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + simple-concat@1.0.1: {} + + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + + simple-git@3.27.0: + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + + simple-update-notifier@2.0.0: + dependencies: + semver: 7.7.1 + + slash@3.0.0: {} + + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + + smart-buffer@4.2.0: {} + + socket.io-adapter@2.5.5(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + debug: 4.3.7 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-client: 6.6.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-parser@4.2.4: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + socket.io@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + accepts: 1.3.8 + base64id: 2.0.0 + cors: 2.8.5 + debug: 4.3.7 + engine.io: 6.6.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + socket.io-adapter: 2.5.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socks-proxy-agent@8.0.5: + dependencies: + agent-base: 7.1.3 + debug: 4.4.0(supports-color@5.5.0) + socks: 2.8.4 + transitivePeerDependencies: + - supports-color + + socks@2.8.4: + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 + + sort-keys@5.1.0: + dependencies: + is-plain-obj: 4.1.0 + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + sparse-array@1.3.2: {} + + split-ca@1.0.1: {} + + sprintf-js@1.0.3: {} + + sprintf-js@1.1.2: {} + + sprintf-js@1.1.3: {} + + ssh2@1.16.0: + dependencies: + asn1: 0.2.6 + bcrypt-pbkdf: 1.0.2 + optionalDependencies: + cpu-features: 0.0.10 + nan: 2.22.2 + + stack-trace@0.0.10: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stackframe@1.3.4: {} + + stacktrace-parser@0.1.11: + dependencies: + type-fest: 0.7.1 + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + stdin-discarder@0.1.0: + dependencies: + bl: 5.1.0 + + steno@4.0.2: {} + + stream-meter@1.0.4: + dependencies: + readable-stream: 2.3.8 + + stream-to-it@0.2.4: + dependencies: + get-iterator: 1.0.2 + + stream-to-it@1.0.1: + dependencies: + it-stream-types: 2.0.2 + + streamsearch@1.1.0: {} + + string-argv@0.3.2: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string-width@6.1.0: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 10.4.0 + strip-ansi: 7.1.0 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-final-newline@3.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + super-regex@0.2.0: + dependencies: + clone-regexp: 3.0.0 + function-timeout: 0.1.1 + time-span: 5.1.0 + + superstruct@2.0.2: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-color@9.4.0: {} + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.10.3: + dependencies: + '@pkgr/core': 0.2.0 + tslib: 2.8.1 + + tar-fs@2.1.2: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + tdigest@0.1.2: + dependencies: + bintrees: 1.0.2 + + terser@5.39.0: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.14.1 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + text-encoding-utf-8@1.0.2: {} + + text-hex@1.0.0: {} + + text-table@0.2.0: {} + + throat@5.0.0: {} + + through@2.3.8: {} + + thunky@1.1.0: {} + + time-span@5.1.0: + dependencies: + convert-hrtime: 5.0.0 + + timeout-abort-controller@3.0.0: + dependencies: + retimer: 3.0.0 + + timestamp-nano@1.0.1: {} + + tiny-invariant@1.3.3: {} + + tldts-core@6.1.85: {} + + tldts@6.1.85: + dependencies: + tldts-core: 6.1.85 + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + tmp@0.2.3: {} + + tmpl@1.0.5: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + touch@3.1.1: {} + + tough-cookie@5.1.2: + dependencies: + tldts: 6.1.85 + + tr46@0.0.3: {} + + triple-beam@1.4.1: {} + + truncate-utf8-bytes@1.0.2: + dependencies: + utf8-byte-length: 1.0.5 + + ts-api-utils@2.1.0(typescript@5.8.2): + dependencies: + typescript: 5.8.2 + + ts-node@10.9.2(@types/node@22.13.14)(typescript@5.8.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.13.14 + acorn: 8.14.1 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.8.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + tsc-esm-fix@3.1.2: + dependencies: + '@topoconfig/extends': 0.16.2 + depseek: 0.4.1 + fast-glob: 3.3.3 + fs-extra: 11.3.0 + json5: 2.2.3 + type-flag: 3.0.0 + + tslib@1.14.1: {} + + tslib@2.7.0: {} + + tslib@2.8.1: {} + + tsyringe@4.8.0: + dependencies: + tslib: 1.14.1 + + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + + tweetnacl@0.14.5: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.20.2: {} + + type-fest@0.21.3: {} + + type-fest@0.7.1: {} + + type-flag@3.0.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + type-is@2.0.1: + dependencies: + content-type: 1.0.5 + media-typer: 1.1.0 + mime-types: 3.0.1 + + typedarray@0.0.6: {} + + typescript-eslint@8.29.0(eslint@9.23.0)(typescript@5.8.2): + dependencies: + '@typescript-eslint/eslint-plugin': 8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/parser': 8.29.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.29.0(eslint@9.23.0)(typescript@5.8.2) + eslint: 9.23.0 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + typescript@5.8.2: {} + + uint8-varint@1.0.8: + dependencies: + byte-access: 1.0.1 + longbits: 1.1.0 + uint8arraylist: 2.4.8 + uint8arrays: 4.0.10 + + uint8-varint@2.0.4: + dependencies: + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + uint8arraylist@2.4.8: + dependencies: + uint8arrays: 5.1.0 + + uint8arrays@4.0.10: + dependencies: + multiformats: 12.1.3 + + uint8arrays@5.1.0: + dependencies: + multiformats: 13.3.2 + + undefsafe@2.0.5: {} + + undici-types@5.26.5: {} + + undici-types@6.19.8: {} + + undici-types@6.20.0: {} + + undici@5.29.0: + dependencies: + '@fastify/busboy': 2.1.1 + + undici@6.21.2: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.2.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + unzipper@0.12.3: + dependencies: + bluebird: 3.7.2 + duplexer2: 0.1.4 + fs-extra: 11.3.0 + graceful-fs: 4.2.11 + node-int64: 0.4.0 + + update-browserslist-db@1.1.3(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + utf-8-validate@5.0.10: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + utf8-byte-length@1.0.5: {} + + util-deprecate@1.0.2: {} + + utils-merge@1.0.1: {} + + uuid@10.0.0: {} + + uuid@11.1.0: {} + + uuid@8.3.2: {} + + v8-compile-cache-lib@3.0.1: {} + + varint-decoder@1.0.0: + dependencies: + varint: 5.0.2 + + varint@5.0.2: {} + + varint@6.0.0: {} + + vary@1.1.2: {} + + vlq@1.0.1: {} + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + weald@1.0.4: + dependencies: + ms: 3.0.0-canary.1 + supports-color: 9.4.0 + + webcrypto-core@1.8.1: + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/json-schema': 1.1.12 + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + webidl-conversions@3.0.1: {} + + whatwg-fetch@3.6.20: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + wherearewe@2.0.1: + dependencies: + is-electron: 2.2.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + winston-transport@4.9.0: + dependencies: + logform: 2.7.0 + readable-stream: 3.6.2 + triple-beam: 1.4.1 + + winston@3.17.0: + dependencies: + '@colors/colors': 1.6.0 + '@dabh/diagnostics': 2.0.3 + async: 3.2.6 + is-stream: 2.0.1 + logform: 2.7.0 + one-time: 1.0.0 + readable-stream: 3.6.2 + safe-stable-stringify: 2.5.0 + stack-trace: 0.0.10 + triple-beam: 1.4.1 + winston-transport: 4.9.0 + + word-wrap@1.2.5: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + write-file-atomic@5.0.1: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + + ws@6.2.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + async-limiter: 1.0.1 + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + ws@8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + xml2js@0.6.2: + dependencies: + sax: 1.4.1 + xmlbuilder: 11.0.1 + + xmlbuilder@11.0.1: {} + + xmlhttprequest-ssl@2.1.2: {} + + xsalsa20@1.2.0: {} + + xtend@4.0.2: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml@2.7.1: {} + + yargs-parser@20.2.9: {} + + yargs-parser@21.1.1: {} + + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yn@3.1.1: {} + + yocto-queue@0.1.0: {} + + yocto-queue@1.2.1: {} + + yoctocolors-cjs@2.1.2: {} + + zod@3.24.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..600b4bb --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'packages/**' diff --git a/scripts/build-push.sh b/scripts/build-push.sh new file mode 100644 index 0000000..4c0e930 --- /dev/null +++ b/scripts/build-push.sh @@ -0,0 +1,8 @@ +# Define your version +VERSION="v0.0.10" + +# Build and tag with both specific version and latest +docker buildx build --platform linux/amd64 \ + -t debros/node:$VERSION \ + -t debros/node:latest \ + . --push \ No newline at end of file diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100644 index 0000000..4dfab44 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,350 @@ +#!/bin/bash + +set -e # Exit on any error +trap 'echo -e "${RED}An error occurred. Installation aborted.${NOCOLOR}"; exit 1' ERR + +RED='\033[0;31m' +GREEN='\033[0;32m' +CYAN='\033[0;36m' +BLUE='\033[38;2;2;128;175m' +YELLOW='\033[1;33m' +NOCOLOR='\033[0m' + +log() { + echo -e "${CYAN}[$(date '+%Y-%m-%d %H:%M:%S')]${NOCOLOR} $1" +} + +. /etc/os-release + +if ! command -v sudo &>/dev/null; then + log "${RED}Error: sudo command not found. Please run with sudo privileges.${NOCOLOR}" + exit 1 +fi + +# Check ports availability +for port in 7777 7778; do + if sudo netstat -tuln | grep -q ":$port "; then + log "${RED}Error: Port $port is already in use. Please free it up and try again.${NOCOLOR}" + exit 1 + fi +done + +# Check Docker installation and version +MIN_DOCKER_VERSION="20.10.0" +if ! command -v docker &> /dev/null; then + log "${CYAN}Docker not found. Installing Docker...${NOCOLOR}" + sudo apt-get update + sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt-get update + sudo apt-get install -y docker-ce docker-ce-cli containerd.io + sudo usermod -aG docker $USER + log "${GREEN}Docker installed successfully.${NOCOLOR}" +else + DOCKER_VERSION=$(docker --version | awk '{print $3}' | sed 's/,//') + if [ "$(printf '%s\n' "$MIN_DOCKER_VERSION" "$DOCKER_VERSION" | sort -V | head -n1)" != "$MIN_DOCKER_VERSION" ]; then + log "${RED}Docker version $DOCKER_VERSION is too old. Minimum required: $MIN_DOCKER_VERSION${NOCOLOR}" + exit 1 + fi + log "${GREEN}Docker already installed (version $DOCKER_VERSION).${NOCOLOR}" +fi + +# Check if Docker Compose is installed +if ! docker compose version &> /dev/null; then + log "${CYAN}Docker Compose not found. Installing Docker Compose...${NOCOLOR}" + sudo apt-get install -y docker-compose-plugin + log "${GREEN}Docker Compose installed successfully.${NOCOLOR}" +else + log "${GREEN}Docker Compose already installed.${NOCOLOR}" +fi + +# Create installation directory +INSTALL_DIR="/opt/debros-node" +sudo mkdir -p $INSTALL_DIR +sudo chown $USER:$USER $INSTALL_DIR + +# Check if repository already exists +UPDATE_MODE=false +if [ -d "$INSTALL_DIR/.git" ]; then + log "${BLUE}==================================================${NOCOLOR}" + log "${YELLOW} DeBros Node already installed ${NOCOLOR}" + log "${BLUE}==================================================${NOCOLOR}" + + echo -e "${CYAN}Do you want to update DeBros Node to the latest version?${NOCOLOR}" + read -rp "Update DeBros Node? (yes/no) [Default: yes]: " UPDATE_CHOICE + UPDATE_CHOICE="${UPDATE_CHOICE:-yes}" + + if [[ "$UPDATE_CHOICE" == "yes" ]]; then + UPDATE_MODE=true + log "${BLUE}==================================================${NOCOLOR}" + log "${GREEN} Updating DeBros Node ${NOCOLOR}" + log "${BLUE}==================================================${NOCOLOR}" + + if [ -f "$INSTALL_DIR/.env" ]; then + if ! cp "$INSTALL_DIR/.env" "$INSTALL_DIR/.env.backup"; then + log "${RED}Failed to create backup of .env file${NOCOLOR}" + exit 1 + fi + log "${CYAN}Backed up existing configuration.${NOCOLOR}" + fi + + cd $INSTALL_DIR + git pull + + log "${GREEN}DeBros Node updated successfully.${NOCOLOR}" + else + log "${CYAN}Update cancelled. Exiting...${NOCOLOR}" + exit 0 + fi +else + log "${BLUE}==================================================${NOCOLOR}" + log "${GREEN} Downloading DeBros Node ${NOCOLOR}" + log "${BLUE}==================================================${NOCOLOR}" + + git clone https://github.com/DeBrosOfficial/node.git $INSTALL_DIR + + cd $INSTALL_DIR +fi + +# Banner +echo -e "${BLUE}========================================================================${NOCOLOR}" +echo -e "${CYAN} + ____ ____ _ _ _ + | _ \ ___| __ ) _ __ ___ ___ | \ | | ___ __| | ___ + | | | |/ _ \ _ \| __/ _ \/ __| | \| |/ _ \ / _ |/ _ | + | |_| | __/ |_) | | | (_) \__ \ | |\ | (_) | (_| | __/ + |____/ \___|____/|_| \___/|___/ |_| \_|\___/ \__,_|\___| +${NOCOLOR}" +echo -e "${BLUE}========================================================================${NOCOLOR}" + +# Configuration +if [ "$UPDATE_MODE" = true ] && [ -f "$INSTALL_DIR/.env.backup" ]; then + log "${CYAN}Restoring previous configuration...${NOCOLOR}" + cp "$INSTALL_DIR/.env.backup" "$INSTALL_DIR/.env" +else + log "${BLUE}==================================================${NOCOLOR}" + log "${GREEN} Start Node Configuration Wizard ${NOCOLOR}" + log "${BLUE}==================================================${NOCOLOR}" + + # Enter nickname + log "${GREEN}- Enter your desired nickname for the DeBros node (1-19 characters, only [a-zA-Z0- executing [a-zA-Z0-9] and no spaces)${NOCOLOR}" + read -rp "1/3 Enter your nickname: " NICKNAME + while [[ ! "$NICKNAME" =~ ^[a-zA-Z0-9]{1,19}$ ]]; do + log "${RED}Error: Nickname must be 1-19 characters long and contain only letters and numbers (no spaces)${NOCOLOR}" + read -rp "1/3 Enter your nickname: " NICKNAME + done + + # Enter admin wallet address + log "${GREEN}- Enter your Solana wallet address to be eligible for rewards${NOCOLOR}" + read -rp "2/3 Your Solana Wallet Address: " ADMIN_WALLET + + # Announce ports + log "${GREEN}- DeBros will use ports 7777 and 7778 automatically${NOCOLOR}" + + # Configure firewall + log "${GREEN}- Would you like to configure the firewall to open ports 7777 and 7778?${NOCOLOR}" + read -rp "3/3 Configure firewall? (yes/no) [Default: yes]: " CONFIGURE_FIREWALL + CONFIGURE_FIREWALL="${CONFIGURE_FIREWALL:-yes}" + while ! [[ "$CONFIGURE_FIREWALL" =~ ^(yes|no)$ ]]; do + log "${RED}Error: Please respond with 'yes' or 'no'.${NOCOLOR}" + read -rp "3/3 Configure firewall? (yes/no) [Default: yes]: " CONFIGURE_FIREWALL + CONFIGURE_FIREWALL="${CONFIGURE_FIREWALL:-yes}" + done + + if [[ "$CONFIGURE_FIREWALL" == "yes" ]]; then + if ! command -v ufw &> /dev/null; then + log "${GREEN}Installing UFW firewall...${NOCOLOR}" + sudo apt-get update + sudo apt-get install -y ufw + fi + + log "${GREEN}Configuring firewall...${NOCOLOR}" + sudo ufw allow 7777 + sudo ufw allow 7778 + + if [[ $(sudo ufw status) =~ "inactive" ]]; then + log "${GREEN}Enabling firewall...${NOCOLOR}" + echo "y" | sudo ufw enable + fi + + log "${GREEN}Firewall configured successfully.${NOCOLOR}" + fi + + KEY_DIR="/var/lib/debros/keys" + KEY_NAME="debros_key" + if [ ! -d "$KEY_DIR" ]; then + log "${CYAN}Creating folder $KEY_DIR...${NOCOLOR}" + sudo mkdir -p "$KEY_DIR" + sudo chmod 700 "$KEY_DIR" + sudo chown "$USER:$USER" "$KEY_DIR" + fi + + if [ ! -f "$KEY_DIR/$KEY_NAME" ]; then + log "${CYAN}Creating new key pair...${NOCOLOR}" + ssh-keygen -t ed25519 -f "$KEY_DIR/$KEY_NAME" -N "" -q + log "${GREEN}Keys created in $KEY_DIR${NOCOLOR}" + else + log "${GREEN}Using existing keys from $KEY_DIR${NOCOLOR}" + fi + + FINGERPRINT=$(ssh-keygen -l -f "$KEY_DIR/$KEY_NAME.pub" 2>/dev/null | awk '{print $2}' | sed 's/SHA256://' | base64 -d 2>/dev/null | xxd -p -u | tr -d '\n' | head -c 40) + IP_ADDRESS=$(curl -s ifconfig.me) + + # Update or create .env file + if [ -f "$INSTALL_DIR/.env" ]; then + sed -i "s/NICKNAME=.*/NICKNAME=$NICKNAME/" "$INSTALL_DIR/.env" + sed -i "s/FINGERPRINT=.*/FINGERPRINT=$FINGERPRINT/" "$INSTALL_DIR/.env" + sed -i "s/HOSTNAME=.*/HOSTNAME=$IP_ADDRESS/" "$INSTALL_DIR/.env" + sed -i "s/ADMIN_WALLET=.*/ADMIN_WALLET=$ADMIN_WALLET/" "$INSTALL_DIR/.env" + sed -i "s/NODE_PUBLIC_ADDRESS=.*/NODE_PUBLIC_ADDRESS=$IP_ADDRESS/" "$INSTALL_DIR/.env" + else + cat > $INSTALL_DIR/.env << EOF +NICKNAME=$NICKNAME +FINGERPRINT=$FINGERPRINT +NODE_ENV=production +PORT=7777 +ENABLE_ANYONE=true +HOSTNAME=$IP_ADDRESS +ADMIN_WALLET=$ADMIN_WALLET +ENABLE_LOAD_BALANCING=true +SERVICE_DISCOVERY_TOPIC=debros-service-discovery +HEARTBEAT_INTERVAL=5000 +STALE_PEER_TIMEOUT=30000 +PEER_LOG_INTERVAL=60000 +NODE_PUBLIC_ADDRESS=$IP_ADDRESS +BOOTSTRAP_NODES=/ip4/188.166.113.190/tcp/7778/p2p/12D3KooWNWgs4WAUmE4CsxrL6uuyv1yuTzcRReMe5r7Psemsg2Z9,/ip4/82.208.21.140/tcp/7778/p2p/12D3KooWPUdpNX5N6dsuFAvgwfBMXUoFK2QS5sh8NpjxbfGpkSCi +MAX_CONNECTIONS=1000 +LOAD_BALANCING_STRATEGY=least-loaded +ACCEPT_TERMS=true +KEY_PATH=/var/lib/debros/keys +LIBP2P_DEBUG=true +IPFS_DEBUG=true +LOG_LEVEL=debug +DEBUG=libp2p:* +EOF + fi +fi + +if [ ! -f "/etc/systemd/system/debros.service" ] || [ "$UPDATE_MODE" = true ]; then + cat > /tmp/debros.service << EOF +[Unit] +Description=DeBrosNode Service +After=network.target +Wants=network-online.target + +[Service] +Type=simple +User=$USER +WorkingDirectory=$INSTALL_DIR +ExecStart=/usr/bin/docker compose up --build +ExecStop=/usr/bin/docker compose down +Restart=on-failure +RestartSec=10 + +[Install] +WantedBy=multi-user.target +EOF + + sudo mv /tmp/debros.service /etc/systemd/system/ + sudo systemctl daemon-reload + if [ "$UPDATE_MODE" != true ]; then + sudo systemctl enable debros.service + fi +fi + +# Ask about K3s installation +if ! command -v k3s &> /dev/null; then + log "${GREEN}- Would you like to install K3s for container orchestration?${NOCOLOR}" + read -rp "4/4 Install K3s? (yes/no) [Default: yes]: " INSTALL_K3S + INSTALL_K3S="${INSTALL_K3S:-yes}" + while ! [[ "$INSTALL_K3S" =~ ^(yes|no)$ ]]; do + log "${RED}Error: Please respond with 'yes' or 'no'.${NOCOLOR}" + read -rp "4/4 Install K3s? (yes/no) [Default: yes]: " INSTALL_K3S + INSTALL_K3S="${INSTALL_K3S:-yes}" + done + + if [[ "$INSTALL_K3S" == "yes" ]]; then + log "${CYAN}Installing K3s...${NOCOLOR}" + curl -sfL https://get.k3s.io | sh - + + # Wait for K3s to initialize + sleep 10 + + # Configure kubectl for the current user + sudo chmod 644 /etc/rancher/k3s/k3s.yaml + mkdir -p $HOME/.kube + sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config + sudo chown $USER:$USER $HOME/.kube/config + + # Install Nginx Ingress Controller + log "${CYAN}Installing Nginx Ingress Controller...${NOCOLOR}" + kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml + + log "${GREEN}K3s and Nginx Ingress Controller installed successfully.${NOCOLOR}" + fi +fi + +chmod 600 /var/lib/debros/keys/* +chown $USER:$USER /var/lib/debros/keys/* + +log "${BLUE}==================================================${NOCOLOR}" +if [ "$UPDATE_MODE" = true ]; then + log "${GREEN}Restarting DeBros Service${NOCOLOR}" +else + log "${GREEN}Starting DeBros Service${NOCOLOR}" +fi + +if systemctl is-active --quiet debros.service; then + log "${CYAN}Stopping DeBros service...${NOCOLOR}" + sudo systemctl stop debros.service + sleep 2 +fi + +sudo systemctl start debros.service +sleep 5 + +if systemctl is-active --quiet debros.service; then + if [ "$UPDATE_MODE" = true ]; then + log "${GREEN}DeBros service updated and restarted successfully.${NOCOLOR}" + else + log "${GREEN}DeBros service started successfully.${NOCOLOR}" + fi +else + log "${RED}Failed to start DeBros service.${NOCOLOR}" + log "${CYAN}You can check the logs with: sudo journalctl -u debros.service${NOCOLOR}" +fi +log "${GREEN}DeBros is now running on ports: ${NOCOLOR}${CYAN}7777 and 7778${NOCOLOR}" +log "${BLUE}==================================================${NOCOLOR}" +log "${GREEN} DeBros Node Fingerprint ${NOCOLOR}" +log "${CYAN} $FINGERPRINT ${NOCOLOR}" +log "${BLUE}==================================================${NOCOLOR}" +if [ "$UPDATE_MODE" = true ]; then + log "${GREEN} Congratulations! ${NOCOLOR}" + log "${CYAN} DeBros successfully updated and restarted ${NOCOLOR}" +else + log "${GREEN} Congratulations! ${NOCOLOR}" + log "${CYAN} DeBros configuration completed successfully! ${NOCOLOR}" +fi +log "${BLUE}==================================================${NOCOLOR}" +log "${GREEN}Admin commands:${NOCOLOR}" +log "${CYAN} - sudo systemctl status debros${NOCOLOR} (Check service status)" +log "${CYAN} - sudo systemctl restart debros${NOCOLOR} (Restart service)" +log "${CYAN} - sudo journalctl -u debros.service -f${NOCOLOR} (View logs)" +log "${CYAN} - sudo systemctl stop debros${NOCOLOR} (Stop service)" +log "${CYAN} - sudo systemctl start debros${NOCOLOR} (Start service)" +log "${BLUE}==================================================${NOCOLOR}" +log "${GREEN}Installation directory: ${NOCOLOR}${CYAN}$INSTALL_DIR${NOCOLOR}" +log "${BLUE}==================================================${NOCOLOR}" + +# Information about the DeBros CLI +log "${BLUE}==================================================${NOCOLOR}" +log "${GREEN}DeBros CLI Information:${NOCOLOR}" +log "${CYAN}The DeBros CLI is a tool that runs on your local development machine,${NOCOLOR}" +log "${CYAN}not on the node itself. To install it on your development machine, run:${NOCOLOR}" +log "${YELLOW}npm install -g @debros/cli${NOCOLOR} or ${YELLOW}pnpm install -g @debros/cli${NOCOLOR}" +log "${BLUE}==================================================${NOCOLOR}" + +log "${GREEN}To update DeBros in the future, simply run this script again.${NOCOLOR}" +log "${CYAN}For Documentation visit https://docs.debros.io ${NOCOLOR}" +log "${BLUE}==================================================${NOCOLOR}" diff --git a/scripts/openport.sh b/scripts/openport.sh new file mode 100644 index 0000000..e3bc280 --- /dev/null +++ b/scripts/openport.sh @@ -0,0 +1 @@ +loclx tunnel http --to localhost:7777 \ No newline at end of file diff --git a/src/components/anyone/anyoneControllers.ts b/src/components/anyone/anyoneControllers.ts new file mode 100644 index 0000000..a4e4ae4 --- /dev/null +++ b/src/components/anyone/anyoneControllers.ts @@ -0,0 +1,92 @@ +import { Request, Response } from 'express'; +import { SocksProxyAgent } from 'socks-proxy-agent'; + +export class AnyoneController { + public async proxy(req: Request, res: Response, socksClient: any): Promise { + try { + if (!socksClient) { + throw new Error('Anyone Network not initialized'); + } + + const { url, method, headers, body } = req.body; + + if (!url) { + res.status(400).json({ error: 'URL is required' }); + } + + console.log(`📡 Proxying request to: ${url}`); + + // Create the SOCKS agent + const socksAgent = new SocksProxyAgent(`socks5h://127.0.0.1:${socksClient.socksPort}`); + + // Special handling for Supabase requests + const requestHeaders = { ...headers }; + const targetUrl = url; + const processedBody = body; + + // Prepare fetch options + const fetchOptions = { + method: method || 'GET', + agent: socksAgent, + headers: requestHeaders, + body: body, + }; + + // Add body if it exists and method is not GET + if (processedBody && method !== 'GET' && method !== 'DELETE') { + fetchOptions.body = processedBody; + } + + console.log(`📡 Request details:`, { + url: targetUrl, + method: fetchOptions.method, + hasBody: !!fetchOptions.body, + headers: Object.keys(fetchOptions.headers), + }); + + // Execute the request + const response = await fetch(targetUrl, fetchOptions); + + // Get response headers + const responseHeaders = Object.fromEntries(response.headers.entries()); + + // Get response data based on content type + const contentType = response.headers.get('content-type') || ''; + let responseData; + + if (contentType.includes('application/json')) { + try { + responseData = await response.json(); + } catch (e: any) { + // If JSON parsing fails, fallback to text + const textData = await response.text(); + console.warn('Failed to parse JSON response, returning as text:', e.message); + responseData = textData; + } + } else { + responseData = await response.text(); + // Try to parse as JSON anyway in case Content-Type is wrong + try { + responseData = JSON.parse(responseData); + } catch (_e) { + // Keep as text if parsing fails + } + } + + // Return the response with all details + res.json({ + success: true, + status: response.status, + statusText: response.statusText, + headers: responseHeaders, + response: responseData, + }); + } catch (error: any) { + console.error('Proxy error:', error); + res.status(500).json({ + success: false, + error: error.message || 'Error proxying request', + }); + } + } +} diff --git a/src/components/anyone/setup.ts b/src/components/anyone/setup.ts new file mode 100644 index 0000000..10fc30b --- /dev/null +++ b/src/components/anyone/setup.ts @@ -0,0 +1,45 @@ +import { Anon, AnonSocksClient } from '@anyone-protocol/anyone-client'; +import { HttpsProxyAgent } from 'https-proxy-agent'; +import { config } from '../../config'; + +interface InitAnyoneResponse { + socksClient: AnonSocksClient | null; + proxyAgent: any; + anon: Anon | null; // Expose anon instance for later cleanup +} + +export const initAnyone = async (): Promise => { + // Check if Anyone protocol is disabled in development mode + if (!config.features.enableAnyone) { + console.log('🚫 Anyone Network disabled in development mode.'); + // Return mock objects to avoid errors in dependent code + return { + socksClient: null, + proxyAgent: null, + anon: null, + }; + } + + const anon = new Anon({ + displayLog: true, + socksPort: 9060, + }); + let socksClient: any; + let proxyAgent: any; + + try { + await anon.start(); + console.log('✅ Anyone Network connected.'); + + socksClient = new AnonSocksClient(anon); + proxyAgent = new HttpsProxyAgent(`socks5h://127.0.0.1:${socksClient.socksPort}`); + console.log('✅ Proxy agent initialized on port:', socksClient.socksPort); + + // Do NOT stop anon here; keep it running for the proxy + } catch (err: unknown) { + console.error('❌ Error starting Anyone client:', err); + throw err; // Propagate the error to handle it upstream + } + + return { socksClient, proxyAgent, anon }; +}; diff --git a/src/components/server/healthService.ts b/src/components/server/healthService.ts new file mode 100644 index 0000000..084ef67 --- /dev/null +++ b/src/components/server/healthService.ts @@ -0,0 +1,52 @@ +import express from 'express'; +import { getConnectedPeers } from '@debros/network'; +import { config } from '../../config'; + +/** + * Registers health check endpoints + */ +export const registerHealthEndpoints = (app: express.Application) => { + // Health check endpoint that also reports node load and peers + app.get('/health', (req, res) => { + const connectedPeers = getConnectedPeers(); + const peerCount = connectedPeers.length; + + res.json({ + status: 'healthy', + load: `10%`, + peerCount, + fingerprint: config.env.fingerprint || 'unknown', + }); + }); +}; + +/** + * Reports status information periodically + */ +export const startStatusReporting = (interval = 600000) => { + // 10 minutes by default + // Schedule a status report every 10 minutes + return setInterval(() => { + const connectedPeers = getConnectedPeers(); + const peerCount = connectedPeers.length; + + console.log('==== DEBROS STATUS REPORT ===='); + console.log(`📊 Fingerprint: ${config.env.fingerprint}`); + console.log(`📊 Active connections: 0`); + console.log(`📊 Current load: 10%`); + console.log(`📊 Connected P2P peers: ${peerCount}`); + console.log('=================================='); + + // Enhance with peer details if there are peers connected + if (peerCount > 0) { + console.log('CONNECTED PEERS:'); + connectedPeers.forEach((peer, i) => { + // Adjust based on your peer structure from the new @debros/network + const peerId = peer.id || peer.toString(); + const load = peer.load || 'unknown'; + console.log(`${i + 1}. ${peerId.substring(0, 15)}... - Load: ${load}%`); + }); + console.log('=================================='); + } + }, interval); +}; diff --git a/src/components/server/middleware.ts b/src/components/server/middleware.ts new file mode 100644 index 0000000..2ef9dd8 --- /dev/null +++ b/src/components/server/middleware.ts @@ -0,0 +1,84 @@ +import express from 'express'; +import cors from 'cors'; +import morgan from 'morgan'; + +/** + * Applies express middleware to the application + */ +export const applyMiddleware = (app: express.Application) => { + // CORS configuration + app.use( + cors({ + origin: (origin, callback) => { + // Allow requests from your frontend in development + const allowedOrigins = ['http://localhost:4001']; + if (!origin || allowedOrigins.includes(origin)) { + callback(null, true); + } else { + callback(new Error('Not allowed by CORS')); + } + }, + methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], + allowedHeaders: '*', + credentials: true, // Enable credentials + }) + ); + + // Apply HTTP request logging middleware + app.use(morgan('dev')); // Standard HTTP logging + app.use(loggingMiddleware); // Custom detailed logging + + // JSON parser middleware + app.use(express.json()); + + // Error handling middleware + app.use(errorHandlingMiddleware); +}; + +/** + * Custom logging middleware with detailed request/response tracking + */ +export const loggingMiddleware = (req: express.Request, res: express.Response, next: express.NextFunction) => { + const start = Date.now(); + + // Log request start + console.log(`[${new Date().toISOString()}] ${req.method} ${req.url} - Request started`); + + // Function to log response + const logResponse = () => { + const duration = Date.now() - start; + const statusCode = res.statusCode; + const statusColor = + statusCode >= 500 + ? '\x1b[31m' // Red + : statusCode >= 400 + ? '\x1b[33m' // Yellow + : statusCode >= 300 + ? '\x1b[36m' // Cyan + : statusCode >= 200 + ? '\x1b[32m' // Green + : '\x1b[0m'; // Default + + console.log( + `${statusColor}[${new Date().toISOString()}] ${req.method} ${req.url} - ${statusCode} - ${duration}ms\x1b[0m` + ); + }; + + // Capture response finish event + res.on('finish', logResponse); + + next(); +}; + +/** + * Global error handling middleware + */ +export const errorHandlingMiddleware = (err: any, req: express.Request, res: express.Response) => { + console.error('Unhandled error:', err); + res.status(err.status || 500).json({ + error: { + message: 'An unexpected error occurred', + detail: process.env.NODE_ENV === 'development' ? err.message : undefined, + }, + }); +}; diff --git a/src/components/server/serverService.ts b/src/components/server/serverService.ts new file mode 100644 index 0000000..612bf9c --- /dev/null +++ b/src/components/server/serverService.ts @@ -0,0 +1,125 @@ +import express from 'express'; +import { createServer } from 'http'; +import { initIpfs, stopIpfs, initOrbitDB, createServiceLogger, logPeersStatus } from '@debros/network'; // Import from the new package +import mainRouter from '../../routes/api'; +import { applyMiddleware } from './middleware'; +import { registerHealthEndpoints, startStatusReporting } from './healthService'; +import { initAnyone } from '../anyone/setup'; +import { config } from '../../config'; + +// Create loggers for different service types +const serverLogger = createServiceLogger('SERVER'); + +export const createApp: any = () => { + const app = express(); + + applyMiddleware(app); + registerHealthEndpoints(app); + app.use('/api', mainRouter); + + return app; +}; + +export const startServer = async () => { + let anonInstance: any = null; + let statusReportInterval: NodeJS.Timeout; + let peerStatusInterval: NodeJS.Timeout; + let orbitdbInstance: any; + + try { + showModeBanner(); + + // Initialize Anyone service + const { anon } = await initAnyone(); + anonInstance = anon; + + // Initialize IPFS with the new package + await initIpfs(); + + // Initialize OrbitDB with the new package + orbitdbInstance = await initOrbitDB(); + + // Create and configure Express app + const app = createApp(); + const httpServer = createServer(app); + + // Start the HTTP server + const port = config.env.port; + httpServer.listen(port, () => { + serverLogger.info(`Server running on port ${port}`); + + // Start periodic peer status logging + peerStatusInterval = setInterval(() => { + logPeersStatus(); + }, 60000); // Log status every minute + + // Start status reporting + statusReportInterval = startStatusReporting(); + + // Setup shutdown handler after all intervals are defined + setupShutdownHandler(anonInstance, orbitdbInstance, { + statusReportInterval, + peerStatusInterval, + }); + }); + } catch (error) { + serverLogger.error('Failed to initialize services:', error); + if (anonInstance) await anonInstance.stop(); + throw error; + } +}; + +/** + * Displays the mode banner with environment information + */ +function showModeBanner() { + if (config.env.isDevelopment) { + serverLogger.info('========================================'); + serverLogger.info('🚀 Running in DEVELOPMENT MODE'); + serverLogger.info(`🔑 Anyone Protocol: ${config.features.enableAnyone ? 'ENABLED' : 'DISABLED'}`); + serverLogger.info(`🔖 Fingerprint: ${config.env.fingerprint}`); + serverLogger.info('========================================'); + } else { + serverLogger.info('========================================'); + serverLogger.info('🚀 Running in PRODUCTION MODE'); + serverLogger.info(`🔑 Anyone Protocol: ${config.features.enableAnyone ? 'ENABLED' : 'DISABLED'}`); + serverLogger.info(`🔖 Fingerprint: ${config.env.fingerprint}`); + serverLogger.info('========================================'); + } +} + +function setupShutdownHandler( + anonInstance: any, + orbitdbInstance: any, + intervals: { + statusReportInterval: NodeJS.Timeout; + peerStatusInterval: NodeJS.Timeout; + } +) { + process.on('SIGINT', async () => { + serverLogger.info('Shutting down...'); + + // Clear intervals + clearInterval(intervals.statusReportInterval); + clearInterval(intervals.peerStatusInterval); + + // Stop OrbitDB + serverLogger.info('Stopping OrbitDB...'); + await orbitdbInstance.stop(); + serverLogger.info('OrbitDB stopped.'); + + // Stop IPFS + serverLogger.info('Stopping IPFS...'); + await stopIpfs(); + serverLogger.info('IPFS stopped.'); + + // Stop Anyone + if (anonInstance) { + serverLogger.info('Stopping Anyone Protocol...'); + await anonInstance.stop(); + serverLogger.info('Anyone Protocol stopped.'); + } + + process.exit(0); + }); +} diff --git a/src/config.ts b/src/config.ts new file mode 100644 index 0000000..012f5b8 --- /dev/null +++ b/src/config.ts @@ -0,0 +1,36 @@ +import path from 'path'; + +export const config = { + env: { + isDevelopment: process.env.NODE_ENV !== 'production', + port: process.env.PORT || 7777, + fingerprint: process.env.FINGERPRINT || 'default-fingerprint', // Fingerprint from .env + nickname: process.env.NICKNAME, + keyPath: process.env.KEY_PATH || '/var/lib/debros/keys', + host: process.env.HOST || '', + }, + features: { + enableAnyone: process.env.ENABLE_ANYONE === 'true', + enableLoadBalancing: process.env.ENABLE_LOAD_BALANCING !== 'false', + }, + ipfs: { + repo: './ipfs-repo', + swarmKey: path.resolve(process.cwd(), 'swarm.key'), + bootstrapNodes: process.env.BOOTSTRAP_NODES, + blockstorePath: path.resolve(process.cwd(), 'blockstore'), + serviceDiscovery: { + topic: process.env.SERVICE_DISCOVERY_TOPIC || 'debros-service-discovery', + heartbeatInterval: parseInt(process.env.HEARTBEAT_INTERVAL || '5000'), + staleTimeout: parseInt(process.env.STALE_PEER_TIMEOUT || '30000'), + logInterval: parseInt(process.env.PEER_LOG_INTERVAL || '60000'), + publicAddress: process.env.NODE_PUBLIC_ADDRESS || `http://localhost:${process.env.PORT || 7777}`, + }, + }, + orbitdb: { + directory: path.resolve(process.cwd(), 'orbitdb/debros'), + }, + loadBalancer: { + maxConnections: parseInt(process.env.MAX_CONNECTIONS || '1000'), + strategy: process.env.LOAD_BALANCING_STRATEGY || 'least-loaded', + }, +}; diff --git a/src/routes/api.ts b/src/routes/api.ts new file mode 100644 index 0000000..7be2c3d --- /dev/null +++ b/src/routes/api.ts @@ -0,0 +1,35 @@ +import express, { Router, Request, Response } from 'express'; +import { loadBalancerController } from '@debros/network'; + +const mainRouter: Router = express.Router(); + +// Load balancer routes (no auth required for discovery) +mainRouter.get('/discovery/node-info', loadBalancerController.getNodeInfo); +mainRouter.get('/discovery/optimal-peer', loadBalancerController.getOptimalPeer); +mainRouter.get('/discovery/peers', loadBalancerController.getAllPeers); + +// Global error handler +mainRouter.use((err: any, req: Request, res: Response) => { + console.error('API Error:', err); + const statusCode = err.status || 500; + const errorResponse: any = { + error: { + message: err.message || 'Internal Server Error', + status: statusCode, + }, + }; + + // Add validation details if available + if (err.errors) { + errorResponse.error.details = err.errors; + } + + // In production, don't send the stack trace + if (process.env.NODE_ENV !== 'production' && err.stack) { + errorResponse.error.stack = err.stack; + } + + res.status(statusCode).json(errorResponse); +}); + +export default mainRouter; diff --git a/src/server.ts b/src/server.ts new file mode 100644 index 0000000..a356338 --- /dev/null +++ b/src/server.ts @@ -0,0 +1,25 @@ +import dotenv from 'dotenv'; +import { config } from './config'; +import { startServer } from './components/server/serverService'; +import { createServiceLogger } from './utils/logger'; + +const logger = createServiceLogger('SERVER'); + +// Load environment variables from .env file +dotenv.config(); + +// Update config with environment variables +config.env.isDevelopment = process.env.NODE_ENV !== 'production'; +config.env.port = parseInt(process.env.PORT || '7777'); +config.features.enableAnyone = process.env.ENABLE_ANYONE === 'true' || process.env.NODE_ENV === 'production'; + +// Export default function to be called from CLI +export default startServer; + +// If this script is run directly (not imported) +if (import.meta.url === `file://${process.argv[1]}`) { + startServer().catch((error) => { + logger.error('Failed to start server:', error); + process.exit(1); + }); +} diff --git a/src/types.d.ts b/src/types.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/types/express/index.d.ts b/src/types/express/index.d.ts new file mode 100644 index 0000000..a104dea --- /dev/null +++ b/src/types/express/index.d.ts @@ -0,0 +1,6 @@ +// In a declaration file (e.g., types/express/index.d.ts) +declare namespace Express { + export interface Request { + user?: any; // Or define a more specific type for your user + } +} diff --git a/src/utils/authMiddleware.ts b/src/utils/authMiddleware.ts new file mode 100644 index 0000000..af8e2c2 --- /dev/null +++ b/src/utils/authMiddleware.ts @@ -0,0 +1,19 @@ +import { Request, Response, NextFunction } from 'express'; +import { ethers } from 'ethers'; + +export const authMiddleware = (req: Request, res: Response, next: NextFunction) => { + const walletAddress = req.headers['wallet-address'] as string; + const signature = req.headers['signature'] as string; + const message = 'Sign this message to authenticate'; + + try { + const recoveredAddress = ethers.verifyMessage(message, signature); + if (recoveredAddress.toLowerCase() === walletAddress.toLowerCase()) { + next(); // Το request είναι έγκυρο, συνεχίζουμε + } else { + res.status(401).json({ error: 'Unauthorized' }); + } + } catch (_error) { + res.status(401).json({ error: 'Invalid signature' }); + } +}; diff --git a/src/utils/errorHandler.ts b/src/utils/errorHandler.ts new file mode 100644 index 0000000..6a68e38 --- /dev/null +++ b/src/utils/errorHandler.ts @@ -0,0 +1,119 @@ +import { Request, Response, NextFunction } from 'express'; +import { z } from 'zod'; +import { createServiceLogger } from './logger'; + +const logger = createServiceLogger('ERROR'); + +// Error types for different HTTP status codes +export class HttpError extends Error { + status: number; + + constructor(message: string, status: number = 500) { + super(message); + this.name = this.constructor.name; + this.status = status; + Error.captureStackTrace(this, this.constructor); + } +} + +export class BadRequestError extends HttpError { + constructor(message: string) { + super(message, 400); + } +} + +export class UnauthorizedError extends HttpError { + constructor(message: string = 'Unauthorized') { + super(message, 401); + } +} + +export class ForbiddenError extends HttpError { + constructor(message: string = 'Forbidden') { + super(message, 403); + } +} + +export class NotFoundError extends HttpError { + constructor(message: string = 'Resource not found') { + super(message, 404); + } +} + +export class ValidationError extends BadRequestError { + errors: any[]; + + constructor(message: string, errors: any[]) { + super(message); + this.errors = errors; + } +} + +// Error handler middleware +export const errorHandler = (err: Error, req: Request, res: Response, _next: NextFunction) => { + logger.error(`Error processing ${req.method} ${req.url}:`, err); + + if (err instanceof HttpError) { + // Handle custom HTTP errors + const response: any = { + error: { + message: err.message, + status: err.status, + }, + }; + + // Add validation errors if present + if (err instanceof ValidationError) { + response.error.details = err.errors; + } + + return res.status(err.status).json(response); + } else if (err instanceof z.ZodError) { + // Handle Zod validation errors + return res.status(400).json({ + error: { + message: 'Validation failed', + status: 400, + details: err.errors.map((e) => ({ + path: e.path.join('.'), + message: e.message, + })), + }, + }); + } + + // Handle unexpected errors + const statusCode = 500; + const isProduction = process.env.NODE_ENV === 'production'; + + return res.status(statusCode).json({ + error: { + message: isProduction ? 'Internal server error' : err.message, + status: statusCode, + stack: isProduction ? undefined : err.stack, + }, + }); +}; + +// Async route handler to catch promise rejections +export const asyncHandler = (fn: (req: Request, res: Response, next: NextFunction) => Promise) => { + return (req: Request, res: Response, next: NextFunction) => { + Promise.resolve(fn(req, res, next)).catch(next); + }; +}; + +// Function to handle validation with Zod +export const validateRequest = (schema: z.ZodTypeAny) => { + return (req: Request, res: Response, next: NextFunction) => { + try { + schema.parse(req.body); + next(); + } catch (error) { + if (error instanceof z.ZodError) { + next(new ValidationError('Validation failed', error.errors)); + } else { + next(error); + } + } + }; +}; diff --git a/src/utils/logger.ts b/src/utils/logger.ts new file mode 100644 index 0000000..ec54abd --- /dev/null +++ b/src/utils/logger.ts @@ -0,0 +1,111 @@ +import { createLogger, format, transports } from 'winston'; +import fs from 'fs'; +import path from 'path'; + +// Create logs directory if it doesn't exist +const logsDir = path.join(process.cwd(), 'logs'); +if (!fs.existsSync(logsDir)) { + fs.mkdirSync(logsDir); +} + +// Define colors for different service types +const colors: any = { + error: '\x1b[31m', // red + warn: '\x1b[33m', // yellow + info: '\x1b[32m', // green + debug: '\x1b[36m', // cyan + reset: '\x1b[0m', // reset + + // Service specific colors + IPFS: '\x1b[36m', // cyan + HEARTBEAT: '\x1b[33m', // yellow + SOCKET: '\x1b[34m', // blue + 'LOAD-BALANCER': '\x1b[35m', // magenta + DEFAULT: '\x1b[37m', // white +}; + +// Custom format for console output with colors +const customConsoleFormat = format.printf(({ level, message, timestamp, service }: any) => { + // Truncate error messages + if (level === 'error' && typeof message === 'string' && message.length > 300) { + message = message.substring(0, 300) + '... [truncated]'; + } + + // Handle objects and errors + if (typeof message === 'object' && message !== null) { + if (message instanceof Error) { + message = message.message; + // Truncate error messages + if (message.length > 300) { + message = message.substring(0, 300) + '... [truncated]'; + } + } else { + try { + message = JSON.stringify(message, null, 2); + } catch (_e) { + message = '[Object]'; + } + } + } + + const serviceColor = service && colors[service] ? colors[service] : colors.DEFAULT; + const levelColor = colors[level] || colors.DEFAULT; + const serviceTag = service ? `[${service}]` : ''; + + return `${timestamp} ${levelColor}${level}${colors.reset}: ${serviceColor}${serviceTag}${colors.reset} ${message}`; +}); + +// Custom format for file output (no colors) +const customFileFormat = format.printf(({ level, message, timestamp, service }) => { + // Handle objects and errors + if (typeof message === 'object' && message !== null) { + if (message instanceof Error) { + message = message.message; + } else { + try { + message = JSON.stringify(message); + } catch (_e) { + message = '[Object]'; + } + } + } + + const serviceTag = service ? `[${service}]` : ''; + return `${timestamp} ${level}: ${serviceTag} ${message}`; +}); + +// Create the logger +const logger = createLogger({ + level: process.env.LOG_LEVEL || 'info', + format: format.combine(format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.splat()), + defaultMeta: { service: 'DEFAULT' }, + transports: [ + // Console transport + new transports.Console({ + format: format.combine(format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), customConsoleFormat), + }), + // Combined log file + new transports.File({ + filename: path.join(logsDir, 'app.log'), + format: format.combine(format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), customFileFormat), + }), + // Error log file + new transports.File({ + filename: path.join(logsDir, 'error.log'), + level: 'error', + format: format.combine(format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), customFileFormat), + }), + ], +}); + +// Helper function to create a logger for a specific service +export const createServiceLogger = (serviceName: string) => { + return { + error: (message: any, ...meta: any[]) => logger.error(message, { service: serviceName, ...meta }), + warn: (message: any, ...meta: any[]) => logger.warn(message, { service: serviceName, ...meta }), + info: (message: any, ...meta: any[]) => logger.info(message, { service: serviceName, ...meta }), + debug: (message: any, ...meta: any[]) => logger.debug(message, { service: serviceName, ...meta }), + }; +}; + +export default logger; diff --git a/terms-agreement b/terms-agreement new file mode 100644 index 0000000..e340065 --- /dev/null +++ b/terms-agreement @@ -0,0 +1 @@ +agreed \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3094c9f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,58 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Node 20", + "compilerOptions": { + /* Specify what module code is generated. */ + "module": "ES2020", + /* Specify which ECMAScript version the project's output JavaScript code must support.*/ + "target": "ESNext", + /* + * Specify how TypeScript looks up a file from a given module specifier. + * Bundler removes the need to specify the full path inside imports + */ + "moduleResolution": "bundler", + /* Skip type checking of declaration files. */ + "skipLibCheck": true, + /* Removes comments from the project's output JavaScript code. */ + "removeComments": true, + /* Enables experimental support for emitting type metadata for decorators which works with the module reflect-metadata. */ + "emitDecoratorMetadata": true, + /* Enables experimental support for decorators, which is a version of decorators that predates the TC39 standardization process. */ + "experimentalDecorators": true, + /* When set, TypeScript will include the original content of the .ts file as an embedded string in the source map (using the source map's sourcesContent property). This is often useful in the same cases as inlineSourceMap. */ + "inlineSources": true, + /* Enables the generation of sourcemap files. */ + "sourceMap": true, + /* Allow JavaScript files to be imported inside the project, instead of just .ts and .tsx files. */ + "allowJs": true, + /* By default (with esModuleInterop false or not set) TypeScript treats CommonJS/AMD/UMD modules similar to ES6 modules. */ + "esModuleInterop": true, + /* The strict flag enables a wide range of type checking behavior that results in stronger guarantees of program correctness. */ + "strict": true, + /* When set to true, TypeScript will raise an error when a class property was declared but not set in the constructor. */ + "strictPropertyInitialization": false, + /* This flag controls how import works */ + "importsNotUsedAsValues": "remove", + /* Specify the location where a debugger should locate TypeScript files instead of relative source locations */ + "sourceRoot": "/", + /* The longest common path of all non-declaration input files. */ + "rootDir": "src", + /* Directory name of the project's output JavaScript code. */ + "outDir": "dist", + /* Specify to generate .d.ts files for every TypeScript or JavaScript file inside the project. */ + "declaration": true, + /* Sets a base directory from which to resolve non-relative module names. */ + "baseUrl": "." + /* A series of entries which re-map imports to lookup locations relative to the baseUrl if set, or to the tsconfig file itself otherwise. */ + // "paths": { + // "@/*": [ + // "./src/*" + // ] + // }, + }, + "include": ["src/**/*"], + "exclude": ["coverage", "dist", "eslint.config.js", "node_modules"], + "ts-node": { + "esm": true + } +}