Merge remote-tracking branch 'origin/integration-branch-ux-12.2024' into UEPR-88

This commit is contained in:
MiroslavDionisiev 2024-12-04 15:08:39 +02:00
commit 8b4dae8687
23 changed files with 1143 additions and 344 deletions

View file

@ -0,0 +1,31 @@
name: "Signature Assistant"
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]
permissions:
actions: write
contents: read
pull-requests: write
statuses: write
jobs:
CLA-Assistant:
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
uses: contributor-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08 # v2.6.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secrets
PERSONAL_ACCESS_TOKEN: ${{ secrets.GHA_AGREEMENTS_PAT }}
with:
remote-organization-name: 'scratchfoundation'
remote-repository-name: 'scratch-agreements'
path-to-signatures: 'signatures/version1/cla.json'
path-to-document: 'https://github.com/scratchfoundation/scratch-agreements/blob/main/CLA.md'
branch: 'main'
allowlist: semantic-release-bot,*[bot]

663
LICENSE
View file

@ -1,12 +1,661 @@
Copyright (c) 2021, Scratch Foundation
All rights reserved.
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Preamble
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are 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.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
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.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
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 Affero 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. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
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 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 work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero 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 Affero 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 Affero 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 Affero 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.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
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 AGPL, see
<https://www.gnu.org/licenses/>.

353
package-lock.json generated
View file

@ -7,7 +7,7 @@
"": {
"name": "www",
"version": "1.0.0",
"license": "BSD-3-Clause",
"license": "AGPL-3.0-only",
"dependencies": {
"bunyan": "1.8.15",
"clipboard-copy": "2.0.1",
@ -22,7 +22,7 @@
"react-router-dom": "5.3.4",
"react-twitter-embed": "3.0.3",
"react-use": "17.5.1",
"scratch-parser": "5.2.1",
"scratch-parser": "6.0.0",
"scratch-storage": "2.3.284"
},
"devDependencies": {
@ -34,11 +34,11 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0",
"@babel/preset-react": "7.25.9",
"@formatjs/intl-datetimeformat": "6.16.4",
"@formatjs/intl-datetimeformat": "6.16.5",
"@formatjs/intl-locale": "3.4.6",
"@formatjs/intl-numberformat": "8.14.4",
"@formatjs/intl-pluralrules": "5.3.4",
"@formatjs/intl-relativetimeformat": "11.4.4",
"@formatjs/intl-numberformat": "8.14.5",
"@formatjs/intl-pluralrules": "5.3.5",
"@formatjs/intl-relativetimeformat": "11.4.5",
"@types/jest": "29.5.14",
"async": "3.2.6",
"autoprefixer": "10.4.20",
@ -69,7 +69,7 @@
"formsy-react-components": "1.1.0",
"git-bundle-sha": "0.0.2",
"glob": "5.0.15",
"google-libphonenumber": "3.2.38",
"google-libphonenumber": "3.2.39",
"html-webpack-plugin": "5.6.0",
"iso-3166-2": "1.0.0",
"jest": "29.7.0",
@ -111,8 +111,8 @@
"regenerator-runtime": "0.13.9",
"sass": "1.81.0",
"sass-loader": "10.5.2",
"scratch-gui": "4.1.5",
"scratch-l10n": "4.0.34",
"scratch-gui": "5.0.1",
"scratch-l10n": "5.0.7",
"selenium-webdriver": "4.26.0",
"slick-carousel": "1.8.1",
"stream-browserify": "3.0.0",
@ -2220,14 +2220,14 @@
}
},
"node_modules/@formatjs/ecma402-abstract": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz",
"integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==",
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.4.tgz",
"integrity": "sha512-lFyiQDVvSbQOpU+WFd//ILolGj4UgA/qXrKeZxdV14uKiAUiPAtX6XAn7WBCRi7Mx6I7EybM9E5yYn4BIpZWYg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@formatjs/fast-memoize": "2.2.3",
"@formatjs/intl-localematcher": "0.5.7",
"@formatjs/intl-localematcher": "0.5.8",
"tslib": "2"
}
},
@ -2331,14 +2331,14 @@
}
},
"node_modules/@formatjs/intl-datetimeformat": {
"version": "6.16.4",
"resolved": "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-6.16.4.tgz",
"integrity": "sha512-DLoqb1hO7CZMPXkl4odvy7wQzwMgC/WfdWEy4dFXFi1hKVcE3eM4VYAs1fX5m+tmLoSmyMj3qyDRadaGhpMnhA==",
"version": "6.16.5",
"resolved": "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-6.16.5.tgz",
"integrity": "sha512-IukSD4pmyZZzpT5ysm6ONRKSu/OQq3vFKHA3exJDWSMjboPO+wO/bT9vOOw1y957N3vtrqvxHSfja6TYwbPpkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@formatjs/ecma402-abstract": "2.2.3",
"@formatjs/intl-localematcher": "0.5.7",
"@formatjs/ecma402-abstract": "2.2.4",
"@formatjs/intl-localematcher": "0.5.8",
"tslib": "2"
}
},
@ -2463,9 +2463,9 @@
}
},
"node_modules/@formatjs/intl-localematcher": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz",
"integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==",
"version": "0.5.8",
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.8.tgz",
"integrity": "sha512-I+WDNWWJFZie+jkfkiK5Mp4hEDyRSEvmyfYadflOno/mmKJKcB17fEpEH0oJu/OWhhCJ8kJBDz2YMd/6cDl7Mg==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -2473,38 +2473,38 @@
}
},
"node_modules/@formatjs/intl-numberformat": {
"version": "8.14.4",
"resolved": "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-8.14.4.tgz",
"integrity": "sha512-Isr8qEy6zZQA57VagmjO+z+AvRsTvzdP+P2ZT+zf5vnMbJT2toNIXeT8hA4hmI9qV6KUxHX/YOgpp5hw8tO49Q==",
"version": "8.14.5",
"resolved": "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-8.14.5.tgz",
"integrity": "sha512-UP7Y+t2orvEbFB8EYmmSIbfam1CjhhYWIV7diWBXWilGjrXH7zxIrpgbG22wWwfkEAu8TU8OB/rzIha66Tg1vQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@formatjs/ecma402-abstract": "2.2.3",
"@formatjs/intl-localematcher": "0.5.7",
"@formatjs/ecma402-abstract": "2.2.4",
"@formatjs/intl-localematcher": "0.5.8",
"tslib": "2"
}
},
"node_modules/@formatjs/intl-pluralrules": {
"version": "5.3.4",
"resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-5.3.4.tgz",
"integrity": "sha512-9+ySYcpTxLHy0PP10LGvxkXyYDeceFuyijjZh/UP5MKK7Xg9hXzW5X54B55iuOYnEljAolBVcat1DrIeKUi/Kw==",
"version": "5.3.5",
"resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-5.3.5.tgz",
"integrity": "sha512-ahtSZ82E5yEVbHAm22jbIOxtB4nPlAS3xMsbdEkwO1ZXEi2mOsiPFpDJ5F5Duq6uSggldHHh1kcKUjDLgGb1vg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@formatjs/ecma402-abstract": "2.2.3",
"@formatjs/intl-localematcher": "0.5.7",
"@formatjs/ecma402-abstract": "2.2.4",
"@formatjs/intl-localematcher": "0.5.8",
"tslib": "2"
}
},
"node_modules/@formatjs/intl-relativetimeformat": {
"version": "11.4.4",
"resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-11.4.4.tgz",
"integrity": "sha512-qFgt3LAlITTgDu7Rjhlpye6j2k+/z1LNGAuth//Dj7UapWCL+26LZ/OA1Z5lrt80v/pj/x1rTOQIkLrltjeUWg==",
"version": "11.4.5",
"resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-11.4.5.tgz",
"integrity": "sha512-CfFWAWSZXDTM0/BV4wJo7tS3OL67RW5Kfbrn4vSJ49C5pigMzlmiJK+oQHhwvu5mQZBHwmnSKF/hY+iR3gYaAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@formatjs/ecma402-abstract": "2.2.3",
"@formatjs/intl-localematcher": "0.5.7",
"@formatjs/ecma402-abstract": "2.2.4",
"@formatjs/intl-localematcher": "0.5.8",
"tslib": "2"
}
},
@ -3882,16 +3882,6 @@
"@babel/types": "^7.20.7"
}
},
"node_modules/@types/dompurify": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz",
"integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/trusted-types": "*"
}
},
"node_modules/@types/eslint": {
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
@ -4039,9 +4029,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "22.9.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz",
"integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==",
"version": "22.9.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.3.tgz",
"integrity": "sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -4109,7 +4099,8 @@
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
"integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
"dev": true,
"license": "MIT"
"license": "MIT",
"optional": true
},
"node_modules/@types/usb": {
"version": "1.5.4",
@ -6551,9 +6542,9 @@
"license": "MIT"
},
"node_modules/caniuse-lite": {
"version": "1.0.30001680",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz",
"integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==",
"version": "1.0.30001684",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz",
"integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==",
"dev": true,
"funding": [
{
@ -7608,9 +7599,9 @@
}
},
"node_modules/cross-spawn": {
"version": "7.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz",
"integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -8976,11 +8967,14 @@
}
},
"node_modules/dompurify": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.0.tgz",
"integrity": "sha512-AMdOzK44oFWqHEi0wpOqix/fUNY707OmoeFDnbi3Q5I8uOpy21ufUA5cDJPr0bosxrflOVD/H2DMSvuGKJGfmQ==",
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.1.tgz",
"integrity": "sha512-NBHEsc0/kzRYQd+AY6HR6B/IgsqzBABrqJbpCDQII/OK6h7B7LXzweZTDsqSW2LkTRpoxf18YUP+YjGySk6B3w==",
"dev": true,
"license": "(MPL-2.0 OR Apache-2.0)"
"license": "(MPL-2.0 OR Apache-2.0)",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
}
},
"node_modules/domutils": {
"version": "1.5.1",
@ -9246,9 +9240,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
"version": "1.5.62",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.62.tgz",
"integrity": "sha512-t8c+zLmJHa9dJy96yBZRXGQYoiCEnHYgFwn1asvSPZSUdVxnB62A4RASd7k41ytG3ErFBA0TpHlKg9D9SQBmLg==",
"version": "1.5.64",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.64.tgz",
"integrity": "sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==",
"dev": true,
"license": "ISC"
},
@ -10987,9 +10981,9 @@
}
},
"node_modules/flatted": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz",
"integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
"dev": true,
"license": "ISC"
},
@ -11004,9 +10998,9 @@
}
},
"node_modules/flow-remove-types": {
"version": "2.253.0",
"resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.253.0.tgz",
"integrity": "sha512-4L1X1FZE08AOe9SMyqFhyl+TSM6L+tHbVBfIMQsZHduPUwnTuIs5jfVyz35bRAS67k2c1e14qSosgYVi+Uuj1Q==",
"version": "2.254.2",
"resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.254.2.tgz",
"integrity": "sha512-zkN7rQ3/T0uJ/ghjD9THU1DQ129ufH4PeVKs3JRahmW0gzAvD7+INFoJoZhrArDIFSDiVqHsEweji1iWMP3AdQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -12539,9 +12533,9 @@
"license": "Apache-2.0"
},
"node_modules/google-libphonenumber": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-3.2.38.tgz",
"integrity": "sha512-t/K0dsVmA0gMMVLJgcMeB9g1Ar4ANVWfkY+AJGSdfyJ2Ay7Bu8ceLYpUlC6FZSilZgaF1qbkM9tZydGBEBHqAg==",
"version": "3.2.39",
"resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-3.2.39.tgz",
"integrity": "sha512-dpCbkY6ZxHXIHEFDwSir/gPBWkn22e2EixBv47guVs/NE8+qd35f1yu+fxQ8awRnHEXC60uhcPM9mbqmrD6nmw==",
"dev": true,
"license": "(MIT AND Apache-2.0)",
"engines": {
@ -13304,9 +13298,9 @@
"license": "MIT"
},
"node_modules/immutable": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.2.tgz",
"integrity": "sha512-1NU7hWZDkV7hJ4PJ9dur9gTNQ4ePNPN4k9/0YhwjzykTi/+3Q5pF93YU5QoVj8BuOnhLgaY8gs0U2pj4kSYVcw==",
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz",
"integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==",
"dev": true,
"license": "MIT"
},
@ -13681,7 +13675,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
"integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
"dev": true,
"license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
@ -13827,13 +13820,15 @@
}
},
"node_modules/is-finalizationregistry": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
"integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
"dev": true,
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz",
"integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==",
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.2"
"call-bind": "^1.0.7"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -13893,7 +13888,6 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
"integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
"dev": true,
"license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
@ -13939,7 +13933,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
"integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@ -14089,7 +14082,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
"integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@ -14203,7 +14195,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
"integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@ -14228,7 +14219,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
"integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
@ -14271,14 +14261,13 @@
}
},
"node_modules/isomorphic-dompurify": {
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/isomorphic-dompurify/-/isomorphic-dompurify-2.16.0.tgz",
"integrity": "sha512-cXhX2owp8rPxafCr0ywqy2CGI/4ceLNgWkWBEvUz64KTbtg3oRL2ZRqq/zW0pzt4YtDjkHLbwcp/lozpKzAQjg==",
"version": "2.17.0",
"resolved": "https://registry.npmjs.org/isomorphic-dompurify/-/isomorphic-dompurify-2.17.0.tgz",
"integrity": "sha512-W9RC9aPgEAFF55VMo/9AUQ+GYkQ68gTRMLqS8fP9rw1VoYCsI7RdrRMAePhhqyCLfZS3JNjA4ahFi1L4aczUUg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/dompurify": "^3.0.5",
"dompurify": "^3.1.7",
"dompurify": "^3.2.1",
"jsdom": "^25.0.1"
},
"engines": {
@ -14639,9 +14628,9 @@
}
},
"node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"version": "6.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
"integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -19780,9 +19769,9 @@
"license": "ISC"
},
"node_modules/psl": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.10.0.tgz",
"integrity": "sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==",
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.13.0.tgz",
"integrity": "sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -20991,19 +20980,18 @@
}
},
"node_modules/reflect.getprototypeof": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
"integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==",
"dev": true,
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz",
"integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==",
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
"es-abstract": "^1.23.1",
"es-abstract": "^1.23.5",
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.4",
"globalthis": "^1.0.3",
"which-builtin-type": "^1.1.3"
"gopd": "^1.0.1",
"which-builtin-type": "^1.1.4"
},
"engines": {
"node": ">= 0.4"
@ -21084,16 +21072,16 @@
}
},
"node_modules/regexpu-core": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz",
"integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
"integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
"dev": true,
"license": "MIT",
"dependencies": {
"regenerate": "^1.4.2",
"regenerate-unicode-properties": "^10.2.0",
"regjsgen": "^0.8.0",
"regjsparser": "^0.11.0",
"regjsparser": "^0.12.0",
"unicode-match-property-ecmascript": "^2.0.0",
"unicode-match-property-value-ecmascript": "^2.1.0"
},
@ -21109,9 +21097,9 @@
"license": "MIT"
},
"node_modules/regjsparser": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz",
"integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==",
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
"integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@ -22068,9 +22056,9 @@
}
},
"node_modules/scratch-audio": {
"version": "1.0.320",
"resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-1.0.320.tgz",
"integrity": "sha512-wZwgxXqAzqv/NN+Ps/NbLn1xWyvjGrYirumcflzDuQbIJxxj8CXF0ChN029S1ydFWbHodsKLRxICgF5yfX5HXQ==",
"version": "1.0.330",
"resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-1.0.330.tgz",
"integrity": "sha512-29TnzuTkm5y1GzXG0rw/ILdgmHVyts5dCTZguv5YE44aGig4a4aXPxI6+wtpqIGzQCBox9H2zbEHJ3aGfaEX8g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -22192,11 +22180,11 @@
}
},
"node_modules/scratch-gui": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-4.1.5.tgz",
"integrity": "sha512-+UQ2ARJQRn4GKEAZH2GDaaC1zmlACFBDcPWMRXfMfbJlIIhGlfaDOVVpZR3ftSfeDuRO9RfA0x5jhkaN2qlIhw==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-5.0.1.tgz",
"integrity": "sha512-BTQUodIDYunIBZ5T3bST41kn0/Qm/kXhDXJveh221M639nBX5JRQhygKtg3bXo72eLwl4KC1GoUaBuB53y1P4A==",
"dev": true,
"license": "BSD-3-Clause",
"license": "AGPL-3.0-only",
"dependencies": {
"@microbit/microbit-universal-hex": "^0.2.2",
"arraybuffer-loader": "^1.0.6",
@ -22460,10 +22448,10 @@
"react": "^16.0.0"
}
},
"node_modules/scratch-l10n": {
"version": "4.0.34",
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-4.0.34.tgz",
"integrity": "sha512-sO/KcFdLVZT+zRmp/CGUvYYIGd2f1csXSmhHvaHSeumh6CY83nv0YDqd3zOLRmoomW0MgoxrlKIH8WUqWSNSNg==",
"node_modules/scratch-gui/node_modules/scratch-l10n": {
"version": "4.0.46",
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-4.0.46.tgz",
"integrity": "sha512-L+5eTrFe7qYUt0aK005qf20kg5Nm1gny2wDwpP1eI0Sk5Of6qGUyG7dr/FtAw5OHzbZENbYoT9tNWBf/swJ2gQ==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -22476,10 +22464,26 @@
"tx-push-src": "scripts/tx-push-src.js"
}
},
"node_modules/scratch-l10n": {
"version": "5.0.7",
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-5.0.7.tgz",
"integrity": "sha512-S4KY75py0p6nIN9ll+K7qn0LIzzVUz4oPaxTj7B0ayEY2EW/JPsilgoJ5pBLC2kEGv5rOar5mSk3vekGpq4uqg==",
"dev": true,
"license": "AGPL-3.0-only",
"dependencies": {
"@transifex/api": "4.3.0",
"download": "8.0.0",
"transifex": "1.6.6"
},
"bin": {
"build-i18n-src": "scripts/build-i18n-src.js",
"tx-push-src": "scripts/tx-push-src.js"
}
},
"node_modules/scratch-paint": {
"version": "2.2.498",
"resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-2.2.498.tgz",
"integrity": "sha512-Xe4gOaLm317ngGjpG4FNDWjysHsBEf/h0ypGKAlCnRoqeEXmTMgoM68qisgBNV9gNWZ7/fwciv1bdDcQ9ovSmg==",
"version": "2.2.515",
"resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-2.2.515.tgz",
"integrity": "sha512-jI3kOu037zKgZKR4gAamdcRfc4NoyM9l/yhrOfIVa3Kk3DVUAKr6VcRqDbGqRqBMvBoxd5zRBBxliLysnQt4Og==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -22531,10 +22535,10 @@
}
},
"node_modules/scratch-parser": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.2.1.tgz",
"integrity": "sha512-O9acef/B5MAQSB6PrEGKtbmEL1AOVZf4mYZnR0sNlzRvqqaEd+fZDL5SM7E9uQP09dIghefrm6/xmgzQIJP9Wg==",
"license": "BSD-3-Clause",
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-6.0.0.tgz",
"integrity": "sha512-LXcKxJIupqBtXSe2+SXkQxwdMWg4JCdZfoSdPYj1ZtV/UhejyUYju6ptYUrr98RsLFT5UyCmmUaev8gA1SNvhQ==",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^6.3.0",
"jszip": "^3.1.5",
@ -22545,9 +22549,9 @@
}
},
"node_modules/scratch-render": {
"version": "1.2.104",
"resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-1.2.104.tgz",
"integrity": "sha512-hDGfW0AsWWKmW7XALjNqdS3C7gsdpC02GL4qfDRBNIkNrcB5QvOFOlvWQaEFDPE879a5EST77Us3e3mk5/zFeg==",
"version": "1.2.121",
"resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-1.2.121.tgz",
"integrity": "sha512-W8bzWfG1ZouIo2PGNNn/X2LU7e8RcdeGhAB4xW187cfCATYhop23YAP8RiTLHDAKr0FI4NACQjS3i2sYbmWM4Q==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -22565,9 +22569,9 @@
}
},
"node_modules/scratch-render-fonts": {
"version": "1.0.126",
"resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.126.tgz",
"integrity": "sha512-XBK88BjPMdBK1MOIKafGibCaSaoPj2sueu1QglRL2WFKy6y66v830TTfE1ugHK5RCXCbDFx7iJV1QOgJqkSFHw==",
"version": "1.0.130",
"resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.130.tgz",
"integrity": "sha512-76hnac/udWE275C56gi2q1vnwzfQXk7Zcvk3BM9IQiaE3xQcMz8jiV/hy1urXg5XI0wkGZyFkjK60oyBeijSdg==",
"dev": true,
"dependencies": {
"base64-loader": "^1.0.0"
@ -22597,9 +22601,9 @@
"dev": true
},
"node_modules/scratch-sb1-converter": {
"version": "1.0.311",
"resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-1.0.311.tgz",
"integrity": "sha512-Rz7g05oW+IS60wqEG5y6b/l3R8v/maGpICyqqMzdfNOP1KAkgykBb9+VubYiGm9Sgr9VzphEWpkI79bYEOKPuw==",
"version": "1.0.322",
"resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-1.0.322.tgz",
"integrity": "sha512-FWf1hr0w6OHigx+4s2aIWvrNp2ETQ/H7DYDkQkRP08s1RBddGi/tNHu6tKHKojgo6eEAhgDKJ6ZEzFoFHSgDdA==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -22657,9 +22661,9 @@
}
},
"node_modules/scratch-svg-renderer": {
"version": "2.5.38",
"resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-2.5.38.tgz",
"integrity": "sha512-71MwTICnoAr3l7ytETlORxKUBfRlURLvvHXhPoVLlGhL9t5Byuly/JkxiCglELFzbH8pGnN5rBHR7bzTpD9PkA==",
"version": "2.5.43",
"resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-2.5.43.tgz",
"integrity": "sha512-MgyoSIoYsgAYF1JHJQz0+r1NvtS1uOM+LLAfvIyYfiD9c5islNKD3asgGmry3PmSFBhEH189zkAIsTa8q3EJCg==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -22700,9 +22704,9 @@
"license": "BSD-3-Clause"
},
"node_modules/scratch-vm": {
"version": "4.8.91",
"resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-4.8.91.tgz",
"integrity": "sha512-495Qbqe2XVqjB9/Wz0HpEVwubSVdL74Lrx4pyYvBnoEG4sZ1wWLfWB8ZNzHf16vETZ5U7zDcUayVUacg6e1jdQ==",
"version": "4.8.111",
"resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-4.8.111.tgz",
"integrity": "sha512-unT2vHVH6mWbpsjk26uoKPnWEZ3DOLgq4x/r+zDjcKfwoQ8zERO+0e4R2gsT49MIYsfCxjVQ8v4Q6/QG7IdSKw==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -22723,7 +22727,7 @@
"scratch-render": "^1.0.232",
"scratch-sb1-converter": "^1.0.0",
"scratch-storage": "^2.3.5",
"scratch-svg-renderer": "2.5.38",
"scratch-svg-renderer": "2.5.43",
"scratch-translate-extension-languages": "^1.0.0",
"text-encoding": "^0.7.0",
"uuid": "^8.3.2",
@ -22757,6 +22761,21 @@
"microee": "0.0.6"
}
},
"node_modules/scratch-vm/node_modules/scratch-parser": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.2.1.tgz",
"integrity": "sha512-O9acef/B5MAQSB6PrEGKtbmEL1AOVZf4mYZnR0sNlzRvqqaEd+fZDL5SM7E9uQP09dIghefrm6/xmgzQIJP9Wg==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"ajv": "^6.3.0",
"jszip": "^3.1.5",
"pify": "^4.0.1"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/screenfull": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz",
@ -26576,22 +26595,22 @@
"license": "ISC"
},
"node_modules/tldts": {
"version": "6.1.61",
"resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.61.tgz",
"integrity": "sha512-rv8LUyez4Ygkopqn+M6OLItAOT9FF3REpPQDkdMx5ix8w4qkuE7Vo2o/vw1nxKQYmJDV8JpAMJQr1b+lTKf0FA==",
"version": "6.1.64",
"resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.64.tgz",
"integrity": "sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw==",
"dev": true,
"license": "MIT",
"dependencies": {
"tldts-core": "^6.1.61"
"tldts-core": "^6.1.64"
},
"bin": {
"tldts": "bin/cli.js"
}
},
"node_modules/tldts-core": {
"version": "6.1.61",
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.61.tgz",
"integrity": "sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ==",
"version": "6.1.64",
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.64.tgz",
"integrity": "sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q==",
"dev": true,
"license": "MIT"
},
@ -27126,9 +27145,9 @@
}
},
"node_modules/typed-array-byte-offset": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
"integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz",
"integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==",
"license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
@ -27136,7 +27155,8 @@
"for-each": "^0.3.3",
"gopd": "^1.0.1",
"has-proto": "^1.0.3",
"is-typed-array": "^1.1.13"
"is-typed-array": "^1.1.13",
"reflect.getprototypeof": "^1.0.6"
},
"engines": {
"node": ">= 0.4"
@ -27146,17 +27166,17 @@
}
},
"node_modules/typed-array-length": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
"integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
"integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
"has-proto": "^1.0.3",
"is-typed-array": "^1.1.13",
"possible-typed-array-names": "^1.0.0"
"possible-typed-array-names": "^1.0.0",
"reflect.getprototypeof": "^1.0.6"
},
"engines": {
"node": ">= 0.4"
@ -28348,17 +28368,17 @@
}
},
"node_modules/which-builtin-type": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz",
"integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==",
"dev": true,
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz",
"integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==",
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"function.prototype.name": "^1.1.6",
"has-tostringtag": "^1.0.2",
"is-async-function": "^2.0.0",
"is-date-object": "^1.0.5",
"is-finalizationregistry": "^1.0.2",
"is-finalizationregistry": "^1.1.0",
"is-generator-function": "^1.0.10",
"is-regex": "^1.1.4",
"is-weakref": "^1.0.2",
@ -28378,7 +28398,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
"integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-map": "^2.0.3",

View file

@ -38,7 +38,7 @@
"url": "git+ssh://git@github.com/scratchfoundation/scratch-www.git"
},
"author": "Massachusetts Institute of Technology",
"license": "BSD-3-Clause",
"license": "AGPL-3.0-only",
"bugs": {
"url": "https://github.com/scratchfoundation/scratch-www/issues"
},
@ -57,7 +57,7 @@
"react-router-dom": "5.3.4",
"react-twitter-embed": "3.0.3",
"react-use": "17.5.1",
"scratch-parser": "5.2.1",
"scratch-parser": "6.0.0",
"scratch-storage": "2.3.284"
},
"devDependencies": {
@ -69,11 +69,11 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0",
"@babel/preset-react": "7.25.9",
"@formatjs/intl-datetimeformat": "6.16.4",
"@formatjs/intl-datetimeformat": "6.16.5",
"@formatjs/intl-locale": "3.4.6",
"@formatjs/intl-numberformat": "8.14.4",
"@formatjs/intl-pluralrules": "5.3.4",
"@formatjs/intl-relativetimeformat": "11.4.4",
"@formatjs/intl-numberformat": "8.14.5",
"@formatjs/intl-pluralrules": "5.3.5",
"@formatjs/intl-relativetimeformat": "11.4.5",
"@types/jest": "29.5.14",
"async": "3.2.6",
"autoprefixer": "10.4.20",
@ -104,7 +104,7 @@
"formsy-react-components": "1.1.0",
"git-bundle-sha": "0.0.2",
"glob": "5.0.15",
"google-libphonenumber": "3.2.38",
"google-libphonenumber": "3.2.39",
"html-webpack-plugin": "5.6.0",
"iso-3166-2": "1.0.0",
"jest": "29.7.0",
@ -146,8 +146,8 @@
"regenerator-runtime": "0.13.9",
"sass": "1.81.0",
"sass-loader": "10.5.2",
"scratch-gui": "4.1.5",
"scratch-l10n": "4.0.34",
"scratch-gui": "5.0.1",
"scratch-l10n": "5.0.7",
"selenium-webdriver": "4.26.0",
"slick-carousel": "1.8.1",
"stream-browserify": "3.0.0",

View file

@ -25,6 +25,9 @@ $background-color: hsla(0, 0%, 99%, 1); //#FDFDFD
$motion-blue-3: hsla(215, 60%, 50%, 1);//#3373CC
$ui-light-blue: hsla(195, 63%, 86%, 1); //#C5E7f2
$ui-cyan-blue: hsla(194, 73%, 36%, 1); //#19809F
/* UI Secondary Colors */
/* 3.0 colors */
/* Using www naming convention for now, should be consistent with gui */
@ -49,6 +52,7 @@ $ui-light-primary: hsl(215, 100%, 95%);
$ui-light-primary-transparent: hsla(215, 100%, 95%, 0);
$ui-border: hsla(0, 0%, 85%, 1); //#D9D9D9
$ui-border-light-blue: hsla(215, 50%, 90%, 1); //#D9E3F2
/* modals */
$ui-mint-green: hsl(163, 69%, 44%);

View file

@ -11,7 +11,7 @@ const AdminPanel = ({
onOpen,
onClose
}) => (
<div className={classNames('admin-panel', className, {hidden: !isOpen})}>
<div className={classNames('admin-panel', className, {collapsed: !isOpen})}>
{isOpen ? (
<React.Fragment>
<span

View file

@ -14,7 +14,7 @@
overflow: scroll;
text-shadow: none;
&.hidden {
&.collapsed {
width: 10px;
}

View file

@ -3,6 +3,8 @@ const connect = require('react-redux').connect;
const PropTypes = require('prop-types');
const React = require('react');
const classnames = require('classnames');
const navigationActions = require('../../redux/navigation.js');
const Video = require('../video/video.jsx');
@ -52,13 +54,8 @@ class Intro extends React.Component {
</FlexRow>
<FlexRow className="intro-video-container">
{this.state.videoOpen ?
{!this.state.videoOpen &&
(
<Video
className="intro-video"
videoId="joal01i8b1"
/>
) : (
<div
className="video-image"
onClick={this.handleShowVideo}
@ -75,6 +72,12 @@ class Intro extends React.Component {
</div>
)
}
<Video
className={classnames('intro-videos')}
videoId="joal01i8b1"
shouldPlay={this.state.videoOpen}
/>
</FlexRow>
</FlexRow>

View file

@ -21,10 +21,6 @@
}
}
.hidden{
visibility: hidden;
}
.navigation{
display: flex;
width: 100%;
@ -32,6 +28,10 @@
align-items: center;
margin-bottom: 40px;
.hidden{
visibility: hidden;
}
.dotRow{
display: flex;
justify-content: space-between;

View file

@ -12,7 +12,12 @@ class Video extends React.Component {
videoStarted: false
};
}
componentDidMount () {
if (!this.props.shouldPlay) {
return;
}
/**
uses code snippets from
https://github.com/mrdavidjcole/wistia-player-react/blob/master/src/components/wistia_embed.js
@ -35,7 +40,9 @@ class Video extends React.Component {
onReady: video => {
video.bind('play', () => {
this.setState({videoStarted: true});
this.props.onVideoStart();
if (this.props.onVideoStart) {
this.props.onVideoStart();
}
return video.unbind;
});
}
@ -43,6 +50,10 @@ class Video extends React.Component {
}
render () {
if (!this.props.shouldPlay) {
return null;
}
// Provide CSS classes for anything using the video component to configure what happens before and after
// the video has played for the first time. See VideoPreview for an example.
const videoStartedClass = this.state.videoStarted ? 'iframe-video-started' : 'iframe-video-not-started';
@ -53,26 +64,29 @@ class Video extends React.Component {
allowFullScreen
className={classNames('wistia_embed', `wistia_async_${this.props.videoId}`, videoStartedClass)}
frameBorder="0" // deprecated attribute
height={this.props.height}
scrolling="no" // deprecated attribute
src={`https://fast.wistia.net/embed/iframe/${this.props.videoId}?seo=false&videoFoam=true&autoplay=true`}
title={this.props.title}
width={this.props.width}
height={this.props.height}
/>
</div>
);
}
}
Video.defaultProps = {
height: '225',
title: '',
width: '400'
width: '400',
shouldPlay: true
};
Video.propTypes = {
className: PropTypes.string,
height: PropTypes.string.isRequired,
onVideoStart: PropTypes.func,
shouldPlay: PropTypes.bool.isRequired,
title: PropTypes.string.isRequired,
videoId: PropTypes.string.isRequired,
width: PropTypes.string.isRequired

View file

@ -18,54 +18,42 @@ const Welcome = props => (
moreTitle="x"
title={props.messages['welcome.welcomeToScratch']}
>
<div className="welcome-col blue">
<h4>
<a
href={
shouldDisplayOnboarding(props.user, props.permissions) ?
'/projects/editor/' :
'/projects/editor/?tutorial=getStarted'
}
>
{props.messages['welcome.learn']}
</a>
</h4>
<div className="welcome-options">
<a
id="welcome.explore"
className="welcome-option-button"
href="/starter-projects"
>
{props.messages['welcome.explore']}
<img
alt="Starter Projects"
src="/images/explore_starter_projects.svg"
/>
</a>
<a
id="welcome.community"
className="welcome-option-button"
href="/community_guidelines"
>
{props.messages['welcome.community']}
<img
alt="Community Guidelines"
src="/images/learn_about_the_community.svg"
/>
</a>
<a
id="welcome.create"
className="welcome-option-button"
href={
shouldDisplayOnboarding(props.user, props.permissions) ?
'/projects/editor/' :
'/projects/editor/?tutorial=getStarted'
}
>
{props.messages['welcome.create']}
<img
alt="Get Started"
src="/images/welcome-learn.png"
/>
</a>
</div>
<div className="welcome-col green">
<h4>
<a href="/starter_projects/">
{props.messages['welcome.tryOut']}
</a>
</h4>
<a href="/starter_projects/">
<img
alt="Starter Projects"
src="/images/welcome-try.png"
/>
</a>
</div>
<div className="welcome-col pink">
<h4>
<a href="/studios/146521/">
{props.messages['welcome.connect']}
</a>
</h4>
<a href="/studios/146521/">
<img
alt="Connect"
src="/images/welcome-connect.png"
src="/images/create_a_project.svg"
/>
</a>
</div>
@ -75,9 +63,9 @@ const Welcome = props => (
Welcome.propTypes = {
messages: PropTypes.shape({
'welcome.welcomeToScratch': PropTypes.string,
'welcome.learn': PropTypes.string,
'welcome.tryOut': PropTypes.string,
'welcome.connect': PropTypes.string
'welcome.explore': PropTypes.string,
'welcome.community': PropTypes.string,
'welcome.create': PropTypes.string
}),
onDismiss: PropTypes.func,
permissions: PropTypes.object,
@ -87,9 +75,9 @@ Welcome.propTypes = {
Welcome.defaultProps = {
messages: {
'welcome.welcomeToScratch': 'Welcome to Scratch!',
'welcome.learn': 'Learn how to make a project in Scratch',
'welcome.tryOut': 'Try out starter projects',
'welcome.connect': 'Connect with other Scratchers'
'welcome.explore': 'Explore Starter Projects',
'welcome.community': 'Learn about the community',
'welcome.create': 'Create a Project'
}
};

View file

@ -2,76 +2,48 @@
.welcome {
.box-content {
display: flex ;
flex-direction: column;
justify-content: center;
align-items: center;
flex: 1 1 100%;
padding: 0;
}
.welcome-col {
display: inline-block;
margin: 10px 15px;
width: 150px;
height: 253px;
h4 {
margin-top: 12px;
padding: 0;
font-weight: 200;
}
> a {
display: block;
margin-top: 20px;
margin-bottom: 35px;
height: 100px;
}
$color-bars: "h4:before, > a:after";
#{$color-bars} {
display: block;
margin: 10px 0;
border-radius: 5px;
.welcome-banner {
width: 100%;
height: 10px;
content: "";
font-size: 0.875rem;
font-weight: 500;
line-height: 1.125rem;
text-align: center;
color: $ui-cyan-blue;
background-color: $ui-light-blue;
padding: 0.625rem 0;
}
img {
display: block;
max-width: 133px;
max-height: 100px;
}
.welcome-options {
display: flex;
justify-content: center;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
&.blue {
#{$color-bars} {
background-color: $ui-blue;
}
padding: 1.5rem 0;
a {
color: $ui-blue;
}
.welcome-option-button {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 1rem;
img {
margin-left: 4px;
}
}
width: 10rem;
height: 13rem;
&.green {
#{$color-bars} {
background-color: $ui-aqua;
}
border: 1px solid $ui-border-light-blue;
border-radius: 20px;
a {
color: $ui-aqua;
}
}
&.pink {
#{$color-bars} {
background-color: $ui-purple;
}
a {
color: $ui-purple;
text-align: center;
}
}
}

View file

@ -8,14 +8,27 @@ const Button = require('../../../components/forms/button.jsx');
require('./donate-banner.scss');
const donateURL = 'https://www.scratchfoundation.org/donate';
const SCRATCH_CAMPAIGN_BANNER_END_TIME = new Date(2025, 0, 9).getTime(); // January 9, 2025 (months are zero indexed)
// This must be dynamic for our tests to work correctly
const isCampaignActive = () => Date.now() < SCRATCH_CAMPAIGN_BANNER_END_TIME;
const getDonateInfo = () => (isCampaignActive() ? {
bannerText: <FormattedMessage
id="donatebanner.eoyCampaign"
// values={{
// }}
/>,
buttonLink: 'https://www.scratchfoundation.org/donate?utm_source=SCRATCH&utm_medium=BANNER&utm_campaign=EOY_GIVING'
} : {
bannerText: <FormattedMessage id="donatebanner.askSupport" />,
buttonLink: 'https://www.scratchfoundation.org/donate'
});
const navigateToDonatePage = () => {
window.location = donateURL;
window.location = getDonateInfo().buttonLink;
};
const SCRATCH_CELBRATION_BANNER_END_TIME = new Date(2022, 4, 21).getTime(); // May 21 2022 (months are zero indexed)
// track clicks going out to the donate page from this banner
const captureOutboundLinkToDonate = () => {
window.dataLayer = window.dataLayer || [];
@ -36,28 +49,11 @@ const DonateTopBanner = ({
src="/images/ideas/try-it-icon.svg"
/>
<div className="donate-central-items">
{(Date.now() < SCRATCH_CELBRATION_BANNER_END_TIME) ?
(
<p className="donate-text">
<FormattedMessage
id="donatebanner.scratchWeek"
values={{
celebrationLink: (
<a href="https://sip.scratch.mit.edu/scratch-celebration/">
<FormattedMessage id="donatebanner.learnMore" />
</a>
)
}}
/>
</p>
) : (
<p className="donate-text">
<FormattedMessage id="donatebanner.askSupport" />
</p>
)}
<p className="donate-text">
{getDonateInfo().bannerText}
</p>
<Button
className="donate-button"
key="add-to-studio-button"
onClick={captureOutboundLinkToDonate}
>
<FormattedMessage id="general.donate" />
@ -67,7 +63,6 @@ const DonateTopBanner = ({
<Button
isCloseType
className="donate-close-button"
key="closeButton"
name="closeButton"
type="button"
onClick={onRequestClose}

View file

@ -30,6 +30,7 @@
"news.scratchNews": "Scratch News",
"donatebanner.askSupport": "Scratch is the world's largest free coding community for kids. Your support makes a difference.",
"donatebanner.eoyCampaign": "Scratch is a nonprofit that relies on donations to keep our platform free for all kids. Your gift of $5 will make a difference.",
"donatebanner.scratchWeek": "May 19-20 is Scratchs 15th Anniversary! {celebrationLink}. Donate to support creative coding worldwide.",
"donatebanner.learnMore": "Learn more",
@ -51,9 +52,9 @@
"hocbanner.animateACharacter": "Animate a Character",
"welcome.welcomeToScratch": "Welcome to Scratch!",
"welcome.learn": "Learn how to make a project in Scratch",
"welcome.tryOut": "Try out starter projects",
"welcome.connect": "Connect with other Scratchers",
"welcome.explore": "Explore Starter Projects",
"welcome.community": "Learn about the community",
"welcome.create": "Create a Project",
"activity.seeUpdates": "This is where you will see updates from Scratchers you follow",
"activity.checkOutScratchers": "Check out some Scratchers you might like to follow",

View file

@ -335,9 +335,9 @@ class SplashPresentation extends React.Component { // eslint-disable-line react/
'general.viewAll': formatMessage({id: 'general.viewAll'}),
'news.scratchNews': formatMessage({id: 'news.scratchNews'}),
'welcome.welcomeToScratch': formatMessage({id: 'welcome.welcomeToScratch'}),
'welcome.learn': formatMessage({id: 'welcome.learn'}),
'welcome.tryOut': formatMessage({id: 'welcome.tryOut'}),
'welcome.connect': formatMessage({id: 'welcome.connect'}),
'welcome.explore': formatMessage({id: 'welcome.explore'}),
'welcome.community': formatMessage({id: 'welcome.community'}),
'welcome.create': formatMessage({id: 'welcome.create'}),
'intro.aboutScratch': formatMessage({id: 'intro.aboutScratch'}),
'intro.forEducators': formatMessage({id: 'intro.forEducators'}),
'intro.forParents': formatMessage({id: 'intro.forParents'}),

View file

@ -33,6 +33,11 @@
}
}
.box.welcome {
display: flex;
flex-direction: column;
}
.news {
width: 40%;

View file

@ -0,0 +1,46 @@
<svg width="119" height="101" viewBox="0 0 119 101" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M30.7745 91.7526C50.5099 98.0145 53.57 98.4372 82.0745 91.0708C89.6509 89.1123 107.48 86.4019 115.459 64.3897C120.661 50.0391 113.329 17.8268 85.1089 13.7824C67.6263 11.2781 56.3024 5.00132 28.5431 13.347C0.783839 21.6905 2.94026 85.8454 30.7745 91.7526Z" fill="#AEDDD2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 23.7639C0.0085657 23.7405 3.05796 15.2631 17.5704 10.1419C32.085 5.02273 39.8434 9.68943 39.8669 9.70217L67.093 0.101138C68.0117 -0.221728 69.0181 0.254075 69.3458 1.1632L76.4125 20.8793C76.738 21.7884 76.2604 22.7889 75.3418 23.1139L29.8429 39.1595L28.8707 39.5036C28.4296 39.6587 28.0698 39.9815 27.8685 40.4L26.3545 43.5586C26.1532 43.977 25.7935 44.2999 25.3523 44.4549L20.0844 46.3135C19.6433 46.4686 19.1593 46.4452 18.7375 46.2456L15.5532 44.7438C15.1313 44.5442 14.6473 44.5208 14.2062 44.6759L13.234 45.02L9.91052 46.1925C8.99399 46.5153 7.98538 46.0417 7.65988 45.1304L0 23.7639Z" fill="#F9A11B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M31.676 23.7594C32.3035 23.205 33.3678 23.1498 34.053 23.6362C34.7361 24.1227 35.8026 24.0674 36.43 23.513L36.6013 26.6928C35.9717 27.2472 34.9074 27.3046 34.2243 26.816C33.5412 26.3296 32.4769 26.3848 31.8473 26.9392L31.676 23.7594Z" fill="#2EAC4D"/>
<path d="M35.3185 27.2897C34.8945 27.2897 34.4727 27.1729 34.1365 26.9329C33.5047 26.4847 32.5218 26.5357 31.9415 27.0476C31.8987 27.0837 31.8387 27.0943 31.7873 27.0731C31.7359 27.0518 31.7017 27.003 31.6974 26.9477L31.5261 23.7679C31.5239 23.7233 31.541 23.6808 31.5753 23.6511C32.2499 23.0542 33.3998 22.9947 34.1343 23.5173C34.766 23.9655 35.7489 23.9145 36.3293 23.4026C36.3721 23.3665 36.4299 23.3558 36.4835 23.3771C36.5349 23.3983 36.5691 23.4472 36.5734 23.5024L36.7447 26.6822C36.7469 26.7268 36.7297 26.7693 36.6955 26.799C36.3293 27.124 35.8218 27.2897 35.3185 27.2897ZM33.1236 26.3424C33.5476 26.3424 33.9694 26.4592 34.3056 26.6992C34.9181 27.1347 35.8624 27.0986 36.4471 26.6291L36.295 23.7934C35.6098 24.2246 34.6226 24.2246 33.9651 23.7552C33.3527 23.3197 32.4083 23.3558 31.8237 23.8253L31.9758 26.661C32.3098 26.4507 32.7188 26.3424 33.1236 26.3424Z" fill="#0A8241"/>
<path d="M31.9179 28.4898C31.8023 28.4898 31.7059 28.4006 31.6995 28.2838L31.4361 23.3813C31.4297 23.2624 31.5218 23.1583 31.6438 23.1519C31.7573 23.1477 31.8687 23.2369 31.8751 23.358L32.1385 28.2604C32.1449 28.3794 32.0528 28.4835 31.9308 28.4898C31.9265 28.4898 31.9222 28.4898 31.9179 28.4898Z" fill="#0A8241"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M41.1776 22.982L39.8821 24.4094L39.9849 26.3275L41.426 27.6126L43.3598 27.5128L44.6553 26.0854L44.5525 24.1673L43.1114 22.8822L41.1776 22.982Z" fill="#E7555B"/>
<path d="M41.4259 27.757C41.3895 27.757 41.3552 27.7443 41.3274 27.7188L39.8862 26.4337C39.8584 26.4082 39.8391 26.3721 39.8391 26.3339L39.7363 24.4158C39.7363 24.3775 39.747 24.3393 39.7727 24.3117L41.0683 22.8843C41.094 22.8567 41.1304 22.8376 41.1689 22.8354L43.1026 22.7356C43.1412 22.7356 43.1797 22.7462 43.2076 22.7717L44.6488 24.0568C44.6766 24.0823 44.6959 24.1184 44.6959 24.1566L44.7987 26.0747C44.7987 26.113 44.788 26.1512 44.7623 26.1788L43.4667 27.6062C43.441 27.6338 43.4046 27.6529 43.366 27.6551L41.4323 27.7549C41.4323 27.7549 41.4281 27.7549 41.4238 27.7549L41.4259 27.757ZM40.1282 26.2595L41.4794 27.4639L43.2932 27.3704L44.5074 26.0322L44.4111 24.2331L43.0598 23.0287L41.246 23.1243L40.0318 24.4625L40.1282 26.2616V26.2595Z" fill="#961A1D"/>
<path d="M36.0316 29.4648L100.589 26.4953C101.878 26.4358 102.979 27.2982 103.048 28.4197L105.579 70.0717C105.647 71.1932 104.658 72.1512 103.367 72.2107L38.809 75.1802C37.5199 75.2397 36.4192 74.3773 36.3507 73.2557L33.8195 31.6038C33.751 30.4823 34.7403 29.5243 36.0316 29.4648Z" fill="white"/>
<g opacity="0.5">
<path d="M117.507 73.5467C116.312 74.2328 115.065 75.0527 113.271 73.8016C111.474 72.5505 111.234 70.9489 112.076 69.7615C112.915 68.5763 114.018 68.5444 116.312 69.5067C118.607 70.4668 118.704 72.8585 117.507 73.5467Z" fill="#5178BB"/>
</g>
<g opacity="0.5">
<path d="M85.1429 93.7663C86.2414 93.9935 87.4406 94.1677 87.8432 95.8883C88.2458 97.6088 87.5156 98.707 86.3614 98.9725C85.205 99.238 84.524 98.6645 83.661 96.8505C82.798 95.0365 84.0465 93.539 85.1429 93.7663Z" fill="#5178BB"/>
</g>
<g opacity="0.5">
<path d="M87.9653 69.5768C86.9503 70.1609 85.8924 70.8555 84.3677 69.7934C82.843 68.7314 82.6396 67.3698 83.3527 66.363C84.0658 65.3561 85.0016 65.3306 86.9503 66.1463C88.899 66.962 88.9803 68.9926 87.9653 69.5768Z" fill="#5178BB"/>
</g>
<g opacity="0.5">
<path d="M63.521 56.6408C52.4541 48.977 40.0981 54.4339 35.3035 58.1214L36.1301 73.6105C36.1836 74.6173 37.0509 75.3905 38.0659 75.3374L54.1716 74.4835C54.4135 74.4707 54.6512 74.4941 54.8847 74.5578C65.9687 77.5443 87.9633 84.6814 89.9741 90.5525C92.5116 97.9678 115.042 110.292 112.971 89.5265C110.9 68.7611 96.1478 69.3941 100.317 68.3044C102.157 67.8244 112.395 71.2718 107.679 64.653C103.127 58.2658 93.5759 57.4353 89.9741 58.5058C85.7683 61.0781 74.5879 64.3068 63.521 56.643V56.6408Z" fill="#5178BB"/>
</g>
<g opacity="0.25">
<path d="M51.0859 61.1121C42.4367 59.9247 37.5135 67.236 36.1323 71.0382L36.4835 73.6891C36.6099 74.6385 37.4536 75.3289 38.4172 75.2737L54.3066 74.3475C78.5989 80.1889 88.2011 86.8225 89.9635 89.4076C89.9249 91.5763 92.242 96.7549 101.812 100.132C111.382 103.51 113.391 95.8352 113.2 91.5742C111.896 92.1838 107.656 92.3728 101.122 88.2648C92.955 83.1308 103.309 76.8561 99.0517 71.036C94.7967 65.2159 85.8241 70.0101 75.8172 71.036C65.8103 72.062 61.9001 62.5926 51.0859 61.11V61.1121Z" fill="#5178BB"/>
</g>
<g opacity="0.5">
<path d="M75.7872 97.8255C70.5835 97.2286 72.1938 92.6299 67.2493 87.7295C62.3069 82.8313 54.4864 80.5691 56.1032 78.9633C57.7199 77.3595 67.5748 78.6892 72.5193 83.5875C80.0357 91.6209 80.9908 98.4202 75.7872 97.8233V97.8255Z" fill="#5178BB"/>
</g>
<path d="M68.3971 60.3942C68.1166 60.3942 67.8704 60.1945 67.8211 59.912C67.7676 59.5955 67.9817 59.296 68.2986 59.2429C69.1317 59.1027 69.9882 58.0045 70.4765 57.1294L63.3627 52.3331C63.095 52.1526 63.0265 51.7936 63.2085 51.5281C63.3905 51.2626 63.7524 51.1946 64.0201 51.3752L71.5579 56.4582C71.7935 56.6175 71.8791 56.9191 71.7613 57.1761C71.2731 58.2467 70.0353 60.1287 68.4935 60.3878C68.4614 60.3942 68.4271 60.3963 68.395 60.3963L68.3971 60.3942Z" fill="#565E77"/>
<path d="M76.6503 55.0393C75.8258 55.0393 75.0271 54.5061 74.1834 53.9432C73.6437 53.5842 73.087 53.2125 72.5088 52.9661C71.4852 52.5286 70.2431 51.9635 69.4701 51.6046L67.4893 54.2279C67.2965 54.4849 66.9304 54.5359 66.6712 54.3447C66.4121 54.1535 66.3607 53.7903 66.5535 53.5333L68.8212 50.5319L71.0869 47.5305C71.1897 47.3946 71.346 47.3096 71.5173 47.299C71.6886 47.2883 71.8556 47.3521 71.9734 47.4731C72.4424 47.9532 74.0849 49.6461 75.4854 51.2753C77.539 53.665 77.584 54.1684 77.4319 54.5762C77.3355 54.8354 77.1043 55.0053 76.8152 55.0308C76.7595 55.035 76.706 55.0371 76.6503 55.0371V55.0393ZM70.1875 50.6572C70.9562 51.0119 72.0527 51.509 72.9713 51.9019C73.6502 52.1908 74.2797 52.6114 74.8365 52.9831C75.207 53.2295 75.5667 53.4695 75.8944 53.6395C75.1556 52.6156 73.5324 50.7634 71.6115 48.771L70.1875 50.6572Z" fill="#565E77"/>
<path d="M62.0927 56.5028C61.885 56.5028 61.6815 56.3923 61.5766 56.1969C60.4952 54.1939 61.9385 52.0379 62.8529 51.1776C63.0863 50.9567 63.4568 50.9673 63.6795 51.1989C63.9022 51.4304 63.8915 51.7979 63.6581 52.0188C62.9664 52.6688 61.8593 54.264 62.6066 55.6489C62.7587 55.9314 62.6516 56.2819 62.3668 56.4327C62.279 56.4794 62.1848 56.5007 62.0905 56.5007L62.0927 56.5028Z" fill="#565E77"/>
<path d="M45.9014 51.7192C45.6594 51.7192 45.4195 51.6215 45.2461 51.4261C43.6315 49.6206 42.0061 47.5666 40.9011 45.931C38.6484 42.5983 38.7233 41.3641 39.0424 40.6632C39.2073 40.3 39.6527 39.6882 40.7876 39.6882C42.5757 39.6882 44.1947 41.0137 45.6016 43.6263C46.9421 46.1158 47.6081 48.8644 47.7815 49.6482C47.8843 50.1177 47.5845 50.5807 47.1134 50.6827C46.9956 50.7082 46.8779 50.7082 46.7644 50.689C46.8179 50.9801 46.7237 51.2902 46.4838 51.4983C46.3168 51.6449 46.1091 51.7171 45.9014 51.7171V51.7192ZM40.6313 41.4406C40.5649 42.1437 42.0083 45.0622 45.972 49.61C45.6123 48.1295 44.9484 46.1094 44.0533 44.4463C43.3124 43.0698 42.1432 41.4279 40.7876 41.4279C40.717 41.4279 40.6656 41.4321 40.6313 41.4385V41.4406Z" fill="#0275BB"/>
<path d="M50.2851 50.124C49.9039 50.124 49.5634 49.8776 49.4478 49.5144C48.6362 46.9442 47.9167 44.1213 47.5205 41.9653C46.7175 37.5853 47.2914 36.4234 47.8824 35.8988C48.1693 35.6439 48.7946 35.2828 49.7626 35.7055C53.9683 37.5407 51.4393 48.2484 51.1374 49.4634C51.0431 49.8415 50.7069 50.1113 50.3129 50.124C50.3043 50.124 50.2958 50.124 50.2851 50.124ZM49.0109 37.2773C48.8974 37.5598 48.6683 38.59 49.2765 41.8166C49.4863 42.9296 49.784 44.2232 50.133 45.5593C50.8247 40.916 50.2422 37.8126 49.0559 37.2943C49.0388 37.288 49.0259 37.2816 49.0109 37.2773Z" fill="#0275BB"/>
<path d="M53.7925 48.8198C53.7582 48.8198 53.7261 48.8198 53.6918 48.8134C53.21 48.7582 52.8653 48.327 52.9209 47.8512C53.0087 47.1014 53.3728 44.4675 54.4157 42.08C55.8012 38.9065 57.5421 38.2417 58.7606 38.2417C59.2446 38.2417 59.6364 38.6304 59.6364 39.1105C59.6364 39.5905 59.2446 39.9792 58.7606 39.9792C56.5785 39.9792 55.0517 44.699 54.6641 48.0488C54.6127 48.4927 54.2336 48.8198 53.7946 48.8198H53.7925Z" fill="#0275BB"/>
<path d="M56.2995 48.4222C57.2861 47.7035 57.8113 46.75 57.4725 46.2923C57.1337 45.8347 56.0592 46.0462 55.0726 46.7649C54.086 47.4835 53.5608 48.4371 53.8996 48.8947C54.2384 49.3524 55.3129 49.1408 56.2995 48.4222Z" fill="#4172B7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M55.8592 47.5708C55.3089 46.8295 55.371 45.7738 56.1205 45.2279L56.718 44.7925C56.7115 43.8685 57.1377 42.9551 57.945 42.3667L63.5769 38.2629C64.9153 37.2879 66.7976 37.5747 67.7806 38.9023C68.7635 40.2298 68.4765 42.097 67.136 43.0719L61.504 47.1757C60.6967 47.7641 59.6903 47.8937 58.8037 47.6112L58.2298 48.0296C57.4696 48.584 56.4203 48.3228 55.8614 47.5687L55.8592 47.5708Z" fill="#4172B7"/>
<path d="M64.335 36.7888C63.941 37.0755 63.8853 37.6406 64.213 38.0038C64.7183 38.5645 65.425 39.3717 65.909 40.0174C66.4422 40.729 67.0696 41.7359 67.4872 42.4304C67.7377 42.8468 68.2967 42.9636 68.6928 42.6768L91.0943 26.3572C92.7325 25.1635 93.0858 22.8779 91.8823 21.2529C90.6788 19.628 88.3747 19.2775 86.7365 20.4713L64.3372 36.7888H64.335Z" fill="white"/>
<path d="M86.6058 20.1038C86.2097 20.3927 86.1561 20.9598 86.4859 21.3209C87.062 21.9539 87.9143 22.9161 88.4839 23.6872C89.0535 24.4561 89.7259 25.55 90.1606 26.2871C90.409 26.7077 90.9722 26.8266 91.3684 26.5378L103.489 17.7078C105.425 16.2974 106.47 13.9821 106.243 11.6115C106.196 11.1166 105.877 10.6854 105.414 10.4921C103.202 9.56814 100.66 9.86339 98.7263 11.2738L86.6058 20.1038Z" fill="#4172B7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M98.602 11.3651L97.9381 10.4666L97.7176 10.1671C97.7176 10.1671 94.3341 11.8346 92.4582 13.3087C90.5524 14.8062 88.0854 17.7609 88.0854 17.7609L88.5287 18.3599C88.5287 18.3599 91.0834 15.4498 93.0107 13.9438C94.3298 12.9115 96.3728 11.7432 97.4456 11.1527L97.9531 11.8388L98.6041 11.3651H98.602Z" fill="#4172B7"/>
<g opacity="0.5">
<path d="M74.3933 34.482C74.3162 34.482 74.2369 34.4713 74.1598 34.448C73.7273 34.3205 73.481 33.8681 73.6095 33.439C73.8579 32.6085 74.4511 31.5719 75.3697 31.1513C75.9479 30.8858 76.5797 30.8901 77.2007 31.162C77.5005 31.2937 77.6739 31.3383 77.7639 31.3553C77.8217 31.2406 77.8966 31.0345 77.9523 30.8752C78.0422 30.6246 78.145 30.3399 78.2928 30.0213C78.357 29.8832 78.4191 29.7388 78.4812 29.5922C78.8967 28.6321 79.3656 27.5467 80.4342 27.3577C81.173 27.2281 81.9418 27.5956 82.7855 28.4834C82.7855 28.4834 82.7898 28.4877 82.7919 28.4898C82.9825 27.9503 83.1538 26.6588 83.0767 24.9489C83.0575 24.5007 83.4065 24.1226 83.8584 24.1035C84.3145 24.0801 84.6914 24.4306 84.7106 24.8788C84.8049 27.0008 84.6528 29.6432 83.3894 30.1721C82.9825 30.3421 82.3379 30.3824 81.5927 29.5986C80.9824 28.955 80.719 28.955 80.7169 28.9571C80.5049 29.0251 80.1516 29.8408 79.9824 30.2337C79.9139 30.3909 79.8453 30.5481 79.7768 30.6989C79.659 30.9559 79.5712 31.196 79.4877 31.4275C79.2779 32.0074 79.0616 32.6064 78.4341 32.874C77.8131 33.1374 77.1257 32.9101 76.5347 32.651C76.2948 32.5469 76.1557 32.5809 76.0507 32.6297C75.6738 32.8018 75.3226 33.4029 75.1727 33.9085C75.0678 34.2611 74.7423 34.4883 74.389 34.4883L74.3933 34.482Z" fill="#628EC9"/>
</g>
<path d="M43.2203 68.914L41.2245 68.6166C40.777 68.5487 40.4151 68.2216 40.3037 67.7861C40.0253 66.6752 39.5778 65.6195 38.9718 64.653C38.7341 64.2707 38.7512 63.7843 39.0146 63.4189L40.1902 61.7961L38.0809 59.7336L36.462 60.9209C36.098 61.1865 35.6076 61.212 35.2178 60.9804C34.2349 60.3942 33.1664 59.963 32.0421 59.7017C31.601 59.5997 31.2669 59.2429 31.192 58.7989L30.8665 56.8256L27.9049 56.8448L27.6051 58.8223C27.5365 59.2663 27.2068 59.6274 26.7678 59.7357C25.6478 60.0139 24.5835 60.4579 23.6092 61.0569C23.2237 61.2927 22.7333 61.2757 22.365 61.0144L20.729 59.8483L18.6496 61.9384L19.8467 63.5464C20.1165 63.9075 20.1401 64.3939 19.9066 64.7805C19.3156 65.7555 18.8809 66.8154 18.6175 67.9306C18.5126 68.3681 18.155 68.6995 17.7074 68.7738L15.718 69.0967L15.7373 72.0344L17.731 72.3317C18.1785 72.3976 18.5426 72.7247 18.6518 73.1623C18.9302 74.2753 19.3799 75.3289 19.9837 76.2953C20.2214 76.6777 20.2043 77.1641 19.9409 77.5295L18.7653 79.1523L20.8724 81.2148L22.4913 80.0274C22.8554 79.7619 23.3458 79.7364 23.7355 79.968C24.7184 80.5542 25.787 80.9854 26.9112 81.2467C27.3524 81.3486 27.6864 81.7055 27.7614 82.1473L28.0869 84.1206L31.0485 84.1015L31.3461 82.1239C31.4147 81.68 31.7444 81.3189 32.1834 81.2106C33.3055 80.9323 34.3677 80.4884 35.342 79.8894C35.7275 79.6515 36.2179 79.6685 36.5862 79.9318L38.2223 81.098L40.3037 79.0078L39.1067 77.3999C38.839 77.0388 38.8154 76.5524 39.0467 76.1679C39.6377 75.1929 40.0724 74.133 40.3358 73.0178C40.4408 72.5803 40.8005 72.2489 41.246 72.1767L43.2375 71.8538L43.2182 68.9161L43.2203 68.914ZM29.5259 77.162C25.8084 77.1875 22.7633 74.2073 22.7376 70.5177C22.7119 66.8303 25.7163 63.8098 29.436 63.7843C33.1535 63.7588 36.2008 66.7389 36.2243 70.4285C36.25 74.116 33.2434 77.1365 29.5259 77.162Z" fill="#4172B8"/>
<g opacity="0.1">
<path d="M61.5123 47.1694L67.1443 43.0656C67.3327 42.9275 67.4998 42.7703 67.6454 42.6025C67.9302 42.8659 68.3713 42.9105 68.7011 42.6705L90.6807 26.6589C90.912 26.7183 91.1689 26.6844 91.3788 26.5314L103.499 17.7014C105.343 16.3569 106.377 14.1924 106.275 11.9387L105.718 11.1868C105.621 12.1171 105.114 14.1839 103.846 15.0144C102.262 16.051 60.6472 46.3665 58.9191 46.9209C57.191 47.4753 56.283 47.5496 56.1716 47.3988L56.7841 48.2251C57.2659 48.3865 57.8013 48.3419 58.2402 48.0233L58.8141 47.6048C59.7007 47.8873 60.7072 47.7578 61.5145 47.1694H61.5123Z" fill="black"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1,35 @@
<svg width="133" height="101" viewBox="0 0 133 101" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M81.5883 99C73.5813 98.6613 70.7914 99.611 47.3318 94.8072C39.6741 93.2376 33.4467 91.2785 28.3489 88.9983C12.2309 81.7838 7.39839 71.3837 4.38967 60.1512C0.419318 45.3723 4.63727 9.57619 43.4676 15.9938C61.0358 18.8982 84.9529 8.74825 113.07 18.668C141.188 28.5877 127.522 97.3065 81.5883 99Z" fill="#FDDDCC"/>
<path d="M103.83 97.9109C103.83 97.9109 78.5883 99.9829 62.3112 90.3886C46.0341 80.7943 19.7471 82.6781 19.7471 82.6781L13.345 81.04L31.9941 14.8847C31.9941 14.8847 56.1213 15.2212 73.1855 22.3472C90.2474 29.4732 116.077 30.1174 116.077 30.1174L103.83 97.9109Z" fill="#8CD0BE"/>
<path d="M102.959 97.1383C102.959 97.1383 77.5936 99.1904 61.2281 89.5784C44.8625 79.9663 18.4473 81.8281 18.4473 81.8281L30.701 14.0059C30.701 14.0059 54.9498 14.3623 72.1023 21.506C89.2549 28.6497 115.212 29.3161 115.212 29.3161L102.961 97.1361L102.959 97.1383Z" fill="#F1F9F7"/>
<path d="M40.9142 18.6371C42.241 15.4689 39.3688 11.2428 34.4992 9.19795C29.6295 7.1531 24.6064 8.0638 23.2797 11.2321C21.953 14.4003 24.8251 18.6264 29.6947 20.6712C34.5644 22.7161 39.5875 21.8054 40.9142 18.6371Z" fill="#8BCFBD"/>
<path d="M41.2434 17.4881L23.0363 78.3879L5.40405 70.9852L23.4961 11.4468L41.2434 17.4881Z" fill="#8BCFBD"/>
<path d="M23.0368 78.3947C24.3635 75.2264 21.4914 71.0004 16.6218 68.9555C11.7521 66.9107 6.72895 67.8214 5.40224 70.9897C4.07552 74.1579 6.94763 78.384 11.8173 80.4288C16.6869 82.4737 21.7101 81.563 23.0368 78.3947Z" fill="#AEDCD1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7678 80.5818C13.4002 80.5087 10.7363 79.2712 9.08716 77.5157C7.26336 75.6739 6.95165 73.8741 6.8787 73.1325C6.85881 72.7296 6.83891 72.329 6.93618 71.9061L6.91628 71.5032C6.95165 71.2088 7.34073 71.0848 7.72318 71.1955C8.10562 71.3062 8.36427 71.6693 8.32669 71.9637L8.25816 72.3223C8.22279 72.6167 8.24268 73.0196 8.29353 73.3583C8.31342 73.7612 8.51459 75.3485 10.135 76.9335C11.2912 78.1312 13.4245 79.3421 15.5534 79.455C17.6513 79.6298 19.4508 78.6381 19.9592 77.1638C20.4367 75.7536 19.884 73.9915 18.4338 72.7252C17.1583 71.5453 15.4229 71.0804 14.3264 71.087C12.9934 71.1335 12.2993 71.6538 12.0561 71.9261C12.0251 71.988 11.121 72.7186 11.3 73.9029C11.3774 74.4121 11.6869 75.1138 12.3523 75.7558C13.0752 76.5041 14.2468 77.0066 15.1377 76.9756C16.1149 76.9889 16.8952 76.5107 17.0301 75.7957C17.1649 75.0806 16.7361 74.3966 16.2718 74.0114C15.7192 73.5819 15.1002 73.5111 14.8614 73.5487C14.3861 73.6262 14.2933 73.8166 14.2933 73.8166L14.2004 74.0047C14.227 74.1752 14.2513 74.3435 14.3087 74.4497L14.5718 74.5803C14.9543 74.691 15.2439 74.9899 15.3257 75.2666C15.2903 75.561 14.9896 75.727 14.6647 75.7226C14.0766 75.5876 13.5792 75.2644 13.3471 75.0718C12.7679 74.4718 12.8165 73.7125 12.8475 73.6483L12.9094 73.5222L13.0641 73.2078C13.2498 72.8293 13.7008 72.5813 14.2955 72.4839C15.0095 72.3666 16.1303 72.5282 17.0588 73.3008C18.1067 74.0535 18.6704 75.3507 18.4095 76.3203C18.2061 77.3962 16.9461 78.1821 15.4362 78.1422C14.1032 78.1887 12.3722 77.4914 11.3597 76.4421C10.0842 75.2622 9.9051 74.0778 9.85205 73.7391C9.56466 72.1076 10.8314 71.087 10.8623 71.0251C11.1364 70.6908 12.0406 69.9625 13.9064 69.9425C15.2394 69.8961 17.5076 70.3897 19.3048 72.0611C21.1331 73.6705 21.9687 75.9639 21.3055 77.7526L21.1198 78.1312C20.3129 79.7693 18.1885 80.7566 15.7634 80.5795L15.7678 80.5818Z" fill="#078E69"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M55.6969 56.9811L56.3358 57.1095L82.3023 62.3494C83.0671 62.5044 83.5601 63.2482 83.4054 64.0141L80.5249 78.182C80.3679 78.948 79.6229 79.4439 78.858 79.2889L52.8916 74.049L52.2549 73.9206C51.7553 73.8188 51.2358 73.9206 50.8113 74.204L48.7267 75.5898C48.3022 75.8709 47.7827 75.9727 47.2831 75.8731L43.1713 75.043C42.6717 74.9433 42.234 74.6467 41.9532 74.2217L40.5737 72.1385C40.293 71.7135 39.8531 71.4191 39.3557 71.3173L38.7168 71.1889L35.8473 70.6089C35.0825 70.4539 34.5895 69.7079 34.7442 68.9441L37.6247 54.7762C37.7795 54.0103 38.5267 53.5144 39.2916 53.6694L42.1588 54.2471L42.7977 54.3755C43.2973 54.4774 43.735 54.7718 44.0158 55.1968L45.3952 57.2822C45.676 57.7072 46.1159 58.0016 46.6133 58.1035L50.7251 58.9336C51.2247 59.0355 51.7442 58.9336 52.1687 58.6503L54.2533 57.2645C54.6778 56.9811 55.1973 56.8793 55.6969 56.9811Z" fill="#F37621"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M43.4875 34.8969C43.5007 34.8858 48.1056 30.9188 58.2547 32.7297C68.4039 34.5405 71.3595 39.8534 71.3662 39.8689L90.4066 43.2648C91.0477 43.3799 91.4766 43.9931 91.3616 44.6351L88.8857 58.5551C88.7707 59.1971 88.1584 59.6265 87.5173 59.5114L55.6992 53.8376L55.0183 53.7159C54.711 53.6605 54.3927 53.7314 54.1362 53.9107L52.1997 55.2633C51.9433 55.4426 51.6249 55.5134 51.3176 55.4581L47.6325 54.8006C47.3252 54.7452 47.0511 54.5704 46.872 54.3136L45.5213 52.3765C45.3422 52.1198 45.0681 51.9449 44.7608 51.8895L44.0799 51.7678L41.7565 51.3538C41.1154 51.2387 40.6888 50.6255 40.8015 49.9835L43.483 34.9013L43.4875 34.8969Z" fill="#F9A11B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M52.1905 4.01086C54.253 3.08774 56.6715 2.78667 59.1629 3.14972C62.2114 3.59247 63.0869 4.75689 65.4987 6.89536C67.4706 8.61322 67.7624 9.512 70.2141 9.86841C72.6679 10.2248 73.4394 9.60054 75.3163 8.44276C75.6633 8.21032 76.174 8.22582 76.6228 8.46933C77.0715 8.71284 77.3567 9.12681 77.37 9.5607L77.8806 25.0015C77.8917 25.3158 77.748 25.5926 77.4827 25.763C75.1748 27.1997 73.8285 27.9347 70.7977 27.4942C67.7469 27.0492 66.8892 25.8737 64.4619 23.7485C62.4878 22.0174 62.1982 21.1164 59.7443 20.76C57.4784 20.4301 54.5758 21.3223 52.794 22.314L52.1794 3.74743" fill="#54B857"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M55.628 3.08774L56.2205 21.0146C54.9383 21.3178 53.7158 21.8049 52.7918 22.3162L52.186 4.01087C53.2494 3.53491 54.4122 3.22499 55.6258 3.08774H55.628Z" fill="#221F1F" fill-opacity="0.15"/>
<path d="M54.7329 39.1872L52.1531 3.86707" stroke="#CA9468" stroke-width="6.19" stroke-linecap="round" stroke-linejoin="round"/>
<mask id="mask0_2346_575" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="8" y="10" width="121" height="86">
<path d="M98.5571 95.6351C93.183 94.9555 89.6658 94.7231 86.8119 94.6478C78.869 94.4441 76.1189 95.427 52.7809 91.0549C45.1607 89.6271 38.9554 87.7897 33.862 85.6158C17.7573 78.7377 12.79 68.5257 9.61546 57.4615C5.43067 42.9018 9.00089 7.41338 47.6057 13.1337C65.0722 15.7215 88.6091 5.29262 116.654 14.6501C144.698 24.0075 118.924 98.2075 98.5594 95.6351H98.5571Z" fill="white"/>
</mask>
<g mask="url(#mask0_2346_575)">
<path d="M90.0217 31.0915L91.2663 45.3214L96.0767 44.9096L95.2433 35.4968C95.0377 32.8381 92.6922 30.859 90.0217 31.0893V31.0915Z" fill="#939598"/>
<path d="M91.8366 55.4891L91.9516 56.8262C91.7062 56.9966 91.4851 57.1826 91.2862 57.384C89.2789 59.3786 88.9716 62.4623 90.6959 64.7292C93.0083 67.7155 97.2373 67.6845 99.5032 64.9948C101.508 62.5996 101.183 59.0665 98.8157 57.0719C98.4531 56.7664 98.0597 56.5074 97.644 56.3325L97.5291 54.9954C97.4871 54.504 97.0339 54.1365 96.5409 54.1785L92.6745 54.515C92.1594 54.5416 91.7946 54.9954 91.8344 55.4891H91.8366ZM93.2492 59.7394C94.1645 58.6503 95.7915 58.4953 96.8792 59.4118C97.9668 60.3283 98.1215 61.9576 97.2063 63.0468C96.2911 64.1359 94.642 64.2754 93.5543 63.3589C92.4667 62.4424 92.3274 60.791 93.2515 59.7394H93.2492Z" fill="#E96024"/>
<path d="M75.9046 48.166L75.92 48.3431C76.1499 50.9177 78.4026 52.8348 80.9714 52.6046L97.2242 51.1767C97.6774 51.1435 97.9979 50.7583 97.9493 50.3266L97.6619 47.0835C97.6288 46.6297 97.2441 46.3087 96.813 46.3574L75.9023 48.1638L75.9046 48.166ZM93.4948 48.5844C93.7689 48.2679 94.2376 48.2103 94.5537 48.487C94.8698 48.7615 94.9273 49.2308 94.651 49.5474C94.3769 49.864 93.9082 49.9215 93.5921 49.6448C93.276 49.3703 93.2185 48.901 93.4948 48.5844Z" fill="#939598"/>
<path d="M99.249 46.6385L99.585 50.5104C99.627 51.0018 100.08 51.3693 100.573 51.3272L101.908 51.2121C102.165 51.5796 102.496 51.9316 102.859 52.2371C105.251 54.2449 108.779 53.9195 110.771 51.5486C113.021 48.8833 112.314 44.6683 108.98 42.9328C106.471 41.6089 103.48 42.4258 101.866 44.779C101.714 45.0114 101.546 45.266 101.44 45.5272L100.105 45.6424C99.6138 45.6844 99.2623 46.1161 99.2512 46.6385H99.249ZM104.499 46.3176C105.415 45.2284 107.042 45.0734 108.129 45.9899C109.217 46.9064 109.372 48.5357 108.456 49.6249C107.541 50.714 105.892 50.8535 104.804 49.937C103.717 49.0205 103.578 47.3691 104.502 46.3176H104.499Z" fill="#E96024"/>
<path d="M115.044 54.0701C110.897 50.9022 109.814 49.2242 108.987 47.1543C107.601 43.7186 103.051 45.6955 104.037 48.735C104.984 51.6814 103.891 52.7861 102.07 52.682C98.0465 52.4496 96.0326 51.9847 93.0659 52.7175C89.3785 53.6362 90.9392 57.0564 92.5751 56.9413C97.003 56.6092 98.2786 56.7863 99.028 57.612C99.6138 58.2319 99.3287 59.2701 96.2868 58.958C93.046 58.6458 92.4093 62.9383 95.5838 63.8061C97.5756 64.3573 98.8136 63.381 99.3154 65.2384C99.3154 65.2384 98.1636 66.6352 96.0856 66.9252C96.0856 66.9252 95.8579 67.5716 96.6339 68.7139C97.129 69.4732 98.1592 69.6193 98.7185 69.6238C98.9175 69.6238 99.0568 69.8141 99.0346 69.9979C98.7893 71.6294 100.633 73.0108 101.951 72.7186C105.417 71.9836 108.439 72.7828 110.327 72.7341C117.856 72.5237 122.777 60.0051 115.044 54.0745V54.0701Z" fill="#D59D7A"/>
<path d="M115.831 56.3502C119.753 59.1041 143.073 54.5394 143.073 54.5394C143.073 54.5394 148.868 57.1671 148.786 62.987C148.704 69.1058 143.982 70.4406 143.982 70.4406L113.473 70.0621L115.831 56.3502Z" fill="#D59D7A"/>
<path d="M106.551 42.2931C106.551 42.2931 104.654 42.1027 102.872 43.6502C102.872 43.6502 103.069 41.7883 104.511 41.5115C105.607 41.3056 106.549 42.2931 106.549 42.2931H106.551Z" fill="#D59D7A"/>
<g opacity="0.1">
<path d="M143.075 54.5394C143.075 54.5394 149.095 57.3818 148.788 62.987C148.481 68.5921 143.984 70.4406 143.984 70.4406L115.778 70.0886C115.778 70.0886 113.789 72.4595 110.917 72.6898C108.054 72.9598 107.577 72.4773 105.565 72.4108C103.553 72.3444 102.463 72.5902 101.889 72.7075C101.314 72.827 100.206 72.5946 99.5099 71.7356C98.8135 70.8767 98.9351 70.2945 98.9484 69.9713C98.9616 69.6481 98.7936 69.6038 98.6323 69.5972C98.4709 69.5905 97.4031 69.5507 96.8328 69.0083C96.2624 68.466 95.8888 67.5229 95.9994 66.8986C95.9994 66.8986 97.9249 66.7415 99.2291 65.2118C99.2291 65.2118 100.18 70.6177 107.616 70.0466C113.026 69.6326 112.25 66.7304 116.121 66.8942C119.992 67.058 138.716 68.6231 141.884 65.5682C145.114 62.5221 143.075 54.5371 143.075 54.5371V54.5394Z" fill="black"/>
</g>
<g opacity="0.1">
<path d="M98.989 64.5215C98.3368 63.295 96.7737 62.2965 95.1752 62.1061C93.5767 61.9157 93.5237 60.6847 93.5237 60.6847C93.5237 60.6847 92.9732 62.5799 94.837 63.4765C96.8467 64.5038 98.3457 63.5341 98.989 64.5215Z" fill="black"/>
</g>
<g opacity="0.1">
<path d="M99.2302 58.1105C99.2302 58.1105 99.3628 57.3024 98.4542 56.6692C97.2669 55.8522 95.5933 55.6773 93.9904 56.0471C90.7934 56.7268 90.8332 54.4951 90.8332 54.4951C90.6276 54.9578 90.8089 56.9017 92.5511 56.9238C94.616 56.9592 98.5117 56.1755 99.2302 58.1105Z" fill="black"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,37 @@
<svg width="123" height="101" viewBox="0 0 123 101" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 50.957C0 78.3772 19.4459 104.531 61.2442 100.608C103.043 96.6843 122.488 78.3795 122.488 50.957C122.488 23.5344 96.3183 9.30529 61.2442 1.30618C26.1701 -6.69063 0 23.5367 0 50.957Z" fill="#EECDE2"/>
<path opacity="0.6" d="M75.862 65.4884C75.9981 66.7709 76.0166 69.5134 74.2634 72.076C73.9497 72.528 73.2831 72.3943 73.1239 71.9053C72.7202 70.4821 71.9105 68.1917 70.4273 66.8424C70.0905 66.5771 69.6638 66.4641 69.2578 66.5495C65.9314 67.396 49.4382 70.8904 44.8247 58.4811C39.6853 44.6788 49.4866 36.4005 61.7493 34.6383C74.1712 32.8485 78.8054 39.5351 81.818 47.6035C85.3243 56.9427 78.584 62.7229 76.4318 64.3006C76.0119 64.5843 75.8182 65.0064 75.8597 65.4861L75.862 65.4884Z" fill="white"/>
<path opacity="0.6" d="M40.3218 39.1707C39.7105 38.0336 38.6564 35.5033 39.3115 32.4679C39.4314 31.9304 40.0981 31.8013 40.4302 32.1957C41.3414 33.3605 42.9584 35.1734 44.8407 35.8631C45.2537 35.9807 45.6919 35.9254 46.0333 35.6924C48.7922 33.6511 62.7411 24.1827 71.7028 33.9256C81.6772 44.7595 75.735 56.1285 65.0502 62.3977C54.2269 68.7522 47.4082 64.3121 41.5698 57.9806C34.7925 50.6596 38.8455 42.7597 40.2434 40.4877C40.5248 40.0656 40.5433 39.602 40.3241 39.173L40.3218 39.1707Z" fill="white"/>
<path opacity="0.6" d="M49.4888 69.5941C48.4023 70.2169 45.9687 71.294 42.9907 70.6413C42.4624 70.5213 42.3171 69.8478 42.6885 69.5088C43.7934 68.5815 45.5097 66.937 46.121 65.0294C46.2224 64.612 46.1532 64.1668 45.9157 63.8208C43.8373 61.0322 34.1651 46.9323 43.3713 37.8168C53.6064 27.6726 64.8748 33.6557 71.3245 44.4619C77.8618 55.4065 73.7558 62.3308 67.7744 68.2678C60.8588 75.1598 53.032 71.0795 50.7714 69.6702C50.3515 69.3865 49.8994 69.3681 49.4888 69.5941Z" fill="white"/>
<path opacity="0.6" d="M75.2504 35.4802C76.4661 35.1734 79.0981 34.7906 81.7924 36.2229C82.2676 36.4813 82.2283 37.1686 81.7785 37.3947C80.4637 37.9897 78.3692 39.1107 77.2665 40.7853C77.0566 41.1589 77.0036 41.6064 77.1397 42.0031C78.3899 45.2485 83.9054 61.4335 72.5838 67.7304C59.9936 74.7423 50.7551 65.9428 47.4541 53.8011C44.107 41.498 49.9269 35.9392 57.2878 31.8313C65.8043 27.0567 72.2424 33.0952 74.0394 35.0604C74.367 35.4479 74.7983 35.5863 75.255 35.4802H75.2504Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M66.0812 48.5676C65.0132 53.0285 59.3686 55.8286 58.0699 55.6372C56.7712 55.4457 52.1738 51.1348 52.4414 46.554C52.4506 46.404 52.4622 46.2564 52.4829 46.1088C52.8059 43.9176 54.8612 42.3976 57.0618 42.7228C58.1783 42.8866 59.1263 43.4909 59.7353 44.3466C60.5635 43.7031 61.6476 43.3986 62.7641 43.5624C64.9647 43.8876 66.4918 45.9335 66.1689 48.127C66.1481 48.2747 66.1135 48.42 66.0812 48.5653V48.5676Z" fill="#F06580"/>
<g opacity="0.5">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.0815 40.3978C19.0562 40.6953 18.8739 40.956 18.6017 41.0851L17.9858 41.3758C17.6952 41.5119 17.7713 41.9455 18.0919 41.9732L18.7701 42.0331C19.0677 42.0585 19.3307 42.243 19.4575 42.5129L19.7482 43.1288C19.8843 43.4217 20.318 43.3433 20.3479 43.0227L20.4079 42.3445C20.4333 42.047 20.6178 41.784 20.89 41.6572L21.5059 41.3689C21.7966 41.2328 21.7205 40.7968 21.3998 40.7692L20.7216 40.7092C20.4218 40.6815 20.1611 40.5016 20.0342 40.2294L19.7459 39.6136C19.6098 39.3229 19.1738 39.3991 19.1461 39.7197L19.0862 40.3978H19.0815ZM12.6249 46.2795C13.3723 45.9312 13.8752 45.2093 13.9467 44.3881L14.1105 42.5221C14.1889 41.6387 15.3838 41.4265 15.7598 42.2292L16.5556 43.9245C16.904 44.6718 17.626 45.1747 18.4449 45.2462L20.311 45.4099C21.1945 45.4884 21.4044 46.6831 20.604 47.0591L18.9085 47.8549C18.1635 48.2032 17.6606 48.9251 17.5891 49.7439L17.4253 51.6099C17.3492 52.4933 16.1543 52.7032 15.776 51.9029L14.9801 50.2076C14.6318 49.4625 13.9098 48.9597 13.0886 48.8882L11.2224 48.7244C10.339 48.646 10.129 47.4512 10.9295 47.0753L12.6249 46.2795ZM10.6434 52.4772C10.9156 52.348 11.0979 52.0874 11.1233 51.7898L11.1832 51.1117C11.2109 50.7911 11.6446 50.715 11.783 51.0056L12.0713 51.6215C12.1982 51.8936 12.4612 52.0759 12.7587 52.1012L13.4392 52.1612C13.7599 52.1889 13.836 52.6225 13.5453 52.7609L12.9271 53.0492C12.6549 53.1761 12.4727 53.439 12.4473 53.7366L12.3897 54.4147C12.3597 54.7376 11.926 54.8137 11.7899 54.5208L11.5016 53.905C11.3747 53.6328 11.1117 53.4506 10.8141 53.4252L10.136 53.3675C9.81533 53.3375 9.7392 52.9039 10.0299 52.7678L10.6458 52.4795L10.6434 52.4772Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.293 61.2398C102.999 61.1937 103.624 60.7739 103.935 60.1396L104.646 58.7003C104.983 58.0198 106.002 58.2228 106.053 58.9794L106.161 60.5824C106.207 61.2859 106.627 61.9133 107.259 62.2247L108.699 62.9351C109.379 63.2719 109.176 64.2913 108.42 64.3444L106.816 64.4528C106.113 64.4989 105.488 64.9187 105.174 65.5507L104.461 66.99C104.124 67.6704 103.105 67.4675 103.054 66.7109L102.948 65.1079C102.9 64.4044 102.482 63.7793 101.848 63.4656L100.408 62.7552C99.7277 62.4184 99.9307 61.3989 100.687 61.3459L102.291 61.2398H102.293Z" fill="white" fill-opacity="0.6"/>
<mask id="mask0_2346_613" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="123" height="101">
<path d="M0 50.957C0 78.3772 19.409 104.531 61.1289 100.608C102.849 96.6843 122.258 78.3795 122.258 50.957C122.258 23.5344 96.1384 9.30529 61.1289 1.30618C26.1193 -6.69063 0 23.5367 0 50.957Z" fill="white"/>
</mask>
<g mask="url(#mask0_2346_613)">
<path d="M25.476 81.3229C29.8773 79.8975 33.1574 82.6238 35.0536 83.1659C38.3776 84.1369 37.538 78.2898 31.2013 77.0235C27.5705 76.2923 29.5382 73.2961 31.5266 71.6838C34.1447 69.5503 37.4111 66.448 39.4157 64.6212C41.6647 62.5568 38.8736 59.7959 36.8136 61.5858C34.0225 64.0169 29.7204 68.6138 28.9176 67.9057C28.0618 67.1584 34.3177 61.9202 37.568 58.179C39.9208 55.448 37.3465 53.0746 34.5646 55.3996C31.2428 58.1605 27.266 63.5256 26.5671 63.0643C25.8704 62.603 29.8473 57.8492 32.274 55.0075C34.2716 52.6756 31.3466 50.4659 29.5243 52.5626C26.7793 55.7502 22.8878 61.8833 22.2327 61.4981C21.3584 60.9653 24.1265 57.3925 25.4483 55.3673C27.0423 52.9201 24.3733 51.4162 22.9685 53.3491C20.4865 56.7651 14.7703 65.2347 13.2387 67.6128C9.60323 73.2292 17.2293 83.9639 25.4691 81.3206L25.476 81.3229Z" fill="#4C2F1B"/>
<path d="M12.4589 73.4138C12.4589 73.4138 2.76827 89.8272 -1.82677 106.363C-4.39418 115.492 9.96072 128.499 11.2317 120.767C12.768 111.495 16.5419 84.5544 22.7101 80.0751C28.8922 75.6234 12.4589 73.4138 12.4589 73.4138Z" fill="#4C2F1B"/>
<path opacity="0.1" d="M25.1576 52.581C23.7482 53.7712 20.6456 58.5157 19.3239 60.4717C17.9744 62.4438 13.5132 69.1974 13.903 72.1036C14.1614 74.0988 16.4266 76.403 15.9606 76.6637C15.52 76.9082 13.5547 75.3858 13.0057 75.9279C12.3044 76.6222 0.101727 102.748 3.28504 108.48C6.71518 114.655 2.47076 114.837 2.47076 114.837C2.47076 114.837 -2.2304 113.34 -2.08738 107.731C-1.88208 99.9114 12.489 72.6157 12.489 72.6157C12.489 72.6157 11.7485 69.9378 13.068 67.9149C14.3874 65.8921 20.7056 56.5459 21.6929 55.1482C22.6663 53.725 23.5706 51.866 25.1553 52.581H25.1576Z" fill="black"/>
<path d="M26.9684 34.9913C26.2164 33.0768 26.1102 31.3838 22.6916 29.4694C14.9779 25.1792 15.6238 10.5188 29.0191 11.9281C30.966 12.1403 37.6624 11.22 41.2125 9.73684C43.8445 8.60202 44.9056 11.0839 42.3982 12.2764C40.4213 13.1874 35.0166 13.7572 35.3926 13.9624C35.7732 14.1331 41.9922 14.3592 46.811 11.905C49.9367 10.3112 51.5744 13.3743 48.7325 14.9174C44.9887 16.9148 37.734 17.1178 38.163 17.3992C38.6174 17.7198 44.9956 18.2134 51.0508 15.9138C54.6101 14.5691 55.5674 18.5709 51.8374 19.9203C44.8549 22.4298 37.9554 20.6468 38.2461 21.3134C38.4883 21.8693 44.901 23.4977 52.6102 21.3249C55.6712 20.4715 55.9757 24.8701 52.2203 25.975C47.0601 27.4788 42.645 26.72 37.5425 26.1825C34.0155 25.8227 28.8806 26.0326 30.6361 29.5962C34.809 38.1766 28.2601 38.2689 26.966 34.9913H26.9684Z" fill="#FCDAB3"/>
<path d="M25.6697 11.9119C18.6526 11.7481 -9.19219 1.4517 -12.1379 -24.0795L-16.7629 1.70081C-16.7629 1.70081 -0.156654 22.9787 22.6017 23.673" fill="#FCDAB3"/>
<path opacity="0.1" d="M-16.7676 1.73539C-16.7676 1.73539 -2.35046 20.3285 18.0181 23.297C18.0181 23.297 18.634 26.7245 21.0769 28.3599C23.5197 29.9952 25.0976 30.9271 26.1679 32.9661C27.2382 35.0051 26.5531 35.3949 28.4539 36.6243C30.3546 37.8537 31.8633 36.3129 31.8886 35.0166C31.8886 35.0166 29.2958 35.5448 28.3132 32.6316C27.3236 29.753 25.5958 27.5618 23.8865 26.6046C22.1772 25.6474 19.6928 21.9523 19.6259 20.2316C19.5614 18.3056 18.2488 18.7531 17.6675 19.7103C17.047 20.6929 -13.935 9.39083 -15.1252 -7.61536L-16.8022 1.72847L-16.77 1.73539H-16.7676Z" fill="black"/>
<path opacity="0.1" d="M30.3916 27.5342C30.936 26.0234 31.545 24.1505 33.6211 24.2151C35.6971 24.2796 53.1408 27.3381 54.8985 23.071C54.8985 23.071 54.8847 26.3855 49.4061 26.8053C43.9253 27.2251 36.2346 26.0511 33.9648 26.1226C30.9014 26.2241 30.3939 27.5342 30.3939 27.5342H30.3916Z" fill="black"/>
<path opacity="0.1" d="M38.1399 21.3295C38.2991 21.0159 43.2355 21.5256 46.2458 21.1427C49.2238 20.7529 53.429 20.0033 53.9896 18.0173C53.9896 18.0173 49.2861 20.2178 44.8018 20.2339C40.3244 20.2178 38.2806 20.7414 38.1399 21.3319V21.3295Z" fill="black"/>
<path opacity="0.1" d="M50.0934 12.6661C50.1603 13.0536 50.5317 14.4214 47.3899 15.5332C44.2481 16.6449 38.5735 17.2008 38.4282 17.2446C38.2506 17.2815 38.0799 17.2838 38.0684 17.3507C38.0684 17.3507 38.1745 16.7533 38.9841 16.6265C44.2205 15.8561 47.27 14.8643 48.9493 13.8978C49.6736 13.4803 50.0934 12.6661 50.0934 12.6661Z" fill="black"/>
<path opacity="0.1" d="M35.3325 13.9163C35.4894 13.8079 38.3128 13.3212 38.5943 13.2704C38.9103 13.2243 43.3669 12.793 43.7683 10.7448C43.7683 10.7448 43.3785 11.3929 41.4223 11.9995C39.4662 12.6062 35.547 13.0998 35.3325 13.9163Z" fill="black"/>
<path d="M88.5193 45.1055C88.5193 45.1055 87.2552 47.6911 89.1167 48.4269C90.3624 48.9182 91.5826 48.2862 92.2539 47.8133L92.2747 47.7972C92.4223 47.6957 92.5399 47.5988 92.6276 47.525L92.6553 47.502C92.7222 47.442 92.766 47.4028 92.7798 47.3889V47.382C94.1939 47.7764 95.2273 46.7731 95.9147 45.629C96.3853 44.8102 96.7498 43.9337 96.9943 43.0203C96.9943 43.1149 97.0104 44.9255 99.4141 44.1759C99.6124 44.0998 99.7878 43.9752 99.9239 43.8138L99.9585 43.7792C100.662 43.0019 101.495 41.2235 102.346 38.9631L102.369 38.9055C103.146 36.8296 103.935 34.3523 104.643 31.8912C104.759 31.4991 104.867 31.1047 104.976 30.7126L104.989 30.6757C105.61 28.4268 106.15 26.2448 106.537 24.4457L106.553 24.3627C106.899 22.7435 107.116 21.4403 107.156 20.6929C107.188 20.0679 107.213 19.3943 107.232 18.6932C107.264 17.4914 107.275 16.2159 107.278 14.9888C107.269 14.9819 107.259 14.975 107.25 14.9704C106.639 14.5829 106 14.2184 105.335 13.8817C102.512 12.4401 99.4094 11.6282 96.2423 11.4967C94.9759 11.446 93.811 11.4183 92.7429 11.4137C92.7429 11.7458 92.7429 12.0872 92.736 12.4378C92.6853 15.8123 92.5653 18.1811 92.5653 18.1811C92.5653 18.1811 87.6773 19.3159 86.7777 25.2714C86.5955 26.4616 86.2287 27.6149 85.6935 28.692C85.3221 29.4301 84.8954 30.1406 84.4225 30.8187C84.4225 30.8233 84.4202 30.8256 84.4179 30.8302C84.238 31.0932 84.065 31.3377 83.9035 31.5683C82.9416 32.9384 82.4272 33.7572 83.7512 34.3708C83.8343 34.41 83.9242 34.4469 84.0188 34.4838C84.1757 34.5438 84.3371 34.5945 84.5009 34.6337C84.5009 34.6337 84.5055 34.6337 84.5102 34.636C84.983 34.7583 85.4813 34.7606 85.9565 34.6429C86.4363 34.5138 86.8792 34.2716 87.2437 33.9348L87.2529 33.9256C88.0718 33.1921 88.4893 32.1842 88.577 31.9581L88.5954 31.912C88.2632 35.2911 86.4363 37.7245 85.7535 41.0252C85.6405 41.5672 85.562 42.1162 85.5228 42.6674C85.2068 46.8584 88.5262 45.1055 88.5262 45.1055H88.5193Z" fill="#E3B580"/>
<path opacity="0.1" d="M92.2449 43.2441C92.7846 41.8025 93.4974 40.3447 93.7996 39.4083C94.2056 38.1466 94.3394 34.2831 94.3394 34.2831L91.968 34.0155C91.7881 34.8321 91.6612 38.4395 91.2391 39.8442C91.0707 40.4001 90.614 41.3342 90.1226 42.2615C89.3637 43.6915 88.5195 45.1077 88.5195 45.1077C88.4987 44.0929 89.0039 43.0249 89.5321 42.0331C90.005 41.1428 90.4963 40.3147 90.6417 39.6343C90.8746 38.5525 91.103 33.5981 91.103 33.5981C90.9069 33.2751 90.8331 32.8946 90.8954 32.5209C91.0015 31.9074 92.3048 32.7862 92.6232 32.8577C94.9784 33.3697 96.2655 33.4712 99.8802 33.9925C99.8802 33.9925 99.3081 37.36 98.8745 38.4049C98.4039 39.5582 96.946 41.5257 96.9875 43.0157C96.9091 42.8981 96.8514 42.7689 96.8145 42.6328C96.7615 42.499 96.7384 42.3537 96.7476 42.2107C97.0198 39.5328 97.6242 39.0554 98.104 38.0912C98.5654 37.1709 98.3923 34.5045 98.3923 34.5045L95.6035 34.3085C95.6035 34.3085 95.382 38.2227 94.9714 39.4475C94.5977 40.5592 93.5735 42.0585 92.9161 43.6085C92.7339 44.026 92.5863 44.455 92.4755 44.8955C91.9888 46.8746 92.7777 47.3797 92.7777 47.3797V47.3866C92.7362 47.4281 92.6947 47.465 92.6508 47.4996L92.6232 47.5227C92.5032 47.6219 92.351 47.7372 92.2841 47.788L92.2702 47.7972L92.2495 47.8133C92.005 47.5573 91.6843 46.8561 91.6843 46.8561C91.3798 45.9727 91.7351 44.6141 92.2449 43.2441ZM87.3868 32.5717C87.9751 31.1462 88.2934 30.8948 88.2934 30.8948C89.3038 30.7333 90.5886 29.7623 91.7697 28.6551C92.9599 27.5134 94.0718 26.2909 95.096 24.9992C95.1329 26.4362 94.4247 27.8432 93.4374 28.9804C92.5793 29.9722 91.5113 30.761 90.5425 31.1854L88.5725 31.912L88.5333 32.0089C88.2426 32.6939 87.8274 33.319 87.3084 33.8541L87.2323 33.9256L87.2231 33.9348C86.8632 34.2785 86.4203 34.523 85.9359 34.6429L85.8875 34.6545C85.8875 34.6545 86.7986 33.9948 87.3845 32.5693L87.3868 32.5717ZM89.7374 31.5152C89.7374 31.5152 89.7259 31.5222 89.719 31.5245C89.6359 31.5614 89.4998 31.6098 89.3476 31.6629C89.4652 31.619 89.599 31.5683 89.7374 31.5152Z" fill="black"/>
<path opacity="0.1" d="M99.4141 44.1782C99.6078 44.0952 99.7831 43.9729 99.9239 43.8161L99.9585 43.7815C100.724 42.9696 101.548 41.1336 102.346 38.9677L102.369 38.9101C103.19 36.6612 103.977 34.0594 104.623 31.8889L104.971 30.7126L104.985 30.6757C105.691 28.3068 106.187 26.171 106.533 24.4457L106.549 24.3626C106.881 22.6789 107.066 21.3987 107.151 20.6929C107.188 20.3861 107.213 19.655 107.227 18.6931C107.241 17.639 107.245 16.3128 107.245 14.9704C106.634 14.5829 105.995 14.2184 105.331 13.8817C105.278 19.6065 104.265 26.2563 103.223 31.5844C102.24 36.5943 101.229 40.4393 100.95 41.2558C100.249 43.2671 99.4164 44.1828 99.4164 44.1828L99.4141 44.1782Z" fill="black"/>
<path d="M88.0489 76.8505C85.3107 73.762 86.3672 70.1039 86.1112 68.3624C85.689 65.2993 81.2278 68.1064 82.485 73.7251C83.1839 76.9382 80.0444 76.4261 78.0007 75.372C75.311 73.995 71.6086 72.4427 69.4057 71.4947C66.9283 70.3968 65.648 73.679 67.844 74.7031C70.8151 76.117 76.1137 77.9738 75.8323 78.8687C75.5463 79.8398 68.9997 76.6152 64.7899 75.2982C61.7334 74.3548 60.7 77.3118 63.6134 78.7396C67.0782 80.4672 72.8658 81.7842 72.7459 82.4993C72.6075 83.2304 67.3066 81.6966 64.1002 80.744C61.4705 79.9597 60.7093 83.1405 63.0967 83.8532C66.6768 84.9419 73.1103 85.9383 73.0135 86.5957C72.882 87.4998 68.9743 86.5219 66.8683 86.169C64.3124 85.7492 64.0171 88.4455 66.114 88.9138C69.7679 89.7234 78.7642 91.3472 81.2647 91.7439C87.1308 92.7057 93.1675 82.6284 88.0489 76.8528V76.8505Z" fill="#B48454"/>
<path d="M83.304 90.9735C96.3394 96.1448 102.286 101.724 110.196 108.143C116.911 113.58 123.13 100.513 118.853 97.1412C108.143 88.6923 93.2991 82.9767 89.1123 81.2422C85.1678 79.5814 83.304 90.9735 83.304 90.9735Z" fill="#B48454"/>
<path opacity="0.1" d="M64.6883 87.3453C64.6052 88.0995 65.2304 88.7638 66.2984 88.9991C67.3664 89.2344 79.4907 91.5594 80.9024 91.7785C82.3141 91.9976 83.7005 91.6632 84.231 91.3725C84.231 91.3725 93.082 94.4495 103.137 102.442C113.192 110.432 112.858 113.128 117.155 107.996C117.155 107.996 101.193 95.0353 89.3982 90.699C86.7431 89.7234 87.7119 89.0798 87.7512 87.4675C87.7904 85.8576 85.7004 90.2862 82.298 90.3669C78.914 90.4292 66.596 88.1664 65.8393 87.8366C65.0804 87.5068 64.9466 86.5864 65.1635 86.4665C65.2188 86.4896 64.7644 86.7848 64.6929 87.3499L64.6883 87.3453Z" fill="black"/>
<path opacity="0.1" d="M88.5264 77.4294C89.0685 78.5251 89.8781 80.8132 89.2207 82.6146C88.441 84.845 89.6567 83.551 90.3971 82.9329C91.216 82.2409 93.7465 83.1151 94.2264 83.3342L90.1895 81.6481C90.208 81.6689 89.9035 78.8203 88.5264 77.4294Z" fill="black"/>
<path opacity="0.1" d="M61.8373 81.4221C61.6573 82.5131 62.8268 83.2673 63.7334 83.3596C64.6376 83.4887 72.8681 85.1818 72.9927 86.6141C72.9927 86.6141 72.7343 86.162 70.1323 85.5693C66.8729 84.8404 63.941 84.3606 63.0298 84.0216C62.0264 83.6571 61.1983 82.6007 61.8373 81.4244V81.4221Z" fill="black"/>
<path opacity="0.1" d="M61.9687 76.1124C61.6481 76.719 62.144 78.2483 63.3251 78.8134C64.5062 79.3785 67.964 80.6125 70.0354 81.2122C72.1069 81.8119 72.7828 82.2501 72.7274 82.5523C72.7274 82.5523 73.0227 81.7542 69.9639 80.5248C66.9052 79.2955 64.0886 78.7857 63.1313 77.6647C62.174 76.5437 62.2479 75.6188 62.4647 75.4989C62.4647 75.462 62.294 75.5081 61.971 76.1147L61.9687 76.1124Z" fill="black"/>
<path opacity="0.1" d="M67.2257 71.7415C66.7183 72.2997 67.1266 73.6905 68.5198 74.2118C69.9131 74.7331 76.3397 77.3787 75.8322 78.8664C75.8322 78.8664 75.8737 78.5089 74.2152 77.6486C72.3375 76.6614 68.0954 74.9061 67.4749 74.4886C66.8544 74.0711 66.5176 73.3676 66.6467 72.7864C66.7736 72.2443 67.2234 71.7392 67.2234 71.7392L67.2257 71.7415Z" fill="black"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View file

@ -11,27 +11,27 @@ describe('DonateBannerTest', () => {
afterEach(() => {
global.Date.now = realDateNow;
});
test('Testing Scratch week banner message', () => {
global.Date.now = () => new Date(2022, 3, 16).getTime();
test('Testing 2024 EOY campaign message', () => {
global.Date.now = () => new Date(2024, 11, 16).getTime();
const component = mountWithIntl(
<DonateTopBanner />
);
expect(component.find('div.donate-banner').exists()).toEqual(true);
expect(component.find('p.donate-text').exists()).toEqual(true);
expect(component.find('FormattedMessage[id="donatebanner.scratchWeek"]').exists()).toEqual(true);
expect(component.find('FormattedMessage[id="donatebanner.eoyCampaign"]').exists()).toEqual(true);
expect(component.find('FormattedMessage[id="donatebanner.askSupport"]').exists()).toEqual(false);
});
test('testing default message comes back after May 21', () => {
test('testing default message comes back after January 9, 2025', () => {
// Date after Scratch week
global.Date.now = () => new Date(2022, 4, 22).getTime();
global.Date.now = () => new Date(2025, 0, 10).getTime();
const component = mountWithIntl(
<DonateTopBanner />
);
expect(component.find('div.donate-banner').exists()).toEqual(true);
expect(component.find('p.donate-text').exists()).toEqual(true);
expect(component.find('FormattedMessage[id="donatebanner.askSupport"]').exists()).toEqual(true);
expect(component.find('FormattedMessage[id="donatebanner.scratchWeek"]').exists()).toEqual(false);
expect(component.find('FormattedMessage[id="donatebanner.eoyCampaign"]').exists()).toEqual(false);
});
});