diff --git a/Assets/Resources/Shaders/TransparentEdgePortalShader.shader b/Assets/Resources/Shaders/TransparentEdgePortalShader.shader
index 21115baed9..3f5c2ca575 100644
--- a/Assets/Resources/Shaders/TransparentEdgePortalShader.shader
+++ b/Assets/Resources/Shaders/TransparentEdgePortalShader.shader
@@ -20,106 +20,169 @@ Shader "Unlit/SEE/TransparentEdgePortalShader"
SubShader
{
Tags {
- "Queue"="Transparent"
- "RenderType"="Transparent"
- "IgnoreProjector"="True"
+ "Queue" = "Transparent+1"
+ "RenderType" = "Transparent"
+ "IgnoreProjector" = "True"
"ForceNoShadowCasting" = "True"
"PreviewType" = "Plane"
}
// Alpha blending mode for transparency
Blend SrcAlpha OneMinusSrcAlpha
- // Do not write to depth buffer to allow transparency effect
- // Note: We will be able to see parts of the edge through other parts of the same edge, that should be occluded
- // on full opacity. This is not a desired effect but not a big issue either.
- ZWrite Off
// Makes the inside visible at clipping planes
Cull Off
// Unity's lighting will not be applied
Lighting Off
- Pass
+ // Shared code for both passes
+ HLSLINCLUDE
+
+ #include "UnityCG.cginc"
+
+ struct appdata
{
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
+ float4 vertex : POSITION;
+ float3 normal : NORMAL;
+ float2 uv : TEXCOORD0;
+ };
- #include "UnityCG.cginc"
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ float3 worldPos : TEXCOORD0;
+ float1 doDiscard : TEXCOORD1;
+ float4 color : TEXCOORD2;
+ };
- struct appdata
+ // Color
+ fixed4 _Color;
+ fixed4 _EndColor;
+ float _ColorGradientEnabled;
+ float _AlphaThreshold;
+
+ // Data Flow
+ float _EdgeFlowEnabled;
+ float _AnimationFactor;
+ float _AnimationPause;
+ float _EffectWidth;
+ float _GrowthAmount;
+
+ // Clipping
+ float4 _Portal;
+
+ v2f SharedVertexManipulation(appdata v)
+ {
+ v2f o;
+
+ if (_EdgeFlowEnabled > 0.5)
{
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float2 uv : TEXCOORD0;
- };
+ // The effect is supposed to move automatically based on the time and the animation factor.
+ // The position is calculated based on the assumption that the object has a uniform UV mapping (0.0 to 1.0 along the y axis).
+ // We stretch the effect scale by the effect width so that the effect fades in and out smoothly at both ends, respectively.
+ // Additionally, the effect scale is stretched to add a pause between the animations.
+ float effectPosition = frac(_Time.y * _AnimationFactor) * (1.0 + 2 * _EffectWidth + _AnimationPause) - _EffectWidth;
+
+ // Distance between the vertex and the effect position on the y axis in world-space
+ float distance = abs(v.uv.y - effectPosition);
+
+ if (distance < _EffectWidth)
+ {
+ // The effect strength is based on the distance to the effect position
+ float effectFactor = 1.0 - pow(distance / _EffectWidth, 3);
+ effectFactor = clamp(effectFactor, 0.0, 1.0);
+ // We use the direction of the normal to grow outward
+ float3 outwardDir = normalize(v.normal);
+ v.vertex.xyz += outwardDir * effectFactor * _GrowthAmount;
+ }
+ }
+
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ o.worldPos = mul(unity_ObjectToWorld, v.vertex);
- struct v2f
+ // Note: The following is not strictly vertex related but we do this in the shared function
+ // to prevent clutter and code duplication.
+
+ // Flag coordinates as discardable outside portal
+ // Note: We use a 2D portal that spans over Unity's XZ plane: (x_min, z_min, x_max, z_max)
+ if (o.worldPos.x < _Portal.x || o.worldPos.z < _Portal.y ||
+ o.worldPos.x > _Portal.z || o.worldPos.z > _Portal.w)
+ {
+ o.doDiscard = 1;
+ }
+ else
{
- float4 vertex : SV_POSITION;
- float3 worldPos : TEXCOORD0;
- float2 uv : TEXCOORD1;
- };
-
- // Color
- fixed4 _Color;
- fixed4 _EndColor;
- float _ColorGradientEnabled;
-
- // Data Flow
- float _EdgeFlowEnabled;
- float _AnimationFactor;
- float _AnimationPause;
- float _EffectWidth;
- float _GrowthAmount;
-
- // Clipping
- float4 _Portal;
+ o.doDiscard = 0;
+ }
+
+ o.color = _ColorGradientEnabled > 0.5 ? lerp(_Color, _EndColor, v.uv.y) : _Color;;
+
+ return o;
+ }
+ ENDHLSL
+
+ // Pass 1: Render opaque fragments with depth writing
+ Pass
+ {
+ Name "OpaquePass"
+ // Write to depth buffer to make opaque fragments occlude other objects.
+ // All other fragments will be discarded in this step.
+ ZWrite On
+
+ HLSLPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+
+ #include "UnityCG.cginc"
v2f vert (appdata v)
{
- v2f o;
+ return SharedVertexManipulation(v);
+ }
- if (_EdgeFlowEnabled > 0.5)
+ fixed4 frag (v2f i) : SV_Target
+ {
+ // Discard fragment if transparent or flagged earlier
+ if (i.doDiscard || i.color.a < 1.0)
{
- // The effect is supposed to move automatically based on the time and the animation factor.
- // The position is calculated based on the assumption that the object has a uniform UV mapping (0.0 to 1.0 along the y axis).
- // We stretch the effect scale by the effect width so that the effect fades in and out smoothly at both ends, respectively.
- // Additionally, the effect scale is stretched to add a pause between the animations.
- float effectPosition = frac(_Time.y * _AnimationFactor) * (1.0 + 2 * _EffectWidth + _AnimationPause) - _EffectWidth;
-
- // Distance between the vertex and the effect position on the y axis in world-space
- float distance = abs(v.uv.y - effectPosition);
-
- if (distance < _EffectWidth)
- {
- // The effect strength is based on the distance to the effect position
- float effectFactor = 1.0 - pow(distance / _EffectWidth, 3);
- effectFactor = clamp(effectFactor, 0.0, 1.0);
- // We use the direction of the normal to grow outward
- float3 outwardDir = normalize(v.normal);
- v.vertex.xyz += outwardDir * effectFactor * _GrowthAmount;
- }
+ discard;
}
- o.vertex = UnityObjectToClipPos(v.vertex);
- o.worldPos = mul(unity_ObjectToWorld, v.vertex);
- o.uv = v.uv;
- return o;
+ return i.color;
+ }
+ ENDHLSL
+ }
+
+ // Pass 2: Render semitransparent fragments without depth writing
+ Pass
+ {
+ Name "TransparentPass"
+ // Do not write to depth buffer to allow transparency effect
+ // Note: We will be able to see parts of the edge through other parts of the same edge, that should be occluded
+ // on full opacity. This is not a desired effect but not a big issue either.
+ ZWrite Off
+
+ HLSLPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+
+ #include "UnityCG.cginc"
+
+ v2f vert (appdata v)
+ {
+ return SharedVertexManipulation(v);
}
fixed4 frag (v2f i) : SV_Target
{
- // Discard coordinates if transparent or outside portal
- // Note: We use a 2D portal that spans over Unity's XZ plane: (x_min, z_min, x_max, z_max)
- if (i.worldPos.x < _Portal.x || i.worldPos.z < _Portal.y ||
- i.worldPos.x > _Portal.z || i.worldPos.z > _Portal.w)
+ // Discard fragment if transparent or flagged earlier
+ if (i.doDiscard || i.color.a <= 0)
{
discard;
}
- return _ColorGradientEnabled > 0.5 ? lerp(_Color, _EndColor, i.uv.y) : _Color;
+ return i.color;
}
- ENDCG
+ ENDHLSL
}
}
}
diff --git a/Assets/Resources/Shaders/TransparentLinePortalShader.shader b/Assets/Resources/Shaders/TransparentLinePortalShader.shader
index 5cf4353cd9..1108cefc1a 100644
--- a/Assets/Resources/Shaders/TransparentLinePortalShader.shader
+++ b/Assets/Resources/Shaders/TransparentLinePortalShader.shader
@@ -12,11 +12,11 @@
{
Tags
{
- "Queue"="Transparent"
- "IgnoreProjector"="True"
- "RenderType"="Transparent"
- "PreviewType"="Plane"
- "CanUseSpriteAtlas"="True"
+ "Queue" = "Transparent+1"
+ "IgnoreProjector" = "True"
+ "RenderType" = "Transparent"
+ "PreviewType" = "Plane"
+ "CanUseSpriteAtlas" = "True"
}
Cull Off
@@ -27,12 +27,13 @@
Pass
{
- CGPROGRAM
+ HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 2.0
#pragma multi_compile _ PIXELSNAP_ON
#pragma multi_compile _ ETC1_EXTERNAL_ALPHA
+
#include "UnityCG.cginc"
struct appdata_t
@@ -99,7 +100,7 @@
c.rgb *= c.a;
return c;
}
- ENDCG
+ ENDHLSL
}
}
}
diff --git a/Assets/Resources/Shaders/TransparentSpritePortalShader.shader b/Assets/Resources/Shaders/TransparentSpritePortalShader.shader
index fe78be47ce..3b4782d799 100644
--- a/Assets/Resources/Shaders/TransparentSpritePortalShader.shader
+++ b/Assets/Resources/Shaders/TransparentSpritePortalShader.shader
@@ -1,3 +1,11 @@
+// Please note:
+// This shader is currently not intended for semi-transparent sprites.
+// It handles full transparency and opaque elements well with depth writing (ZWrite)
+// for opaque fragments; fully transparent fragments are discarded.
+// To allow for blending of semitransparent areas it is necessary to implement a two-pass
+// mechanism akin to the edge shader that draws translucent parts without depth writing.
+// Depth writing is necessary to achieve the correct order of edges and resize handles.
+
Shader "Unlit/TransparentSpritePortalShader"
{
Properties
@@ -10,15 +18,13 @@ Shader "Unlit/TransparentSpritePortalShader"
Tags {
"Queue" = "Transparent"
"RenderType" = "Transparent"
- "IgnoreProjector"="True"
+ "IgnoreProjector" = "True"
"ForceNoShadowCasting" = "True"
"PreviewType" = "Plane"
}
// Alpha blending mode for transparency
Blend SrcAlpha OneMinusSrcAlpha
- // Do not write to depth buffer to allow transparency effect
- ZWrite Off
// Makes the back of the sprite plane visible
Cull Off
// Unity's lighting will not be applied
@@ -26,7 +32,7 @@ Shader "Unlit/TransparentSpritePortalShader"
Pass
{
- CGPROGRAM
+ HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
@@ -65,7 +71,7 @@ Shader "Unlit/TransparentSpritePortalShader"
// Discard coordinates if transparent or outside portal
// Note: We use a 2D portal that spans over Unity's XZ plane: (x_min, z_min, x_max, z_max)
- if ( col.a <= 0 ||
+ if (col.a <= 0 ||
i.worldPos.x < _Portal.x || i.worldPos.z < _Portal.y ||
i.worldPos.x > _Portal.z || i.worldPos.z > _Portal.w)
{
@@ -74,7 +80,7 @@ Shader "Unlit/TransparentSpritePortalShader"
return col;
}
- ENDCG
+ ENDHLSL
}
}
}
diff --git a/Assets/SEE/Controls/Actions/AddNodeAction.cs b/Assets/SEE/Controls/Actions/AddNodeAction.cs
index 2784b1e509..eb79759945 100644
--- a/Assets/SEE/Controls/Actions/AddNodeAction.cs
+++ b/Assets/SEE/Controls/Actions/AddNodeAction.cs
@@ -1,14 +1,16 @@
-using System.Collections.Generic;
-using SEE.GO;
-using SEE.Net.Actions;
-using SEE.Utils.History;
+using System;
+using System.Collections.Generic;
+using System.Linq;
using UnityEngine;
using SEE.Audio;
+using SEE.DataModel.DG;
using SEE.Game.SceneManipulation;
-using SEE.Utils;
-using System;
+using SEE.GO;
+using SEE.Net.Actions;
+using SEE.UI.Notification;
using SEE.UI.PropertyDialog;
-using SEE.DataModel.DG;
+using SEE.Utils;
+using SEE.Utils.History;
using SEE.XR;
namespace SEE.Controls.Actions
@@ -44,16 +46,22 @@ private enum ProgressState
private ProgressState progress = ProgressState.NoNodeSelected;
///
- /// The chosen parent for the new node.
- /// Will be used for context menu execution.
+ /// The chosen parent for the new node when executed via context menu.
///
- private GameObject parent;
+ private GameObject contextMenuTargetParent;
///
- /// The chosen position for the new node.
- /// Will be used for context menu execution.
+ /// The chosen local position for the new node on its parent when executed via context menu.
///
- private Vector3 position;
+ private Vector3 contextMenuTargetLocalPosition;
+
+ ///
+ /// Tolerance value for comparing localScale to minimal size threshold.
+ ///
+ /// This is necessary to compensate for precision fluctuations in float values.
+ ///
+ ///
+ private const float tolerance = 0.0001f;
///
/// If the user clicks with the mouse hitting a game object representing a graph node,
@@ -71,21 +79,18 @@ public override bool Update()
if (SceneSettings.InputType == PlayerInputType.DesktopPlayer && Input.GetMouseButtonDown(0)
&& Raycasting.RaycastGraphElement(out RaycastHit raycastHit, out GraphElementRef _) == HitGraphElement.Node)
{
- // the hit object is the parent in which to create the new node
- GameObject parent = raycastHit.collider.gameObject;
- AddNode(raycastHit.collider.gameObject, raycastHit.point);
+ AddNode(raycastHit.collider.gameObject, raycastHit.transform.InverseTransformPoint(raycastHit.point));
}
else if (SceneSettings.InputType == PlayerInputType.VRPlayer && XRSEEActions.Selected && InteractableObject.HoveredObjectWithWorldFlag.gameObject != null && InteractableObject.HoveredObjectWithWorldFlag.gameObject.HasNodeRef() &&
- XRSEEActions.RayInteractor.TryGetCurrent3DRaycastHit(out RaycastHit res))
+ XRSEEActions.RayInteractor.TryGetCurrent3DRaycastHit(out raycastHit))
{
- // the hit object is the parent in which to create the new node
- GameObject parent = res.collider.gameObject;
XRSEEActions.Selected = false;
- AddNode(res.collider.gameObject, res.point);
+ AddNode(raycastHit.collider.gameObject, raycastHit.transform.InverseTransformPoint(raycastHit.point));
}
else if (ExecuteViaContextMenu)
{
- AddNode(parent, position);
+ ExecuteViaContextMenu = false;
+ AddNode(contextMenuTargetParent, contextMenuTargetLocalPosition);
}
break;
case ProgressState.WaitingForInput:
@@ -94,7 +99,7 @@ public override bool Update()
case ProgressState.Finish:
result = true;
CurrentState = IReversibleAction.Progress.Completed;
- AudioManagerImpl.EnqueueSoundEffect(IAudioManager.SoundEffect.NewNodeSound, parent);
+ AudioManagerImpl.EnqueueSoundEffect(IAudioManager.SoundEffect.NewNodeSound, addedGameNode);
break;
default:
throw new NotImplementedException($"Unhandled case {nameof(progress)}.");
@@ -104,30 +109,362 @@ public override bool Update()
///
/// Adds a node on the chosen at the
- /// chosen .
+ /// chosen .
///
/// The parent on which to place the node.
- /// The position where the node should be placed.
- private void AddNode(GameObject parent, Vector3 position)
+ /// The local position where the node should be placed.
+ private void AddNode(GameObject parent, Vector3 targetPosition)
{
+ Vector3 minLocalScale = SpatialMetrics.MinNodeSizeLocalScale(parent.transform);
+ Vector3 localPadding = parent.transform.InverseTransformVector(SpatialMetrics.Padding);
+ Bounds parentBounds3D = parent.LocalBounds();
+ Bounds2D parentBounds = new(
+ parentBounds3D.min.x + localPadding.x,
+ parentBounds3D.max.x - localPadding.x,
+ parentBounds3D.min.z + localPadding.z,
+ parentBounds3D.max.z - localPadding.z);
+
+ // Initial intended/default size
+ Bounds2D bounds = new(
+ targetPosition.x - Mathf.Max(SpatialMetrics.HalfDefaultNodeLocalScale, 0.5f * minLocalScale.x),
+ targetPosition.x + Mathf.Max(SpatialMetrics.HalfDefaultNodeLocalScale, 0.5f * minLocalScale.x),
+ targetPosition.z - Mathf.Max(SpatialMetrics.HalfDefaultNodeLocalScale, 0.5f * minLocalScale.z),
+ targetPosition.z + Mathf.Max(SpatialMetrics.HalfDefaultNodeLocalScale, 0.5f * minLocalScale.z));
+
+ List siblingBoundsList = new();
+ Bounds2D potentialGrow = new(0f, 0f, 0f, 0f);
+
+ MoveInsideParentArea();
+ Shrink2D();
+ PreventOverlap();
+ FillAvailableSpace();
+
+ float localHeight = SpatialMetrics.DefaultNodeHeight * parent.transform.InverseTransformVector(Vector3.up).y;
+ Vector3 scale = new(
+ bounds.Right - bounds.Left,
+ localHeight,
+ bounds.Front - bounds.Back);
+ Vector3 position = new(
+ bounds.Left + 0.5f * scale.x,
+ parentBounds3D.max.y + localPadding.y + 0.5f * localHeight,
+ bounds.Back + 0.5f * scale.z);
+
+ squarify();
+
+ // Enforce minimal size
+ if (scale.x + tolerance < minLocalScale.x || scale.z + tolerance < minLocalScale.z)
+ {
+ ShowNotification.Warn(
+ "Node Not Created",
+ "There is not enough space to create a new node at the given position.");
+ return;
+ }
+
addedGameNode = GameNodeAdder.AddChild(parent);
- // addedGameNode has the scale and position of parent.
- // The position at which the parent was hit will be the center point of the addedGameNode.
- // The node is scaled down and placed on top of its parent.
- addedGameNode.transform.localScale = new Vector3(0.2f, 0.2f, 0.2f);
- addedGameNode.transform.position = GameNodeMover.GetCoordinatesOn(addedGameNode.transform.lossyScale, position, parent);
- // TODO(#786) The new node is scaled down arbitrarily and might overlap with its siblings.
+ addedGameNode.transform.localScale = scale;
+ addedGameNode.transform.localPosition = position;
+
memento = new(child: addedGameNode, parent: parent)
{
NodeID = addedGameNode.name
};
new AddNodeNetAction(parentID: memento.Parent.name, newNodeID: memento.NodeID, memento.Position, memento.Scale).Execute();
+
progress = ProgressState.WaitingForInput;
- OpenDialog(addedGameNode.GetNode());
+ OpenDialog(addedGameNode);
+
+ ///
+ /// Makes sure the bounds stay inside their parent bounds.
+ /// Each time a side is moved to fit into parent, the opposite side is moved as well
+ /// to keep the original size, if possible.
+ ///
+ void MoveInsideParentArea()
+ {
+ if (bounds.Left < parentBounds.Left)
+ {
+ float diff = parentBounds.Left - bounds.Left;
+ bounds.Left = parentBounds.Left;
+ bounds.Right = Mathf.Min(bounds.Right + diff, parentBounds.Right);
+ }
+ if (bounds.Right > parentBounds.Right)
+ {
+ float diff = bounds.Right - parentBounds.Right;
+ bounds.Right = parentBounds.Right;
+ bounds.Left = Mathf.Max(bounds.Left - diff, parentBounds.Left);
+ }
+ if (bounds.Back < parentBounds.Back)
+ {
+ float diff = parentBounds.Back - bounds.Back;
+ bounds.Back = parentBounds.Back;
+ bounds.Front = Mathf.Min(bounds.Front + diff, parentBounds.Front);
+ }
+ if (bounds.Front > parentBounds.Front)
+ {
+ float diff = bounds.Front - parentBounds.Front;
+ bounds.Front = parentBounds.Front;
+ bounds.Back = Mathf.Max(bounds.Back - diff, parentBounds.Back);
+ }
+ }
+
+ ///
+ /// Shrink by raycasting on X/Z axes.
+ ///
+ void Shrink2D()
+ {
+ foreach (Transform sibling in parent.transform)
+ {
+ if (!sibling.gameObject.IsNodeAndActiveSelf())
+ {
+ continue;
+ }
+
+ Vector3 siblingSize = sibling.gameObject.LocalSize();
+ Vector3 siblingPos = sibling.localPosition;
+ Bounds2D siblingBounds = new(
+ siblingPos.x - siblingSize.x / 2 - localPadding.x,
+ siblingPos.x + siblingSize.x / 2 + localPadding.x,
+ siblingPos.z - siblingSize.z / 2 - localPadding.z,
+ siblingPos.z + siblingSize.z / 2 + localPadding.z);
+ siblingBoundsList.Add(siblingBounds);
+
+ if (siblingBounds.LineIntersect(new(targetPosition.x, targetPosition.z), Direction2D.Left) && bounds.Left <= siblingBounds.Right)
+ {
+ float newVal = SEEMath.BitIncrement(siblingBounds.Right);
+ potentialGrow.Right = newVal - bounds.Left;
+ potentialGrow.Left = 0f;
+ bounds.Left = newVal;
+ }
+ if (siblingBounds.LineIntersect(new(targetPosition.x, targetPosition.z), Direction2D.Right) && bounds.Right >= siblingBounds.Left)
+ {
+ float newVal = SEEMath.BitDecrement(siblingBounds.Left);
+ potentialGrow.Left = bounds.Right - newVal;
+ potentialGrow.Right = 0f;
+ bounds.Right = newVal;
+ }
+ if (siblingBounds.LineIntersect(new(targetPosition.x, targetPosition.z), Direction2D.Back) && bounds.Back <= siblingBounds.Front)
+ {
+ float newVal = SEEMath.BitIncrement(siblingBounds.Front);
+ potentialGrow.Front = newVal - bounds.Back;
+ potentialGrow.Back = 0f;
+ bounds.Back = newVal;
+ }
+ if (siblingBounds.LineIntersect(new(targetPosition.x, targetPosition.z), Direction2D.Front) && bounds.Front >= siblingBounds.Back)
+ {
+ float newVal = SEEMath.BitDecrement(siblingBounds.Back);
+ potentialGrow.Back = bounds.Front - newVal;
+ potentialGrow.Front = 0f;
+ bounds.Front = newVal;
+ }
+ }
+ }
+
+ ///
+ /// Shrink to prevent sibling overlap with siblings.
+ ///
+ void PreventOverlap()
+ {
+ foreach (Bounds2D siblingBounds in siblingBoundsList.Where(bounds.HasOverlap))
+ {
+ // Determine shrink direction: weight by area size
+ float area = 0f;
+ float potentialArea;
+ Direction2D direction = Direction2D.None;
+ if (bounds.Left < siblingBounds.Right)
+ {
+ float overlapLen = siblingBounds.Right - bounds.Left;
+ potentialArea = (bounds.Right - bounds.Left - overlapLen) * (bounds.Front - bounds.Back);
+ if (potentialArea > area)
+ {
+ area = potentialArea;
+ direction = Direction2D.Left;
+ }
+ }
+ if (siblingBounds.Left < bounds.Right)
+ {
+ float overlapLen = bounds.Right - siblingBounds.Left;
+ potentialArea = (bounds.Right - bounds.Left - overlapLen) * (bounds.Front - bounds.Back);
+ if (potentialArea > area)
+ {
+ area = potentialArea;
+ direction = Direction2D.Right;
+ }
+ }
+ if (bounds.Back < siblingBounds.Front)
+ {
+ float overlapLen = siblingBounds.Front - bounds.Back;
+ potentialArea = (bounds.Right - bounds.Left) * (bounds.Front - bounds.Back - overlapLen);
+ if (potentialArea > area)
+ {
+ area = potentialArea;
+ direction = Direction2D.Back;
+ }
+ }
+ if (siblingBounds.Back < bounds.Front)
+ {
+ float overlapLen = bounds.Front - siblingBounds.Back;
+ potentialArea = (bounds.Right - bounds.Left) * (bounds.Front - bounds.Back - overlapLen);
+ if (potentialArea > area)
+ {
+ direction = Direction2D.Front;
+ }
+ }
+
+ // Adapt bounds to prevent overlap with siblings
+ switch (direction)
+ {
+ case Direction2D.Left: {
+ float newVal = SEEMath.BitIncrement(siblingBounds.Right);
+ potentialGrow.Right += newVal - bounds.Left;
+ potentialGrow.Left = 0f;
+ bounds.Left = newVal;
+ break;
+ }
+ case Direction2D.Right: {
+ float newVal = SEEMath.BitDecrement(siblingBounds.Left);
+ potentialGrow.Left += bounds.Right - newVal;
+ potentialGrow.Right = 0f;
+ bounds.Right = newVal;
+ break;
+ }
+ case Direction2D.Back: {
+ float newVal = SEEMath.BitIncrement(siblingBounds.Front);
+ potentialGrow.Front += newVal - bounds.Back;
+ potentialGrow.Back = 0f;
+ bounds.Back = newVal;
+ break;
+ }
+ case Direction2D.Front: {
+ float newVal = SEEMath.BitDecrement(siblingBounds.Back);
+ potentialGrow.Back += bounds.Front - newVal;
+ potentialGrow.Front = 0f;
+ bounds.Front = newVal;
+ break;
+ }
+ }
+ }
+ }
+
+ ///
+ /// Grow to fill the available space.
+ ///
+ void FillAvailableSpace()
+ {
+ foreach (Direction2D direction in new[] {Direction2D.Left, Direction2D.Right, Direction2D.Back, Direction2D.Front})
+ {
+ float oldValue;
+ switch (direction)
+ {
+ case Direction2D.Left:
+ if (Mathf.Approximately(potentialGrow.Left, 0f))
+ {
+ continue;
+ }
+ oldValue = bounds.Left;
+ bounds.Left = Mathf.Max(bounds.Left - potentialGrow.Left, parentBounds.Left);
+ break;
+ case Direction2D.Right:
+ if (Mathf.Approximately(potentialGrow.Right, 0f))
+ {
+ continue;
+ }
+ oldValue = bounds.Right;
+ bounds.Right = Mathf.Min(bounds.Right + potentialGrow.Right, parentBounds.Right);
+ break;
+ case Direction2D.Back:
+ if (Mathf.Approximately(potentialGrow.Back, 0f))
+ {
+ continue;
+ }
+ oldValue = bounds.Back;
+ bounds.Back = Mathf.Max(bounds.Back - potentialGrow.Back, parentBounds.Back);
+ break;
+ case Direction2D.Front:
+ if (Mathf.Approximately(potentialGrow.Front, 0f))
+ {
+ continue;
+ }
+ oldValue = bounds.Front;
+ bounds.Front = Mathf.Min(bounds.Front + potentialGrow.Front, parentBounds.Front);
+ break;
+ default:
+ continue;
+ }
+
+ foreach (Bounds2D siblingBounds in siblingBoundsList.Where(bounds.HasOverlap))
+ {
+ float newValue;
+ if (direction == Direction2D.Left && bounds.Left < siblingBounds.Right &&
+ (newValue = SEEMath.BitIncrement(siblingBounds.Right)) <= oldValue)
+ {
+ bounds.Left = newValue;
+ }
+ if (direction == Direction2D.Right && bounds.Right > siblingBounds.Left &&
+ (newValue = SEEMath.BitDecrement(siblingBounds.Left)) >= oldValue)
+ {
+ bounds.Right = newValue;
+ }
+ if (direction == Direction2D.Back && bounds.Back < siblingBounds.Front &&
+ (newValue = SEEMath.BitIncrement(siblingBounds.Front)) <= oldValue)
+ {
+ bounds.Back = newValue;
+ }
+ if (direction == Direction2D.Front && bounds.Front > siblingBounds.Back &&
+ (newValue = SEEMath.BitDecrement(siblingBounds.Back)) >= oldValue)
+ {
+ bounds.Front = newValue;
+ }
+ }
+ }
+ }
+
+ ///
+ /// Squarify by applying the length of the shorter side to the other axis (X/Z).
+ /// The resulting square is moved as close as possible to the target position.
+ ///
+ void squarify()
+ {
+ Vector3 lossyScale = Vector3.Scale(scale, parent.transform.lossyScale);
+ if (lossyScale.x < lossyScale.z)
+ {
+ scale.z = lossyScale.x / parent.transform.lossyScale.z;
+
+ // Move close to target position
+ float newBackBound = position.z - 0.5f * scale.z;
+ float maxMovement = newBackBound - bounds.Back;
+ float targetMovement = targetPosition.z - position.z;
+ float actualMovement = Mathf.Min(maxMovement, Mathf.Abs(targetMovement));
+ if (targetMovement >= 0f)
+ {
+ position.z += actualMovement;
+ }
+ else
+ {
+ position.z -= actualMovement;
+ }
+ }
+ else
+ {
+ scale.x = lossyScale.z / parent.transform.lossyScale.x;
+
+ // Move close to target position
+ float newLeftBound = position.x - 0.5f * scale.x;
+ float maxMovement = newLeftBound - bounds.Left;
+ float targetMovement = targetPosition.x - position.x;
+ float actualMovement = Mathf.Min(maxMovement, Mathf.Abs(targetMovement));
+ if (targetMovement >= 0f)
+ {
+ position.x += actualMovement;
+ }
+ else
+ {
+ position.x -= actualMovement;
+ }
+ }
+ }
}
///
- /// Opens a dialog where the user can enter the node name and type.
+ /// Opens a dialog where the user can enter the node name and select its type.
/// If the user presses the OK button, the SourceName and Type of
/// will have the new values entered
/// and and
@@ -136,17 +473,17 @@ private void AddNode(GameObject parent, Vector3 position)
/// If the user presses the Cancel button, the node will be created as
/// an unnamed node with the unkown type.
///
- private void OpenDialog(Node node)
+ /// New node.
+ private void OpenDialog(GameObject go)
{
+ Node node = go.GetNode();
NodePropertyDialog dialog = new(node);
- dialog.OnConfirm.AddListener(OKButtonPressed);
- dialog.OnCancel.AddListener(CancelButtonPressed);
+ dialog.OnConfirm.AddListener(OnConfirm);
+ dialog.OnCancel.AddListener(OnCancel);
dialog.Open(true);
SEEInput.KeyboardShortcutsEnabled = false;
- return;
-
- void OKButtonPressed()
+ void OnConfirm()
{
memento.Name = node.SourceName;
memento.Type = node.Type;
@@ -156,16 +493,12 @@ void OKButtonPressed()
SEEInput.KeyboardShortcutsEnabled = true;
}
- void CancelButtonPressed()
+ void OnCancel()
{
- // Case when last used is used and it has a value other
- // then 'UNKOWNTYPE', use it.
- if (node.Type != Graph.UnknownType)
- {
- memento.Name = node.SourceName;
- memento.Type = node.Type;
- }
- progress = ProgressState.Finish;
+ // New node discarded
+ Destroyer.Destroy(go);
+ new DeleteNetAction(go.name).Execute();
+ progress = ProgressState.NoNodeSelected;
SEEInput.KeyboardShortcutsEnabled = true;
}
}
@@ -176,11 +509,11 @@ void CancelButtonPressed()
/// performs the execution via context menu.
///
/// The parent node.
- /// The position where the node should be placed.
+ /// The world-space position where the node should be placed on parent.
public void ContextMenuExecution(GameObject parent, Vector3 position)
{
- this.parent = parent;
- this.position = position;
+ contextMenuTargetParent = parent;
+ contextMenuTargetLocalPosition = parent.transform.InverseTransformPoint(position);
ExecuteViaContextMenu = true;
}
diff --git a/Assets/SEE/Controls/Actions/ResizeNodeAction.cs b/Assets/SEE/Controls/Actions/ResizeNodeAction.cs
index 9fd544480f..7f8fc2b59f 100644
--- a/Assets/SEE/Controls/Actions/ResizeNodeAction.cs
+++ b/Assets/SEE/Controls/Actions/ResizeNodeAction.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using UnityEngine;
-using UnityEngine.Rendering;
using SEE.Game;
+using SEE.Game.SceneManipulation;
using SEE.GO;
using SEE.Net.Actions;
using SEE.Utils;
@@ -323,27 +324,23 @@ private class ResizeGizmo : MonoBehaviour
private bool clicked = false;
///
- /// The sprite handles are placed just outside the parent object to prevent z-fighting.
+ /// The last recorded rotation of the camera. Used to detect camera orientation changes.
///
- private static readonly float halfAndABit = 0.5001f;
-
- #region Configurations
+ private Quaternion lastCameraRotation;
///
- /// The minimal size of a node in world space.
+ /// The forward vector of the camera projected onto the horizontal plane.
+ /// Used for calculating movement relative to the camera's orientation.
///
- private static readonly Vector3 minSize = new (0.06f, 0.001f, 0.06f);
+ private Vector3 cameraPlanarForward;
///
- /// The minimal world-space distance between nodes while resizing.
+ /// The right vector of the camera projected onto the horizontal plane.
+ /// Used for calculating movement relative to the camera's orientation.
///
- private const float padding = 0.004f;
+ private Vector3 cameraPlanarRight;
- ///
- /// A small offset is used as a difference between the detection and the set value
- /// to prevent instant re-detection.
- ///
- private const float detectionOffset = 0.0001f;
+ #region Configurations
///
/// The size of the handles.
@@ -443,82 +440,64 @@ private void Update()
///
private void InitHandles()
{
- handles = new Dictionary();
-
Vector3[] directions = new[] { Vector3.right, Vector3.left, Vector3.forward, Vector3.back,
Vector3.right + Vector3.forward, Vector3.right + Vector3.back,
Vector3.left + Vector3.forward, Vector3.left + Vector3.back };
- Vector3 position = transform.position;
- Vector3 size = gameObject.WorldSpaceSize();
- foreach (Vector3 direction in directions)
- {
- handles[CreateHandle(direction, position, size)] = direction;
- }
- GameObject upDownHandle = CreateHandle(Vector3.up, position, size);
+ Vector3 parentPosition = transform.position;
+ Vector3 parentSize = gameObject.WorldSpaceSize();
+ float yPos = parentPosition.y + 0.5f * parentSize.y + SpatialMetrics.PlacementOffset;
+ handles = directions.ToDictionary(CreateHandle);
+ GameObject upDownHandle = CreateHandle(Vector3.up);
upDownHandleTransform = upDownHandle.transform;
handles[upDownHandle] = Vector3.up;
- }
- ///
- /// Creates a resize handle game object at the appropriate position.
- ///
- /// The direction for which the handle is created.
- /// The cached parent world-space position.
- /// The cached parent world-space scale.
- /// The handle game object.
- private GameObject CreateHandle(Vector3 direction, Vector3 parentWorldPosition, Vector3 parentWorldScale)
- {
- GameObject handle = GameObject.CreatePrimitive(PrimitiveType.Plane);
- handle.transform.localScale = handleScale;
- Material material;
- if (direction == Vector3.up)
- {
- handle.transform.localRotation = Quaternion.Euler(90f, 0f, 0f);
- Texture texture = LoadTexture(resizeArrowUpDownTexture);
- material = Materials.New(Materials.ShaderType.Sprite, Color.white, texture, (int)RenderQueue.Overlay);
- }
- else if (direction.x != 0f && direction.z != 0f)
+ ///
+ /// Creates a resize handle game object at the appropriate position.
+ ///
+ /// The direction for which the handle is created.
+ /// The handle game object.
+ GameObject CreateHandle(Vector3 direction)
{
- if (direction.x > 0f)
+ GameObject handle = GameObject.CreatePrimitive(PrimitiveType.Plane);
+ handle.transform.localScale = handleScale;
+
+ Material material;
+ if (direction == Vector3.up)
{
- handle.transform.localRotation = Quaternion.Euler(0f, direction.z > 0f ? 90f : 180f, 0f);
+ handle.transform.localRotation = Quaternion.Euler(90f, 0f, 0f);
+ Texture texture = Resources.Load(resizeArrowUpDownTexture);
+ material = Materials.New(Materials.ShaderType.Sprite, Color.white, texture);
}
- else
+ else if (direction.x != 0f && direction.z != 0f)
{
- handle.transform.localRotation = Quaternion.Euler(0f, direction.z > 0f ? 0f : 270f, 0f);
+ if (direction.x > 0f)
+ {
+ handle.transform.localRotation = Quaternion.Euler(0f, direction.z > 0f ? 90f : 180f, 0f);
+ }
+ else
+ {
+ handle.transform.localRotation = Quaternion.Euler(0f, direction.z > 0f ? 0f : 270f, 0f);
+ }
+ Texture texture = Resources.Load(resizeArrowBottomRightTexture);
+ material = Materials.New(Materials.ShaderType.Sprite, Color.white, texture);
}
- Texture texture = LoadTexture(resizeArrowBottomRightTexture);
- material = Materials.New(Materials.ShaderType.Sprite, Color.white, texture, (int)RenderQueue.Overlay);
- }
- else
- {
- handle.transform.localRotation = Quaternion.Euler(0f, direction.x > 0f ? 180f : 0f + direction.z * 90f, 0f);
- Texture texture = LoadTexture(resizeArrowRightTexture);
- material = Materials.New(Materials.ShaderType.Sprite, Color.white, texture, (int)RenderQueue.Overlay);
- }
- handle.GetComponent().material = material;
- handle.transform.localPosition = new(
- parentWorldPosition.x + 0.5f * parentWorldScale.x * direction.x,
- parentWorldPosition.y
- + (direction == Vector3.up ? 0.5f * parentWorldScale.y * direction.y + halfAndABit * handle.WorldSpaceSize().y : 0f),
- parentWorldPosition.z + 0.5f * parentWorldScale.z * direction.z);
-
- handle.name = $"handle__{direction.x}_{direction.y}_{direction.z}";
- handle.transform.SetParent(transform);
- Portal.InheritPortal(from: transform.gameObject, to: handle);
- return handle;
-
- // Loads and return a texture with given path from the resources folder.
- // If no such path exists, an exception is thrown.
- static Texture LoadTexture(string path)
- {
- Texture result = Resources.Load(path);
- if (result == null)
+ else
{
- throw new Exception($"Could not load texture at path: {path}");
+ handle.transform.localRotation = Quaternion.Euler(0f, direction.x > 0f ? 180f : 0f + direction.z * 90f, 0f);
+ Texture texture = Resources.Load(resizeArrowRightTexture);
+ material = Materials.New(Materials.ShaderType.Sprite, Color.white, texture);
}
- return result;
+ handle.GetComponent().material = material;
+ handle.transform.localPosition = new(
+ parentPosition.x + 0.5f * parentSize.x * direction.x,
+ yPos + (direction == Vector3.up ? 0.5f * handle.WorldSpaceSize().y : 0f),
+ parentPosition.z + 0.5f * parentSize.z * direction.z);
+
+ handle.name = $"handle__{direction.x}_{direction.y}_{direction.z}";
+ handle.transform.SetParent(transform);
+ Portal.InheritPortal(from: transform.gameObject, to: handle);
+ return handle;
}
}
@@ -554,14 +533,14 @@ private void UpdateUpDownHandlePosition()
// The height is updated during the resize process
upDownHandleTransform.localPosition = new(
- halfAndABit * directionToCamera.x,
+ (0.5f + SpatialMetrics.PlacementOffset) * directionToCamera.x,
upDownHandleTransform.localPosition.y,
- halfAndABit * directionToCamera.z);
+ (0.5f + SpatialMetrics.PlacementOffset) * directionToCamera.z);
+ // Swap Z and Y axes because the plane is rotated 90° on the X-axis to get it upright.
void flipScales()
{
- // Note: Z and Y axes are swapped because the plane is rotated 90° on the X-axis to get it upright.
upDownHandleTransform.localScale = new(
upDownHandleTransform.localScale.y,
upDownHandleTransform.localScale.x,
@@ -603,6 +582,7 @@ void UpdateSize()
}
// Calculate new scale and position
+ // TODO (#806): Make cursorMovement compatible with VR controls
Vector3 cursorMovement;
if (currentResizeStep.Up)
{
@@ -610,19 +590,39 @@ void UpdateSize()
}
else
{
- Vector3 hitPoint = targetObjectHit.Value.point;
- cursorMovement = Vector3.Scale(currentResizeStep.InitialHitPoint - hitPoint, currentResizeStep.Direction);
+ // Update cached camera rotation if necessary
+ if (!Equals(mainCameraTransform.rotation, lastCameraRotation))
+ {
+ // Is camera looking straight up or down?
+ if (Mathf.Abs(Vector3.Dot(mainCameraTransform.forward, Vector3.up)) >= 1.0)
+ {
+ // Use the camera's right vector projected onto the horizontal plane
+ cameraPlanarRight = Vector3.ProjectOnPlane(mainCameraTransform.right, Vector3.up).normalized;
+ // Calculate forward based on right, ensuring it's perpendicular
+ cameraPlanarForward = Vector3.Cross(Vector3.up, cameraPlanarRight).normalized * Mathf.Sign(mainCameraTransform.forward.y);
+ }
+ else
+ {
+ lastCameraRotation = mainCameraTransform.rotation;
+ cameraPlanarForward = Vector3.ProjectOnPlane(mainCameraTransform.forward, Vector3.up).normalized;
+ cameraPlanarRight = Vector3.Cross(Vector3.up, cameraPlanarForward).normalized;
+ }
+ }
+
+ float deltaX = (currentResizeStep.InitialMousePosition.x - Input.mousePosition.x) * currentResizeStep.InvScreenHeight;
+ float deltaY = (currentResizeStep.InitialMousePosition.y - Input.mousePosition.y) * currentResizeStep.InvScreenHeight;
+
+ cursorMovement = new Vector3(
+ (cameraPlanarRight.x * deltaX + cameraPlanarForward.x * deltaY) * currentResizeStep.Direction.x,
+ 0f,
+ (cameraPlanarRight.z * deltaX + cameraPlanarForward.z * deltaY) * currentResizeStep.Direction.z);
}
Vector3 newLocalSize = currentResizeStep.InitialLocalSize - Vector3.Scale(currentResizeStep.LocalScaleFactor, cursorMovement);
Vector3 newLocalPosition = currentResizeStep.InitialLocalPosition
- 0.5f * Vector3.Scale(currentResizeStep.LocalScaleFactor, Vector3.Scale(cursorMovement, currentResizeStep.Direction));
// Collect children
- List children = new(transform.childCount);
- foreach (Transform child in transform)
- {
- children.Add(child);
- }
+ List children = transform.Cast().ToList();
Transform parent = transform.parent;
@@ -677,10 +677,10 @@ void UpdateSize()
{
Vector3 siblingSize = sibling.gameObject.LocalSize();
Vector3 siblingPos = sibling.localPosition;
- otherBounds.Left = siblingPos.x - siblingSize.x / 2 - currentResizeStep.LocalPadding.x + detectionOffset;
- otherBounds.Right = siblingPos.x + siblingSize.x / 2 + currentResizeStep.LocalPadding.x - detectionOffset;
- otherBounds.Back = siblingPos.z - siblingSize.z / 2 - currentResizeStep.LocalPadding.z + detectionOffset;
- otherBounds.Front = siblingPos.z + siblingSize.z / 2 + currentResizeStep.LocalPadding.z - detectionOffset;
+ otherBounds.Left = siblingPos.x - siblingSize.x / 2 - currentResizeStep.LocalPadding.x;
+ otherBounds.Right = siblingPos.x + siblingSize.x / 2 + currentResizeStep.LocalPadding.x;
+ otherBounds.Back = siblingPos.z - siblingSize.z / 2 - currentResizeStep.LocalPadding.z;
+ otherBounds.Front = siblingPos.z + siblingSize.z / 2 + currentResizeStep.LocalPadding.z;
if (bounds.Back > otherBounds.Front || bounds.Front < otherBounds.Back
|| bounds.Left > otherBounds.Right || bounds.Right < otherBounds.Left)
@@ -713,22 +713,22 @@ void UpdateSize()
{
if (currentResizeStep.Right)
{
- bounds.Right = otherBounds.Left - detectionOffset;
+ bounds.Right = SEEMath.BitDecrement(otherBounds.Left);
}
else
{
- bounds.Left = otherBounds.Right + detectionOffset;
+ bounds.Left = SEEMath.BitIncrement(otherBounds.Right);
}
}
else if (newLocalSize.z - overlap[1] > currentResizeStep.MinLocalSize.z)
{
if (currentResizeStep.Forward)
{
- bounds.Front = otherBounds.Back - detectionOffset;
+ bounds.Front = SEEMath.BitDecrement(otherBounds.Back);
}
else
{
- bounds.Back = otherBounds.Front + detectionOffset;
+ bounds.Back = SEEMath.BitIncrement(otherBounds.Front);
}
}
}
@@ -744,30 +744,30 @@ void UpdateSize()
// Child position and scale on common parent
Vector3 childPos = Vector3.Scale(child.localPosition, transform.localScale) + transform.localPosition;
Vector3 childSize = Vector3.Scale(child.gameObject.LocalSize(), transform.localScale);
- otherBounds.Left = childPos.x - childSize.x / 2 - currentResizeStep.LocalPadding.x + detectionOffset;
- otherBounds.Right = childPos.x + childSize.x / 2 + currentResizeStep.LocalPadding.x - detectionOffset;
- otherBounds.Back = childPos.z - childSize.z / 2 - currentResizeStep.LocalPadding.z + detectionOffset;
- otherBounds.Front = childPos.z + childSize.z / 2 + currentResizeStep.LocalPadding.z - detectionOffset;
+ otherBounds.Left = childPos.x - childSize.x / 2 - currentResizeStep.LocalPadding.x;
+ otherBounds.Right = childPos.x + childSize.x / 2 + currentResizeStep.LocalPadding.x;
+ otherBounds.Back = childPos.z - childSize.z / 2 - currentResizeStep.LocalPadding.z;
+ otherBounds.Front = childPos.z + childSize.z / 2 + currentResizeStep.LocalPadding.z;
if (currentResizeStep.Right && bounds.Right < otherBounds.Right)
{
- bounds.Right = otherBounds.Right + detectionOffset;
+ bounds.Right = SEEMath.BitIncrement(otherBounds.Right);
}
if (currentResizeStep.Left && bounds.Left > otherBounds.Left)
{
- bounds.Left = otherBounds.Left - detectionOffset;
+ bounds.Left = SEEMath.BitDecrement(otherBounds.Left);
}
if (currentResizeStep.Forward && bounds.Front < otherBounds.Front)
{
- bounds.Front = otherBounds.Front + detectionOffset;
+ bounds.Front = SEEMath.BitIncrement(otherBounds.Front);
}
if (currentResizeStep.Back && bounds.Back > otherBounds.Back)
{
- bounds.Back = otherBounds.Back - detectionOffset;
+ bounds.Back = SEEMath.BitDecrement(otherBounds.Back);
}
}
@@ -809,24 +809,21 @@ void UpdateSize()
// Reparent children
foreach (Transform child in children)
{
- // Adapt position
+ // Adapt children's position based on changed position and size
+ bool shift2D = !child.gameObject.IsNodeAndActiveSelf();
+ child.localPosition = new(
+ child.localPosition.x + (shift2D ? 0.5f * posDiff.x : 0f),
+ child.localPosition.y + posDiff.y, // we always resize height in positive direction
+ child.localPosition.z + (shift2D ? 0.5f * posDiff.z : 0f));
+
+ // Fix base handle position
if (child != upDownHandleTransform && handles.TryGetValue(child.gameObject, out Vector3 direction))
{
- // Reposition base handles
child.localPosition = new(
transform.localPosition.x + 0.5f * transform.localScale.x * direction.x,
- child.localPosition.y, // don't move handles up or down
+ child.localPosition.y,
transform.localPosition.z + 0.5f * transform.localScale.z * direction.z);
}
- else
- {
- // Adapt other children's position based on changed position and size
- bool shift2D = !child.gameObject.IsNodeAndActiveSelf();
- child.localPosition = new(
- child.localPosition.x + (shift2D ? 0.5f * posDiff.x * currentResizeStep.Direction.x : 0f),
- child.localPosition.y + posDiff.y, // we always resize height in positive direction
- child.localPosition.z + (shift2D ? 0.5f * posDiff.z * currentResizeStep.Direction.z : 0f));
- }
child.SetParent(transform);
}
@@ -915,6 +912,11 @@ private readonly struct ResizeStepData
///
public readonly bool Up;
+ ///
+ /// The inverse of the screen height. Cached for performance optimization in calculations.
+ ///
+ public readonly float InvScreenHeight;
+
///
/// Initializes the struct.
///
@@ -937,66 +939,17 @@ public ResizeStepData (Vector3 initialHitPoint, Vector3 direction, Transform tra
localScale.y / lossyScale.y,
localScale.z / lossyScale.z
);
- MinLocalSize = Vector3.Scale(minSize, LocalScaleFactor);
- LocalPadding = padding * LocalScaleFactor;
+ MinLocalSize = Vector3.Scale(SpatialMetrics.MinNodeSize, LocalScaleFactor);
+ LocalPadding = SpatialMetrics.Padding.x * LocalScaleFactor;
Left = Direction.x < 0;
Right = Direction.x > 0;
Back = Direction.z < 0;
Forward = Direction.z > 0;
Up = Direction.y > 0;
+ InvScreenHeight = 1f / Screen.height;
IsSet = true;
}
}
-
- ///
- /// Data structure for 2-dimensional bounds.
- ///
- private struct Bounds2D
- {
- ///
- /// The left side of the area.
- ///
- public float Left;
- ///
- /// The right side of the area.
- ///
- public float Right;
- ///
- /// The back side of the area.
- ///
- public float Back;
- ///
- /// The front side of the area.
- ///
- public float Front;
-
- ///
- /// Initializes the struct.
- ///
- public Bounds2D (float left, float right, float back, float front)
- {
- Left = left;
- Right = right;
- Back = back;
- Front = front;
- }
-
- ///
- /// Implicit conversion to string.
- ///
- public static implicit operator string(Bounds2D bounds)
- {
- return bounds.ToString();
- }
-
- ///
- /// Returns a printable string with the struct's values.
- ///
- public override readonly string ToString()
- {
- return $"{nameof(Bounds2D)}(Left: {Left}, Right: {Right}, Bottom: {Back}, Top: {Front})";
- }
- }
}
}
}
diff --git a/Assets/SEE/Game/SceneManipulation/GameNodeMover.cs b/Assets/SEE/Game/SceneManipulation/GameNodeMover.cs
index 92bc9d5193..83ff8b5eea 100644
--- a/Assets/SEE/Game/SceneManipulation/GameNodeMover.cs
+++ b/Assets/SEE/Game/SceneManipulation/GameNodeMover.cs
@@ -8,12 +8,6 @@ namespace SEE.Game.SceneManipulation
///
public static class GameNodeMover
{
- ///
- /// Empty space on the y-axis between the top of the target object and the bottom of the child
- /// object in world space units, used in .
- ///
- private const float TopPadding = 0.0001f;
-
///
/// Sets the for both in the
/// game-object hierarchy and in the underlying graph. If
@@ -63,7 +57,7 @@ public static void SetParent(GameObject child, GameObject newParent)
public static Vector3 GetCoordinatesOn(Vector3 childWorldScale, Vector3 childPosition, GameObject target)
{
Vector3 childWorldExtent = childWorldScale / 2;
- childPosition.y = target.GetRoof() + childWorldExtent.y + TopPadding;
+ childPosition.y = target.GetRoof() + childWorldExtent.y + SpatialMetrics.Padding.y;
// Make sure mappingTarget stays within the roof of parent.
{
diff --git a/Assets/SEE/Game/SceneManipulation/SpatialMetrics.cs b/Assets/SEE/Game/SceneManipulation/SpatialMetrics.cs
new file mode 100644
index 0000000000..729d009ea0
--- /dev/null
+++ b/Assets/SEE/Game/SceneManipulation/SpatialMetrics.cs
@@ -0,0 +1,243 @@
+using System;
+using UnityEngine;
+
+namespace SEE.Game.SceneManipulation
+{
+ ///
+ /// Stores metrics that are used for working with node placement.
+ ///
+ public static class SpatialMetrics
+ {
+ ///
+ /// A small offset used for placement just outside specific bounds to prevent Z-fighting.
+ ///
+ public const float PlacementOffset = 0.0001f;
+
+ ///
+ /// The default local X/Z scale of a (new) node placed on another node.
+ ///
+ public const float DefaultNodeLocalScale = 0.2f;
+
+ ///
+ /// Half the default local X/Z scale of a (new) node placed on another node,
+ /// typically used in bounds.
+ ///
+ public const float HalfDefaultNodeLocalScale = DefaultNodeLocalScale / 2f;
+
+ ///
+ /// The default world-space Y-axis size of a (new) node.
+ ///
+ public const float DefaultNodeHeight = 0.002f;
+
+ ///
+ /// The minimal size of a node in world space.
+ ///
+ public static readonly Vector3 MinNodeSize = new (0.06f, 0.001f, 0.06f);
+
+ ///
+ /// The minimal world-space distance between nodes for placing or resizing (x/z, y).
+ ///
+ public static readonly Vector3 Padding = new(0.004f, 0.0001f, 0.004f);
+
+ ///
+ /// The minimal size of a node in local scale.
+ ///
+ /// Transform of the reference node.
+ /// The in 's local scale.
+ public static Vector3 MinNodeSizeLocalScale(Transform localTransform)
+ {
+ return localTransform.InverseTransformVector(MinNodeSize);
+ }
+ }
+
+ ///
+ /// Direction in 2D plane.
+ ///
+ public enum Direction2D
+ {
+ Left, Right, Back, Front, None
+ }
+
+ ///
+ /// Data structure for 2-dimensional bounds.
+ ///
+ public struct Bounds2D
+ {
+ ///
+ /// The left side of the area.
+ ///
+ public float Left;
+ ///
+ /// The right side of the area.
+ ///
+ public float Right;
+ ///
+ /// The back side of the area.
+ ///
+ public float Back;
+ ///
+ /// The front side of the area.
+ ///
+ public float Front;
+
+ ///
+ /// Initializes the struct.
+ ///
+ public Bounds2D(float left, float right, float back, float front)
+ {
+ Left = left;
+ Right = right;
+ Back = back;
+ Front = front;
+ }
+
+ ///
+ /// Gets or sets the element at the specified direction.
+ ///
+ /// The direction of the element to get or set.
+ /// The element at the specified direction.
+ ///
+ /// Thrown when the direction is ambiguous or zero.
+ ///
+ public float this[Vector3 dir]
+ {
+ get {
+ if (dir == Vector3.left)
+ {
+ return Left;
+ }
+ if (dir == Vector3.right)
+ {
+ return Right;
+ }
+ if (dir == Vector3.forward)
+ {
+ return Front;
+ }
+ if (dir == Vector3.back)
+ {
+ return Back;
+ }
+ throw new IndexOutOfRangeException($"Given direction is not possible in {nameof(Bounds2D)}: {dir}");
+ }
+
+ set {
+ if (dir == Vector3.left)
+ {
+ Left = value;
+ }
+ else if (dir == Vector3.right)
+ {
+ Right = value;
+ }
+ else if (dir == Vector3.back)
+ {
+ Back = value;
+ }
+ else if (dir == Vector3.forward)
+ {
+ Front = value;
+ }
+ throw new IndexOutOfRangeException($"Given direction is not possible in {nameof(Bounds2D)}: {dir}");
+ }
+ }
+
+ ///
+ /// Gets or sets the element at the specified direction.
+ ///
+ /// The direction of the element to get or set.
+ /// The element at the specified direction.
+ ///
+ /// Thrown when the direction is .
+ ///
+ public float this[Direction2D dir]
+ {
+ get {
+ return dir switch
+ {
+ Direction2D.Left => Left,
+ Direction2D.Right => Right,
+ Direction2D.Back => Back,
+ Direction2D.Front => Front,
+ _ => throw new IndexOutOfRangeException($"Given direction is not possible in {nameof(Bounds2D)}: {dir}")
+ };
+ }
+
+ set {
+ switch (dir)
+ {
+ case Direction2D.Left:
+ Left = value;
+ break;
+ case Direction2D.Right:
+ Right = value;
+ break;
+ case Direction2D.Back:
+ Back = value;
+ break;
+ case Direction2D.Front:
+ Front = value;
+ break;
+ default:
+ throw new IndexOutOfRangeException($"Given direction is not possible in {nameof(Bounds2D)}: {dir}");
+ }
+ }
+ }
+
+ ///
+ /// Implicit conversion to string.
+ ///
+ public static implicit operator string(Bounds2D bounds)
+ {
+ return bounds.ToString();
+ }
+
+ ///
+ /// Returns a printable string with the struct's values.
+ ///
+ public readonly override string ToString()
+ {
+ return $"{nameof(Bounds2D)}(Left: {Left}, Right: {Right}, Back: {Back}, Front: {Front})";
+ }
+
+ ///
+ /// Checks if there is an overlap between two bounds.
+ ///
+ /// The bounds of another object.
+ /// true iff the bounds overlap.
+ public bool HasOverlap(Bounds2D other)
+ {
+ return Front >= other.Back && Back <= other.Front && Left <= other.Right && Right >= other.Left;
+ }
+
+ ///
+ /// Simulates a simple raycast and returns true if the ray from
+ /// in given intersects with the bounds.
+ ///
+ /// The position from which to cast.
+ /// The direction in which to cast.
+ /// true if the ray intersects with the bounds, else false.>
+ public bool LineIntersect(Vector2 point, Direction2D direction)
+ {
+ if ((direction == Direction2D.Left || direction == Direction2D.Right) &&
+ point.y >= Back && point.y <= Front)
+ {
+ if (direction == Direction2D.Left && point.x >= Right ||
+ direction == Direction2D.Right && point.x <= Left)
+ {
+ return true;
+ }
+ }
+ else if ((direction == Direction2D.Back || direction == Direction2D.Front) &&
+ point.x >= Left && point.x <= Right)
+ {
+ if (direction == Direction2D.Back && point.y >= Front ||
+ direction == Direction2D.Front && point.y <= Back)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+}
diff --git a/Assets/SEE/Game/SceneManipulation/SpatialMetrics.cs.meta b/Assets/SEE/Game/SceneManipulation/SpatialMetrics.cs.meta
new file mode 100644
index 0000000000..b9669c0a40
--- /dev/null
+++ b/Assets/SEE/Game/SceneManipulation/SpatialMetrics.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5cc64e9d144ba6bc5a0dab63ebb27c78
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/SEE/GameObjects/GameObjectExtensions.cs b/Assets/SEE/GameObjects/GameObjectExtensions.cs
index aa596742e7..627d0cde49 100644
--- a/Assets/SEE/GameObjects/GameObjectExtensions.cs
+++ b/Assets/SEE/GameObjects/GameObjectExtensions.cs
@@ -508,6 +508,33 @@ public static Vector3 LocalSize(this GameObject gameObject)
}
}
+ ///
+ /// Returns the bounds of the given in its own
+ /// local coordinate system.
+ ///
+ /// Note: A primitive cube has a size of (1,1,1), and a coordinate center (pivot)
+ /// of (0,0,0).
+ /// However, that does not apply for all primitives or models in general.
+ ///
+ ///
+ /// The game object.
+ /// Local-space bounds of .
+ public static Bounds LocalBounds(this GameObject gameObject)
+ {
+ if (gameObject.TryGetComponent(out MeshFilter meshFilter))
+ {
+ return meshFilter.sharedMesh.bounds;
+ }
+ if (gameObject.TryGetComponent(out Renderer renderer))
+ {
+ return new(
+ gameObject.transform.InverseTransformPoint(renderer.bounds.center),
+ gameObject.transform.InverseTransformVector(renderer.bounds.size));
+ }
+ // This fallback works for uniform primitives like cubes, but not for non-uniforms like cylinders.
+ return new(Vector3.zero, Vector3.one);
+ }
+
///
/// Returns true if this is within the spatial area of ,
/// that is, if the bounding box of plus the extra padding
@@ -1033,10 +1060,10 @@ public static GraphElementOperator Operator(this GameObject gameObject)
}
///
- /// Checks if overlaps with any other direct child node of its parent.
+ /// Checks if overlaps with any other active direct child node of its parent.
///
/// Overlap is checked based on the Collider components. Objects with no Collider
- /// component are ignored.
+ /// component and inactive nodes are ignored.
///
///
///
@@ -1044,7 +1071,7 @@ public static GraphElementOperator Operator(this GameObject gameObject)
///
/// The game object whose operator to retrieve.
/// false if does not have a Collider component,
- /// or does not overlap with its siblings
+ /// or does not overlap with its siblings.
///
/// Thrown when the object the method is called on is not a node, i.e., has no NodeRef
/// component.
@@ -1061,7 +1088,7 @@ public static bool OverlapsWithSiblings(this GameObject gameObject)
}
foreach (Transform sibling in gameObject.transform.parent)
{
- if (sibling.gameObject == gameObject || !sibling.gameObject.HasNodeRef() || !sibling.gameObject.TryGetComponent(out Collider siblingCollider))
+ if (sibling.gameObject == gameObject || !sibling.gameObject.IsNodeAndActiveSelf() || !sibling.gameObject.TryGetComponent(out Collider siblingCollider))
{
continue;
}
diff --git a/Assets/SEE/GameObjects/SEESpline.cs b/Assets/SEE/GameObjects/SEESpline.cs
index 4430f0367f..cdfe1249fa 100644
--- a/Assets/SEE/GameObjects/SEESpline.cs
+++ b/Assets/SEE/GameObjects/SEESpline.cs
@@ -299,7 +299,6 @@ private void Awake()
{
// Corresponds to the material of the LineRenderer.
defaultMaterial = Materials.New(Materials.ShaderType.TransparentEdge, Color.white);
- defaultMaterial.renderQueue = (int)(RenderQueue.Transparent + 1);
}
///
diff --git a/Assets/SEE/Net/Network.cs b/Assets/SEE/Net/Network.cs
index 8830019903..ab08b8af5d 100644
--- a/Assets/SEE/Net/Network.cs
+++ b/Assets/SEE/Net/Network.cs
@@ -275,27 +275,42 @@ private void Awake()
}
///
- /// Name of command-line argument for room password .
+ /// Name of the command-line argument containing the room password ().
///
- private const string passwordArgument = "--password";
-
+ private const string passwordArgumentName = "--password";
+ ///
+ /// Name of the environment variable containing the room password ().
+ ///
+ private const string passwordVariableName = "SEE_SERVER_PASSWORD";
+ ///
+ /// Name of the command-line argument containing the UDP port ().
+ ///
+ private const string portArgumentName = "--port";
+ ///
+ /// Name of the environment variable containing the UDP port ().
+ ///
+ private const string portVariableName = "SEE_SERVER_PORT";
+ ///
+ /// Name of the command-line argument containing the backend domain URL ().
+ ///
+ private const string domainArgumentName = "--host";
///
- /// Name of command-line argument for UDP port .
+ /// Name of the environment variable containing the backend domain URL ().
///
- private const string portArgument = "--port";
+ private const string domainVariableName = "SEE_BACKEND_DOMAIN";
///
- /// Name of command-line argument for backend domain URL .
+ /// Name of the command-line argument containing the the server id ().
///
- private const string domainArgument = "--host";
+ private const string serverIdArgumentName = "--id";
///
- /// Name of command-line argument for the server id .
+ /// Name of the environment variable containing the the server id ().
///
- private const string serverIdArgument = "--id";
+ private const string serverIdVariableName = "SEE_SERVER_ID";
///
- /// Name of command-line argument for launching this Unity instance
+ /// Name of the command-line argument for launching this Unity instance
/// as a dedicated server.
///
- private const string launchAsServerArgument = "--launch-as-server";
+ private const string launchAsServerArgumentName = "--launch-as-server";
///
/// Makes sure that we have only one and checks
@@ -315,6 +330,7 @@ private void Start()
NetworkManager.Singleton.OnServerStarted += OnServerStarted;
NetworkManager.Singleton.NetworkConfig.ConnectionApproval = true;
+ CollectEnvironmentVariables();
#if UNITY_EDITOR
Debug.Log("Skipping parsing command-line parameters in Editor mode.\n");
#else
@@ -322,11 +338,50 @@ private void Start()
#endif
}
+ ///
+ /// Processes and determines the values of the environment variables
+ /// , , ,
+ /// .
+ ///
+ private void CollectEnvironmentVariables()
+ {
+ string serverPort = Environment.GetEnvironmentVariable(portVariableName);
+ if (!string.IsNullOrWhiteSpace(serverPort))
+ {
+ try
+ {
+ ServerPort = Int32.Parse(serverPort);
+ }
+ catch (FormatException _)
+ {
+ Debug.LogWarning($"Server port passed via {portVariableName} environment variable is not a valid number.");
+ }
+ }
+
+ string roomPassword = Environment.GetEnvironmentVariable(passwordVariableName);
+ if (!string.IsNullOrWhiteSpace(roomPassword))
+ {
+ RoomPassword = roomPassword;
+ }
+
+ string backendDomain = Environment.GetEnvironmentVariable(domainVariableName);
+ if (!string.IsNullOrWhiteSpace(backendDomain))
+ {
+ BackendDomain = backendDomain;
+ }
+
+ string serverId = Environment.GetEnvironmentVariable(serverIdVariableName);
+ if (!string.IsNullOrWhiteSpace(serverId))
+ {
+ ServerId = serverId;
+ }
+ }
+
///
/// Processes and determines the values of the command-line arguments
/// , , ,
/// , and starts the server if the command-line argument
- /// is present.
+ /// is present.
///
/// thrown if an option requiring a value does
/// not have one
@@ -346,32 +401,32 @@ private void ProcessCommandLineArguments()
{
switch (arguments[i])
{
- case portArgument:
- Debug.Log($"Found {portArgument} as parameter {i}.\n");
- CheckArgumentValue(arguments, i, portArgument);
+ case portArgumentName:
+ Debug.Log($"Found {portArgumentName} as parameter {i}.\n");
+ CheckArgumentValue(arguments, i, portArgumentName);
ServerPort = Int32.Parse(arguments[i + 1]);
i++; // skip one parameter
break;
- case passwordArgument:
- Debug.Log($"Found {passwordArgument} as parameter {i}.\n");
- CheckArgumentValue(arguments, i, passwordArgument);
+ case passwordArgumentName:
+ Debug.Log($"Found {passwordArgumentName} as parameter {i}.\n");
+ CheckArgumentValue(arguments, i, passwordArgumentName);
RoomPassword = arguments[i + 1];
i++; // skip one parameter
break;
- case domainArgument:
- Debug.Log($"Found {domainArgument} as parameter {i}.\n");
- CheckArgumentValue(arguments, i, domainArgument);
+ case domainArgumentName:
+ Debug.Log($"Found {domainArgumentName} as parameter {i}.\n");
+ CheckArgumentValue(arguments, i, domainArgumentName);
BackendDomain = arguments[i + 1];
i++; // skip one parameter
break;
- case serverIdArgument:
- Debug.Log($"Found {serverIdArgument} as parameter {i}.\n");
- CheckArgumentValue(arguments, i, serverIdArgument);
+ case serverIdArgumentName:
+ Debug.Log($"Found {serverIdArgumentName} as parameter {i}.\n");
+ CheckArgumentValue(arguments, i, serverIdArgumentName);
ServerId = arguments[i + 1];
i++; // skip one parameter
break;
- case launchAsServerArgument:
- Debug.Log($"Found {launchAsServerArgument} as parameter {i}.\n");
+ case launchAsServerArgumentName:
+ Debug.Log($"Found {launchAsServerArgumentName} as parameter {i}.\n");
// This argument does not have a value. It works as a flag.
launchAsServer = true;
break;
diff --git a/Assets/SEE/Utils/SEEMath.cs b/Assets/SEE/Utils/SEEMath.cs
new file mode 100644
index 0000000000..1a0457f983
--- /dev/null
+++ b/Assets/SEE/Utils/SEEMath.cs
@@ -0,0 +1,110 @@
+using System;
+
+namespace SEE.Utils
+{
+ ///
+ /// This class contains additional mathematical functions.
+ ///
+ /// Individual methods may be copied from other sources like newer versions of dotnet framework.
+ /// Please consult method descriptions for credits and license.
+ ///
+ ///
+ public static class SEEMath
+ {
+ ///
+ /// Returns the largest value that compares less than a specified value.
+ ///
+ /// The value to decrement.
+ ///
+ /// The largest value that compares less than .
+ ///
+ /// -or-
+ ///
+ ///
+ /// if x equals .
+ ///
+ /// -or-
+ ///
+ /// if is equals .
+ ///
+ ///
+ ///
+ /// This method is part of .NET Runtime v8.0.11, licensed from the .NET Foundation under the MIT license:
+ ///
+ /// https://github.com/dotnet/runtime/blob/v8.0.11/src/libraries/System.Private.CoreLib/src/System/MathF.cs
+ ///
+ ///
+ public static float BitDecrement(float x)
+ {
+ int bits = BitConverter.SingleToInt32Bits(x);
+
+ if ((bits & 0x7F800000) >= 0x7F800000)
+ {
+ // NaN returns NaN
+ // -Infinity returns -Infinity
+ // +Infinity returns float.MaxValue
+ return (bits == 0x7F800000) ? float.MaxValue : x;
+ }
+
+ if (bits == 0x00000000)
+ {
+ // +0.0 returns -float.Epsilon
+ return -float.Epsilon;
+ }
+
+ // Negative values need to be incremented
+ // Positive values need to be decremented
+
+ bits += ((bits < 0) ? +1 : -1);
+ return BitConverter.Int32BitsToSingle(bits);
+ }
+
+ ///
+ /// Returns the smallest value that compares greater than a specified value.
+ ///
+ /// The value to increment.
+ ///
+ /// The smallest value that compares greater than .
+ ///
+ /// -or-
+ ///
+ ///
+ /// if x equals .
+ ///
+ /// -or-
+ ///
+ /// if is equals .
+ ///
+ ///
+ ///
+ /// This method is part of .NET Runtime v8.0.11, licensed from the .NET Foundation under the MIT license:
+ ///
+ /// https://github.com/dotnet/runtime/blob/v8.0.11/src/libraries/System.Private.CoreLib/src/System/MathF.cs
+ ///
+ ///
+ public static float BitIncrement(float x)
+ {
+ int bits = BitConverter.SingleToInt32Bits(x);
+
+ if ((bits & 0x7F800000) >= 0x7F800000)
+ {
+ // NaN returns NaN
+ // -Infinity returns float.MinValue
+ // +Infinity returns +Infinity
+ return (bits == unchecked((int)(0xFF800000))) ? float.MinValue : x;
+ }
+
+ if (bits == unchecked((int)(0x80000000)))
+ {
+ // -0.0 returns float.Epsilon
+ return float.Epsilon;
+ }
+
+ // Negative values need to be decremented
+ // Positive values need to be incremented
+
+ bits += ((bits < 0) ? -1 : +1);
+ return BitConverter.Int32BitsToSingle(bits);
+ }
+ }
+}
diff --git a/Assets/SEE/Utils/SEEMath.cs.meta b/Assets/SEE/Utils/SEEMath.cs.meta
new file mode 100644
index 0000000000..f018d1f235
--- /dev/null
+++ b/Assets/SEE/Utils/SEEMath.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: efa4b7760b674e0f5bcb186edf8bedd2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Server/Backend/.mvn/wrapper/maven-wrapper.properties b/Server/Backend/.mvn/wrapper/maven-wrapper.properties
index 4154b8508e..654af46a70 100644
--- a/Server/Backend/.mvn/wrapper/maven-wrapper.properties
+++ b/Server/Backend/.mvn/wrapper/maven-wrapper.properties
@@ -16,4 +16,4 @@
# under the License.
wrapperVersion=3.3.2
distributionType=only-script
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
diff --git a/Server/Backend/README.md b/Server/Backend/README.md
index bee270d9e2..bab121f830 100644
--- a/Server/Backend/README.md
+++ b/Server/Backend/README.md
@@ -39,6 +39,50 @@ Metadata to identify and retrieve files are stored in the relational database, w
--------------------------------------------------------------------------------
## Dependencies
+The backend itself manages its dependencies using Maven.
+However, there are additional dependencies to run the complete stack effectively.
+
+### Maven
+
+You can use the following command to check for outdated versions of direct dependencies:
+
+```sh
+./mvnw versions:display-dependency-updates
+```
+
+Please note that updating dependencies might require code changes.
+It is usually safe -- and strongly suggested -- to bump patch level versions.
+This is typically the third part of the version number, e.g., `1.2.3` -> `1.2.5`.
+Changes to the first two segments are often associated to breaking changes and need additional manual review and testing.
+
+The first part is referred to as *major*, the second is *minor* and the third as *incremental*.
+You can use `-DallowMinorUpdates=false` to limit the report to *incremental* updates,
+or `-DallowMajorUpdates=false` to include *minor* version updates as well.
+Omitting these parameters will result in a complete report, including *major* versions and all below.
+
+The version numbers are typically defined as properties in the respective `pom.xml` file.
+This allows us also to use the following command:
+
+```sh
+./mvnw versions:display-property-updates
+```
+
+A quick way to upgrade version numbers is the following command:
+
+```sh
+./mvnw versions:update-properties
+```
+
+Use parameters like `-DallowMinorUpdates=false` as described above if desired.
+
+Similarly to the dependency versions, the following command checks for Maven plugin updates -- updates for the build system:
+
+```sh
+./mvnw versions:display-plugin-updates
+```
+
+### Stack
+
This backend requires a container runtime to manage SEE game server instances.
Refer to the README in the parent directory for additional considerations.
diff --git a/Server/Backend/pom.xml b/Server/Backend/pom.xml
index 8a8df40199..3911404cc8 100644
--- a/Server/Backend/pom.xml
+++ b/Server/Backend/pom.xml
@@ -9,6 +9,11 @@
Parent project of the SEE management tool
pom
+
+
+ 3.9
+
+
server
@@ -20,5 +25,38 @@
repo
+
+
+
+
+ org.codehaus.mojo
+ versions-maven-plugin
+ 2.18.0
+
+ false
+
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.5.0
+
+
+ enforce-maven
+
+ enforce
+
+
+
+
+ ${maven-required-version}
+
+
+
+
+
+
+
+
diff --git a/Server/Backend/server/pom.xml b/Server/Backend/server/pom.xml
index d7d89aa71f..a8c5257361 100644
--- a/Server/Backend/server/pom.xml
+++ b/Server/Backend/server/pom.xml
@@ -18,12 +18,12 @@
${project.groupId}.manager.SeeManagerApplication
- 3.3.2
+ 3.3.7
0.11.5
3.13.0
- 3.8.0
- 3.4.0
+ 3.11.2
+ 3.4.1
diff --git a/Server/Backend/server/src/main/java/de/unibremen/swt/see/manager/service/ContainerService.java b/Server/Backend/server/src/main/java/de/unibremen/swt/see/manager/service/ContainerService.java
index 3cfa56af87..f5647c111c 100644
--- a/Server/Backend/server/src/main/java/de/unibremen/swt/see/manager/service/ContainerService.java
+++ b/Server/Backend/server/src/main/java/de/unibremen/swt/see/manager/service/ContainerService.java
@@ -94,13 +94,28 @@ public class ContainerService {
*/
private static class MaxRetriesExceededException extends RuntimeException {
+ /**
+ * Maximal number of retry attempts that were exceeded.
+ */
private final int maxAttempts;
+ /**
+ * Class constructor.
+ *
+ * @param maxAttempts the maximal number of retry attempts that were
+ * exceeded.
+ * @param cause the cause of this exception.
+ */
public MaxRetriesExceededException(int maxAttempts, Throwable cause) {
super("Operation failed after " + maxAttempts + " attempts", cause);
this.maxAttempts = maxAttempts;
}
+ /**
+ * Returns the maximal number of retry attempts that were exceeded.
+ *
+ * @return maximal retry attempts that were exceeded.
+ */
public int getMaxAttempts() {
return maxAttempts;
}
diff --git a/Server/Frontend/package.json b/Server/Frontend/package.json
index fbca39c5d3..03c8acc69a 100644
--- a/Server/Frontend/package.json
+++ b/Server/Frontend/package.json
@@ -10,33 +10,33 @@
"preview": "vite preview"
},
"dependencies": {
- "@emotion/react": "^11.13.0",
- "@emotion/styled": "^11.13.0",
- "@fontsource/roboto": "^5.0.14",
- "@fortawesome/fontawesome-svg-core": "^6.6.0",
- "@fortawesome/free-solid-svg-icons": "^6.6.0",
+ "@emotion/react": "^11.14.0",
+ "@emotion/styled": "^11.14.0",
+ "@fontsource/roboto": "^5.1.1",
+ "@fortawesome/fontawesome-svg-core": "^6.7.2",
+ "@fortawesome/free-solid-svg-icons": "^6.7.2",
"@fortawesome/react-fontawesome": "^0.2.2",
- "@mui/material": "^5.16.6",
- "axios": "^1.7.3",
+ "@mui/material": "^5.16.14",
+ "axios": "^1.7.9",
"mui-file-input": "^4.0.6",
"notistack": "^3.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
- "react-router": "^6.26.0",
- "react-router-dom": "^6.26.0"
+ "react-router": "^6.28.1",
+ "react-router-dom": "^6.28.1"
},
"devDependencies": {
- "@eslint/compat": "^1.1.1",
- "@eslint/js": "^9.8.0",
- "@types/node": "^20.14.14",
- "@types/react": "^18.3.3",
- "@types/react-dom": "^18.3.0",
- "@vitejs/plugin-react": "^4.3.1",
+ "@eslint/compat": "^1.2.5",
+ "@eslint/js": "^9.18.0",
+ "@types/node": "^20.17.13",
+ "@types/react": "^18.3.18",
+ "@types/react-dom": "^18.3.5",
+ "@vitejs/plugin-react": "^4.3.4",
"eslint": "~9.6.0",
- "eslint-plugin-react": "^7.35.0",
- "globals": "^15.9.0",
- "typescript": "^5.5.4",
+ "eslint-plugin-react": "^7.37.4",
+ "globals": "^15.14.0",
+ "typescript": "^5.7.3",
"typescript-eslint": "^7.18.0",
- "vite": "^5.3.5"
+ "vite": "^5.4.11"
}
}
diff --git a/Server/Frontend/pnpm-lock.yaml b/Server/Frontend/pnpm-lock.yaml
index 8d93d3cd75..99e609f667 100644
--- a/Server/Frontend/pnpm-lock.yaml
+++ b/Server/Frontend/pnpm-lock.yaml
@@ -9,32 +9,32 @@ importers:
.:
dependencies:
'@emotion/react':
- specifier: ^11.13.0
- version: 11.13.0(@types/react@18.3.3)(react@18.3.1)
+ specifier: ^11.14.0
+ version: 11.14.0(@types/react@18.3.18)(react@18.3.1)
'@emotion/styled':
- specifier: ^11.13.0
- version: 11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)
+ specifier: ^11.14.0
+ version: 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
'@fontsource/roboto':
- specifier: ^5.0.14
- version: 5.0.14
+ specifier: ^5.1.1
+ version: 5.1.1
'@fortawesome/fontawesome-svg-core':
- specifier: ^6.6.0
- version: 6.6.0
+ specifier: ^6.7.2
+ version: 6.7.2
'@fortawesome/free-solid-svg-icons':
- specifier: ^6.6.0
- version: 6.6.0
+ specifier: ^6.7.2
+ version: 6.7.2
'@fortawesome/react-fontawesome':
specifier: ^0.2.2
- version: 0.2.2(@fortawesome/fontawesome-svg-core@6.6.0)(react@18.3.1)
+ version: 0.2.2(@fortawesome/fontawesome-svg-core@6.7.2)(react@18.3.1)
'@mui/material':
- specifier: ^5.16.6
- version: 5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^5.16.14
+ version: 5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
axios:
- specifier: ^1.7.3
- version: 1.7.3
+ specifier: ^1.7.9
+ version: 1.7.9
mui-file-input:
specifier: ^4.0.6
- version: 4.0.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 4.0.6(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@mui/material@5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
notistack:
specifier: ^3.0.1
version: 3.0.1(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -45,48 +45,48 @@ importers:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
react-router:
- specifier: ^6.26.0
- version: 6.26.0(react@18.3.1)
+ specifier: ^6.28.1
+ version: 6.28.1(react@18.3.1)
react-router-dom:
- specifier: ^6.26.0
- version: 6.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^6.28.1
+ version: 6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
devDependencies:
'@eslint/compat':
- specifier: ^1.1.1
- version: 1.1.1
+ specifier: ^1.2.5
+ version: 1.2.5(eslint@9.6.0)
'@eslint/js':
- specifier: ^9.8.0
- version: 9.8.0
+ specifier: ^9.18.0
+ version: 9.18.0
'@types/node':
- specifier: ^20.14.14
- version: 20.14.14
+ specifier: ^20.17.13
+ version: 20.17.13
'@types/react':
- specifier: ^18.3.3
- version: 18.3.3
+ specifier: ^18.3.18
+ version: 18.3.18
'@types/react-dom':
- specifier: ^18.3.0
- version: 18.3.0
+ specifier: ^18.3.5
+ version: 18.3.5(@types/react@18.3.18)
'@vitejs/plugin-react':
- specifier: ^4.3.1
- version: 4.3.1(vite@5.3.5(@types/node@20.14.14))
+ specifier: ^4.3.4
+ version: 4.3.4(vite@5.4.11(@types/node@20.17.13))
eslint:
specifier: ~9.6.0
version: 9.6.0
eslint-plugin-react:
- specifier: ^7.35.0
- version: 7.35.0(eslint@9.6.0)
+ specifier: ^7.37.4
+ version: 7.37.4(eslint@9.6.0)
globals:
- specifier: ^15.9.0
- version: 15.9.0
+ specifier: ^15.14.0
+ version: 15.14.0
typescript:
- specifier: ^5.5.4
- version: 5.5.4
+ specifier: ^5.7.3
+ version: 5.7.3
typescript-eslint:
specifier: ^7.18.0
- version: 7.18.0(eslint@9.6.0)(typescript@5.5.4)
+ version: 7.18.0(eslint@9.6.0)(typescript@5.7.3)
vite:
- specifier: ^5.3.5
- version: 5.3.5(@types/node@20.14.14)
+ specifier: ^5.4.11
+ version: 5.4.11(@types/node@20.17.13)
packages:
@@ -94,114 +94,106 @@ packages:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- '@babel/code-frame@7.24.7':
- resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
+ '@babel/code-frame@7.26.2':
+ resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.25.2':
- resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==}
+ '@babel/compat-data@7.26.5':
+ resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.25.2':
- resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
+ '@babel/core@7.26.0':
+ resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.25.0':
- resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==}
+ '@babel/generator@7.26.5':
+ resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.25.2':
- resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
+ '@babel/helper-compilation-targets@7.26.5':
+ resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.24.7':
- resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
+ '@babel/helper-module-imports@7.25.9':
+ resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.25.2':
- resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
+ '@babel/helper-module-transforms@7.26.0':
+ resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-plugin-utils@7.24.8':
- resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==}
+ '@babel/helper-plugin-utils@7.26.5':
+ resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-simple-access@7.24.7':
- resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
+ '@babel/helper-string-parser@7.25.9':
+ resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-string-parser@7.24.8':
- resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
+ '@babel/helper-validator-identifier@7.25.9':
+ resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.24.7':
- resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
+ '@babel/helper-validator-option@7.25.9':
+ resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.24.8':
- resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==}
+ '@babel/helpers@7.26.0':
+ resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
engines: {node: '>=6.9.0'}
- '@babel/helpers@7.25.0':
- resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/highlight@7.24.7':
- resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.25.3':
- resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==}
+ '@babel/parser@7.26.5':
+ resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==}
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/plugin-transform-react-jsx-self@7.24.7':
- resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==}
+ '@babel/plugin-transform-react-jsx-self@7.25.9':
+ resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-react-jsx-source@7.24.7':
- resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==}
+ '@babel/plugin-transform-react-jsx-source@7.25.9':
+ resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/runtime@7.25.0':
- resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==}
+ '@babel/runtime@7.26.0':
+ resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.25.0':
- resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
+ '@babel/template@7.25.9':
+ resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.25.3':
- resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==}
+ '@babel/traverse@7.26.5':
+ resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.25.2':
- resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==}
+ '@babel/types@7.26.5':
+ resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==}
engines: {node: '>=6.9.0'}
- '@emotion/babel-plugin@11.12.0':
- resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==}
+ '@emotion/babel-plugin@11.13.5':
+ resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
- '@emotion/cache@11.13.1':
- resolution: {integrity: sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==}
+ '@emotion/cache@11.14.0':
+ resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==}
'@emotion/hash@0.9.2':
resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
- '@emotion/is-prop-valid@1.3.0':
- resolution: {integrity: sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==}
+ '@emotion/is-prop-valid@1.3.1':
+ resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==}
'@emotion/memoize@0.9.0':
resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==}
- '@emotion/react@11.13.0':
- resolution: {integrity: sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==}
+ '@emotion/react@11.14.0':
+ resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==}
peerDependencies:
'@types/react': '*'
react: '>=16.8.0'
@@ -209,14 +201,14 @@ packages:
'@types/react':
optional: true
- '@emotion/serialize@1.3.0':
- resolution: {integrity: sha512-jACuBa9SlYajnpIVXB+XOXnfJHyckDfe6fOpORIM6yhBDlqGuExvDdZYHDQGoDf3bZXGv7tNr+LpLjJqiEQ6EA==}
+ '@emotion/serialize@1.3.3':
+ resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==}
'@emotion/sheet@1.4.0':
resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==}
- '@emotion/styled@11.13.0':
- resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==}
+ '@emotion/styled@11.14.0':
+ resolution: {integrity: sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==}
peerDependencies:
'@emotion/react': ^11.0.0-rc.0
'@types/react': '*'
@@ -225,16 +217,16 @@ packages:
'@types/react':
optional: true
- '@emotion/unitless@0.9.0':
- resolution: {integrity: sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==}
+ '@emotion/unitless@0.10.0':
+ resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==}
- '@emotion/use-insertion-effect-with-fallbacks@1.1.0':
- resolution: {integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==}
+ '@emotion/use-insertion-effect-with-fallbacks@1.2.0':
+ resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==}
peerDependencies:
react: '>=16.8.0'
- '@emotion/utils@1.4.0':
- resolution: {integrity: sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==}
+ '@emotion/utils@1.4.2':
+ resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==}
'@emotion/weak-memoize@0.4.0':
resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==}
@@ -377,53 +369,58 @@ packages:
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.4.0':
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ '@eslint-community/eslint-utils@4.4.1':
+ resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.11.0':
- resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
+ '@eslint-community/regexpp@4.12.1':
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/compat@1.1.1':
- resolution: {integrity: sha512-lpHyRyplhGPL5mGEh6M9O5nnKk0Gz4bFI+Zu6tKlPpDUN7XshWvH9C/px4UVm87IAANE0W81CEsNGbS1KlzXpA==}
+ '@eslint/compat@1.2.5':
+ resolution: {integrity: sha512-5iuG/StT+7OfvhoBHPlmxkPA9om6aDUFgmD4+mWKAGsYt4vCe8rypneG03AuseyRHBmcCLXQtIH5S26tIoggLg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^9.10.0
+ peerDependenciesMeta:
+ eslint:
+ optional: true
'@eslint/config-array@0.17.1':
resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@3.1.0':
- resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
+ '@eslint/eslintrc@3.2.0':
+ resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.6.0':
- resolution: {integrity: sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A==}
+ '@eslint/js@9.18.0':
+ resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.8.0':
- resolution: {integrity: sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==}
+ '@eslint/js@9.6.0':
+ resolution: {integrity: sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/object-schema@2.1.4':
- resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
+ '@eslint/object-schema@2.1.5':
+ resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@fontsource/roboto@5.0.14':
- resolution: {integrity: sha512-zHAxlTTm9RuRn9/StwclFJChf3z9+fBrOxC3fw71htjHP1BgXNISwRjdJtAKAmMe5S2BzgpnjkQR93P9EZYI/Q==}
+ '@fontsource/roboto@5.1.1':
+ resolution: {integrity: sha512-XwVVXtERDQIM7HPUIbyDe0FP4SRovpjF7zMI8M7pbqFp3ahLJsJTd18h+E6pkar6UbV3btbwkKjYARr5M+SQow==}
- '@fortawesome/fontawesome-common-types@6.6.0':
- resolution: {integrity: sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==}
+ '@fortawesome/fontawesome-common-types@6.7.2':
+ resolution: {integrity: sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==}
engines: {node: '>=6'}
- '@fortawesome/fontawesome-svg-core@6.6.0':
- resolution: {integrity: sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==}
+ '@fortawesome/fontawesome-svg-core@6.7.2':
+ resolution: {integrity: sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==}
engines: {node: '>=6'}
- '@fortawesome/free-solid-svg-icons@6.6.0':
- resolution: {integrity: sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==}
+ '@fortawesome/free-solid-svg-icons@6.7.2':
+ resolution: {integrity: sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==}
engines: {node: '>=6'}
'@fortawesome/react-fontawesome@0.2.2':
@@ -436,12 +433,12 @@ packages:
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- '@humanwhocodes/retry@0.3.0':
- resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
+ '@humanwhocodes/retry@0.3.1':
+ resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
engines: {node: '>=18.18'}
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ '@jridgewell/gen-mapping@0.3.8':
+ resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
engines: {node: '>=6.0.0'}
'@jridgewell/resolve-uri@3.1.2':
@@ -458,18 +455,18 @@ packages:
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
- '@mui/core-downloads-tracker@5.16.6':
- resolution: {integrity: sha512-kytg6LheUG42V8H/o/Ptz3olSO5kUXW9zF0ox18VnblX6bO2yif1FPItgc3ey1t5ansb1+gbe7SatntqusQupg==}
+ '@mui/core-downloads-tracker@5.16.14':
+ resolution: {integrity: sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA==}
- '@mui/material@5.16.6':
- resolution: {integrity: sha512-0LUIKBOIjiFfzzFNxXZBRAyr9UQfmTAFzbt6ziOU2FDXhorNN2o3N9/32mNJbCA8zJo2FqFU6d3dtoqUDyIEfA==}
+ '@mui/material@5.16.14':
+ resolution: {integrity: sha512-eSXQVCMKU2xc7EcTxe/X/rC9QsV2jUe8eLM3MUCPYbo6V52eCE436akRIvELq/AqZpxx2bwkq7HC0cRhLB+yaw==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@emotion/react': ^11.5.0
'@emotion/styled': ^11.3.0
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- react-dom: ^17.0.0 || ^18.0.0
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@emotion/react':
optional: true
@@ -478,37 +475,37 @@ packages:
'@types/react':
optional: true
- '@mui/private-theming@5.16.6':
- resolution: {integrity: sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==}
+ '@mui/private-theming@5.16.14':
+ resolution: {integrity: sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg==}
engines: {node: '>=12.0.0'}
peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@types/react':
optional: true
- '@mui/styled-engine@5.16.6':
- resolution: {integrity: sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==}
+ '@mui/styled-engine@5.16.14':
+ resolution: {integrity: sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@emotion/react': ^11.4.1
'@emotion/styled': ^11.3.0
- react: ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@emotion/react':
optional: true
'@emotion/styled':
optional: true
- '@mui/system@5.16.6':
- resolution: {integrity: sha512-5xgyJjBIMPw8HIaZpfbGAaFYPwImQn7Nyh+wwKWhvkoIeDosQ1ZMVrbTclefi7G8hNmqhip04duYwYpbBFnBgw==}
+ '@mui/system@5.16.14':
+ resolution: {integrity: sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@emotion/react': ^11.5.0
'@emotion/styled': ^11.3.0
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@emotion/react':
optional: true
@@ -517,20 +514,20 @@ packages:
'@types/react':
optional: true
- '@mui/types@7.2.15':
- resolution: {integrity: sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==}
+ '@mui/types@7.2.21':
+ resolution: {integrity: sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww==}
peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@types/react':
optional: true
- '@mui/utils@5.16.6':
- resolution: {integrity: sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==}
+ '@mui/utils@5.16.14':
+ resolution: {integrity: sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg==}
engines: {node: '>=12.0.0'}
peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@types/react':
optional: true
@@ -550,87 +547,102 @@ packages:
'@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
- '@remix-run/router@1.19.0':
- resolution: {integrity: sha512-zDICCLKEwbVYTS6TjYaWtHXxkdoUvD/QXvyVZjGCsWz5vyH7aFeONlPffPdW+Y/t6KT0MgXb2Mfjun9YpWN1dA==}
+ '@remix-run/router@1.21.0':
+ resolution: {integrity: sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==}
engines: {node: '>=14.0.0'}
- '@rollup/rollup-android-arm-eabi@4.20.0':
- resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==}
+ '@rollup/rollup-android-arm-eabi@4.30.1':
+ resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.20.0':
- resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==}
+ '@rollup/rollup-android-arm64@4.30.1':
+ resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.20.0':
- resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==}
+ '@rollup/rollup-darwin-arm64@4.30.1':
+ resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.20.0':
- resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==}
+ '@rollup/rollup-darwin-x64@4.30.1':
+ resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-linux-arm-gnueabihf@4.20.0':
- resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==}
+ '@rollup/rollup-freebsd-arm64@4.30.1':
+ resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.30.1':
+ resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.30.1':
+ resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.20.0':
- resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==}
+ '@rollup/rollup-linux-arm-musleabihf@4.30.1':
+ resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.20.0':
- resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==}
+ '@rollup/rollup-linux-arm64-gnu@4.30.1':
+ resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.20.0':
- resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==}
+ '@rollup/rollup-linux-arm64-musl@4.30.1':
+ resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-powerpc64le-gnu@4.20.0':
- resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==}
+ '@rollup/rollup-linux-loongarch64-gnu@4.30.1':
+ resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==}
+ cpu: [loong64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.30.1':
+ resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==}
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-riscv64-gnu@4.20.0':
- resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==}
+ '@rollup/rollup-linux-riscv64-gnu@4.30.1':
+ resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.20.0':
- resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==}
+ '@rollup/rollup-linux-s390x-gnu@4.30.1':
+ resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==}
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.20.0':
- resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==}
+ '@rollup/rollup-linux-x64-gnu@4.30.1':
+ resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.20.0':
- resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==}
+ '@rollup/rollup-linux-x64-musl@4.30.1':
+ resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-win32-arm64-msvc@4.20.0':
- resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==}
+ '@rollup/rollup-win32-arm64-msvc@4.30.1':
+ resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.20.0':
- resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==}
+ '@rollup/rollup-win32-ia32-msvc@4.30.1':
+ resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.20.0':
- resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==}
+ '@rollup/rollup-win32-x64-msvc@4.30.1':
+ resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==}
cpu: [x64]
os: [win32]
@@ -646,26 +658,30 @@ packages:
'@types/babel__traverse@7.20.6':
resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
- '@types/estree@1.0.5':
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ '@types/estree@1.0.6':
+ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
- '@types/node@20.14.14':
- resolution: {integrity: sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==}
+ '@types/node@20.17.13':
+ resolution: {integrity: sha512-RNf+4dEeV69PIvyp++4IKM2vnLXtmp/JovfeQm5P5+qpKb6wHoH7INywLdZ7z+gVX46kgBP/fwJJvZYaHxtdyw==}
'@types/parse-json@4.0.2':
resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
- '@types/prop-types@15.7.12':
- resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
+ '@types/prop-types@15.7.14':
+ resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
- '@types/react-dom@18.3.0':
- resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
+ '@types/react-dom@18.3.5':
+ resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==}
+ peerDependencies:
+ '@types/react': ^18.0.0
- '@types/react-transition-group@4.4.10':
- resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==}
+ '@types/react-transition-group@4.4.12':
+ resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==}
+ peerDependencies:
+ '@types/react': '*'
- '@types/react@18.3.3':
- resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==}
+ '@types/react@18.3.18':
+ resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==}
'@typescript-eslint/eslint-plugin@7.18.0':
resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==}
@@ -725,19 +741,19 @@ packages:
resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@vitejs/plugin-react@4.3.1':
- resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==}
+ '@vitejs/plugin-react@4.3.4':
+ resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
- vite: ^4.2.0 || ^5.0.0
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn@8.12.1:
- resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
+ acorn@8.14.0:
+ resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
engines: {node: '>=0.4.0'}
hasBin: true
@@ -748,10 +764,6 @@ packages:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
- ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
-
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -759,8 +771,8 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ array-buffer-byte-length@1.0.2:
+ resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'}
array-includes@3.1.8:
@@ -775,20 +787,20 @@ packages:
resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
engines: {node: '>= 0.4'}
- array.prototype.flat@1.3.2:
- resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ array.prototype.flat@1.3.3:
+ resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
engines: {node: '>= 0.4'}
- array.prototype.flatmap@1.3.2:
- resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ array.prototype.flatmap@1.3.3:
+ resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
engines: {node: '>= 0.4'}
array.prototype.tosorted@1.1.4:
resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
engines: {node: '>= 0.4'}
- arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ arraybuffer.prototype.slice@1.0.4:
+ resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
engines: {node: '>= 0.4'}
asynckit@0.4.0:
@@ -798,8 +810,8 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
- axios@1.7.3:
- resolution: {integrity: sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw==}
+ axios@1.7.9:
+ resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==}
babel-plugin-macros@3.1.0:
resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
@@ -818,25 +830,29 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.23.3:
- resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==}
+ browserslist@4.24.4:
+ resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
- call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ call-bind-apply-helpers@1.0.1:
+ resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==}
+ engines: {node: '>= 0.4'}
+
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+ engines: {node: '>= 0.4'}
+
+ call-bound@1.0.3:
+ resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==}
engines: {node: '>= 0.4'}
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- caniuse-lite@1.0.30001649:
- resolution: {integrity: sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==}
-
- chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
+ caniuse-lite@1.0.30001692:
+ resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==}
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@@ -850,16 +866,10 @@ packages:
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
engines: {node: '>=6'}
- color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
-
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
- color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
@@ -880,27 +890,27 @@ packages:
resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
engines: {node: '>=10'}
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ data-view-buffer@1.0.2:
+ resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
engines: {node: '>= 0.4'}
- data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ data-view-byte-length@1.0.2:
+ resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
engines: {node: '>= 0.4'}
- data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
+ data-view-byte-offset@1.0.1:
+ resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
engines: {node: '>= 0.4'}
- debug@4.3.6:
- resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
+ debug@4.4.0:
+ resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -934,41 +944,45 @@ packages:
dom-helpers@5.2.1:
resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
- electron-to-chromium@1.5.4:
- resolution: {integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==}
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
+ electron-to-chromium@1.5.82:
+ resolution: {integrity: sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==}
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
- es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ es-abstract@1.23.9:
+ resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
engines: {node: '>= 0.4'}
- es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
- es-iterator-helpers@1.0.19:
- resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
+ es-iterator-helpers@1.2.1:
+ resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==}
engines: {node: '>= 0.4'}
- es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
- es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
engines: {node: '>= 0.4'}
es-shim-unscopables@1.0.2:
resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
- es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ es-to-primitive@1.3.0:
+ resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
engines: {node: '>= 0.4'}
esbuild@0.21.5:
@@ -976,34 +990,30 @@ packages:
engines: {node: '>=12'}
hasBin: true
- escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
- escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- eslint-plugin-react@7.35.0:
- resolution: {integrity: sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==}
+ eslint-plugin-react@7.37.4:
+ resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
- eslint-scope@8.0.2:
- resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==}
+ eslint-scope@8.2.0:
+ resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- eslint-visitor-keys@4.0.0:
- resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
+ eslint-visitor-keys@4.2.0:
+ resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.6.0:
@@ -1011,8 +1021,8 @@ packages:
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
- espree@10.1.0:
- resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==}
+ espree@10.3.0:
+ resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
esquery@1.6.0:
@@ -1034,8 +1044,8 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
fast-json-stable-stringify@2.1.0:
@@ -1044,8 +1054,8 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ fastq@1.18.0:
+ resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
@@ -1066,11 +1076,11 @@ packages:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
- flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ flatted@3.3.2:
+ resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
- follow-redirects@1.15.6:
- resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
+ follow-redirects@1.15.9:
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
@@ -1081,8 +1091,8 @@ packages:
for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
- form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ form-data@4.0.1:
+ resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
engines: {node: '>= 6'}
fsevents@2.3.3:
@@ -1093,8 +1103,8 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ function.prototype.name@1.1.8:
+ resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
engines: {node: '>= 0.4'}
functions-have-names@1.2.3:
@@ -1104,12 +1114,16 @@ packages:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
- get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ get-intrinsic@1.2.7:
+ resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==}
+ engines: {node: '>= 0.4'}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
- get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ get-symbol-description@1.1.0:
+ resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
engines: {node: '>= 0.4'}
glob-parent@5.1.2:
@@ -1128,8 +1142,8 @@ packages:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
- globals@15.9.0:
- resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==}
+ globals@15.14.0:
+ resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==}
engines: {node: '>=18'}
globalthis@1.0.4:
@@ -1140,23 +1154,21 @@ packages:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
- goober@2.1.14:
- resolution: {integrity: sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg==}
+ goober@2.1.16:
+ resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==}
peerDependencies:
csstype: ^3.0.10
- gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
-
- has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
+ has-bigints@1.1.0:
+ resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
+ engines: {node: '>= 0.4'}
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
@@ -1165,12 +1177,12 @@ packages:
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
- has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ has-proto@1.2.0:
+ resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
engines: {node: '>= 0.4'}
- has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
has-tostringtag@1.0.2:
@@ -1184,8 +1196,8 @@ packages:
hoist-non-react-statics@3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
- ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
import-fresh@3.3.0:
@@ -1196,53 +1208,55 @@ packages:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
- internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ internal-slot@1.1.0:
+ resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
- is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ is-array-buffer@3.0.5:
+ resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
engines: {node: '>= 0.4'}
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
- is-async-function@2.0.0:
- resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ is-async-function@2.1.0:
+ resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==}
engines: {node: '>= 0.4'}
- is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ is-bigint@1.1.0:
+ resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
+ engines: {node: '>= 0.4'}
- is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ is-boolean-object@1.2.1:
+ resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==}
engines: {node: '>= 0.4'}
is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
- is-core-module@2.15.0:
- resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==}
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
- is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ is-data-view@1.0.2:
+ resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
engines: {node: '>= 0.4'}
- is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ is-date-object@1.1.0:
+ resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
engines: {node: '>= 0.4'}
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
- is-finalizationregistry@1.0.2:
- resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ is-finalizationregistry@1.1.1:
+ resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
+ engines: {node: '>= 0.4'}
- is-generator-function@1.0.10:
- resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ is-generator-function@1.1.0:
+ resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
engines: {node: '>= 0.4'}
is-glob@4.0.3:
@@ -1253,12 +1267,8 @@ packages:
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
engines: {node: '>= 0.4'}
- is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
-
- is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ is-number-object@1.1.1:
+ resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
engines: {node: '>= 0.4'}
is-number@7.0.0:
@@ -1269,39 +1279,40 @@ packages:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
- is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
engines: {node: '>= 0.4'}
is-set@2.0.3:
resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
engines: {node: '>= 0.4'}
- is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ is-shared-array-buffer@1.0.4:
+ resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
engines: {node: '>= 0.4'}
- is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ is-string@1.1.1:
+ resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
engines: {node: '>= 0.4'}
- is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ is-symbol@1.1.1:
+ resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
engines: {node: '>= 0.4'}
- is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
engines: {node: '>= 0.4'}
is-weakmap@2.0.2:
resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
engines: {node: '>= 0.4'}
- is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ is-weakref@1.1.0:
+ resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==}
+ engines: {node: '>= 0.4'}
- is-weakset@2.0.3:
- resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
+ is-weakset@2.0.4:
+ resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
engines: {node: '>= 0.4'}
isarray@2.0.5:
@@ -1310,8 +1321,9 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- iterator.prototype@1.1.2:
- resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ iterator.prototype@1.1.5:
+ resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
+ engines: {node: '>= 0.4'}
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -1320,9 +1332,9 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
- jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
hasBin: true
json-buffer@3.0.1:
@@ -1370,12 +1382,16 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- micromatch@4.0.7:
- resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
mime-db@1.52.0:
@@ -1393,8 +1409,8 @@ packages:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
- ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
mui-file-input@4.0.6:
resolution: {integrity: sha512-NRSW7WU7L1M5BZ4AhBL11KBpdza+F7nt81AbSl9ZND8nmm+eASMS6I+/eMrh+9XxpAjSKARPBjO9Xp8gqE7ZsQ==}
@@ -1409,16 +1425,16 @@ packages:
'@types/react':
optional: true
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ nanoid@3.3.8:
+ resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- node-releases@2.0.18:
- resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
+ node-releases@2.0.19:
+ resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
notistack@3.0.1:
resolution: {integrity: sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==}
@@ -1431,16 +1447,16 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
- object-inspect@1.13.2:
- resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
+ object-inspect@1.13.3:
+ resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==}
engines: {node: '>= 0.4'}
object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
- object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ object.assign@4.1.7:
+ resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
engines: {node: '>= 0.4'}
object.entries@1.1.8:
@@ -1451,14 +1467,18 @@ packages:
resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
engines: {node: '>= 0.4'}
- object.values@1.2.0:
- resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
+ object.values@1.2.1:
+ resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
engines: {node: '>= 0.4'}
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
+ own-keys@1.0.1:
+ resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
+ engines: {node: '>= 0.4'}
+
p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
@@ -1490,8 +1510,8 @@ packages:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
- picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -1501,8 +1521,8 @@ packages:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'}
- postcss@8.4.40:
- resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==}
+ postcss@8.5.1:
+ resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.2.1:
@@ -1534,22 +1554,22 @@ packages:
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
- react-is@18.3.1:
- resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+ react-is@19.0.0:
+ resolution: {integrity: sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==}
react-refresh@0.14.2:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
- react-router-dom@6.26.0:
- resolution: {integrity: sha512-RRGUIiDtLrkX3uYcFiCIxKFWMcWQGMojpYZfcstc63A1+sSnVgILGIm9gNUA6na3Fm1QuPGSBQH2EMbAZOnMsQ==}
+ react-router-dom@6.28.1:
+ resolution: {integrity: sha512-YraE27C/RdjcZwl5UCqF/ffXnZDxpJdk9Q6jw38SZHjXs7NNdpViq2l2c7fO7+4uWaEfcwfGCv3RSg4e1By/fQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
react-dom: '>=16.8'
- react-router@6.26.0:
- resolution: {integrity: sha512-wVQq0/iFYd3iZ9H2l3N3k4PL8EEHcb0XlU2Na8nEwmiXgIUElEH6gaJDtUQxJ+JFzmIXaQjfdpcGWaM6IoQGxg==}
+ react-router@6.28.1:
+ resolution: {integrity: sha512-2omQTA3rkMljmrvvo6WtewGdVh45SpL9hGiCI9uUrwGGfNFDIvGK4gYJsKlJoNVi6AQZcopSCballL+QGOm7fA==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
@@ -1564,23 +1584,24 @@ packages:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
- reflect.getprototypeof@1.0.6:
- resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
+ reflect.getprototypeof@1.0.10:
+ resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
- regexp.prototype.flags@1.5.2:
- resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ regexp.prototype.flags@1.5.4:
+ resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ resolve@1.22.10:
+ resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+ engines: {node: '>= 0.4'}
hasBin: true
resolve@2.0.0-next.5:
@@ -1591,20 +1612,24 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rollup@4.20.0:
- resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==}
+ rollup@4.30.1:
+ resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
+ safe-array-concat@1.1.3:
+ resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
engines: {node: '>=0.4'}
- safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ safe-push-apply@1.0.0:
+ resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
+ engines: {node: '>= 0.4'}
+
+ safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
engines: {node: '>= 0.4'}
scheduler@0.23.2:
@@ -1627,6 +1652,10 @@ packages:
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
engines: {node: '>= 0.4'}
+ set-proto@1.0.0:
+ resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
+ engines: {node: '>= 0.4'}
+
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -1635,35 +1664,48 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
+
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
engines: {node: '>= 0.4'}
slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
- source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
source-map@0.5.7:
resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
engines: {node: '>=0.10.0'}
- string.prototype.matchall@4.0.11:
- resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
+ string.prototype.matchall@4.0.12:
+ resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
engines: {node: '>= 0.4'}
string.prototype.repeat@1.0.0:
resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
- string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
+ string.prototype.trim@1.2.10:
+ resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
engines: {node: '>= 0.4'}
- string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+ string.prototype.trimend@1.0.9:
+ resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
+ engines: {node: '>= 0.4'}
string.prototype.trimstart@1.0.8:
resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
@@ -1680,10 +1722,6 @@ packages:
stylis@4.2.0:
resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
- supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
-
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -1695,16 +1733,12 @@ packages:
text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
- ts-api-utils@1.3.0:
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ ts-api-utils@1.4.3:
+ resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==}
engines: {node: '>=16'}
peerDependencies:
typescript: '>=4.2.0'
@@ -1713,20 +1747,20 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
+ typed-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
- typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
+ typed-array-byte-length@1.0.3:
+ resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
engines: {node: '>= 0.4'}
- typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
+ typed-array-byte-offset@1.0.4:
+ resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
engines: {node: '>= 0.4'}
- typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
+ typed-array-length@1.0.7:
+ resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'}
typescript-eslint@7.18.0:
@@ -1739,19 +1773,20 @@ packages:
typescript:
optional: true
- typescript@5.5.4:
- resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
+ typescript@5.7.3:
+ resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
engines: {node: '>=14.17'}
hasBin: true
- unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ unbox-primitive@1.1.0:
+ resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
+ engines: {node: '>= 0.4'}
- undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ undici-types@6.19.8:
+ resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
- update-browserslist-db@1.1.0:
- resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
+ update-browserslist-db@1.1.2:
+ resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -1759,8 +1794,8 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- vite@5.3.5:
- resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==}
+ vite@5.4.11:
+ resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -1768,6 +1803,7 @@ packages:
less: '*'
lightningcss: ^1.21.0
sass: '*'
+ sass-embedded: '*'
stylus: '*'
sugarss: '*'
terser: ^5.4.0
@@ -1780,6 +1816,8 @@ packages:
optional: true
sass:
optional: true
+ sass-embedded:
+ optional: true
stylus:
optional: true
sugarss:
@@ -1787,19 +1825,20 @@ packages:
terser:
optional: true
- which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ which-boxed-primitive@1.1.1:
+ resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
+ engines: {node: '>= 0.4'}
- which-builtin-type@1.1.4:
- resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==}
+ which-builtin-type@1.2.1:
+ resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
engines: {node: '>= 0.4'}
which-collection@1.0.2:
resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
engines: {node: '>= 0.4'}
- which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ which-typed-array@1.1.18:
+ resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==}
engines: {node: '>= 0.4'}
which@2.0.2:
@@ -1826,144 +1865,130 @@ snapshots:
'@ampproject/remapping@2.3.0':
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
- '@babel/code-frame@7.24.7':
+ '@babel/code-frame@7.26.2':
dependencies:
- '@babel/highlight': 7.24.7
- picocolors: 1.0.1
+ '@babel/helper-validator-identifier': 7.25.9
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
- '@babel/compat-data@7.25.2': {}
+ '@babel/compat-data@7.26.5': {}
- '@babel/core@7.25.2':
+ '@babel/core@7.26.0':
dependencies:
'@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.0
- '@babel/helper-compilation-targets': 7.25.2
- '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
- '@babel/helpers': 7.25.0
- '@babel/parser': 7.25.3
- '@babel/template': 7.25.0
- '@babel/traverse': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.5
+ '@babel/helper-compilation-targets': 7.26.5
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helpers': 7.26.0
+ '@babel/parser': 7.26.5
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.26.5
+ '@babel/types': 7.26.5
convert-source-map: 2.0.0
- debug: 4.3.6
+ debug: 4.4.0
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.25.0':
+ '@babel/generator@7.26.5':
dependencies:
- '@babel/types': 7.25.2
- '@jridgewell/gen-mapping': 0.3.5
+ '@babel/parser': 7.26.5
+ '@babel/types': 7.26.5
+ '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
+ jsesc: 3.1.0
- '@babel/helper-compilation-targets@7.25.2':
+ '@babel/helper-compilation-targets@7.26.5':
dependencies:
- '@babel/compat-data': 7.25.2
- '@babel/helper-validator-option': 7.24.8
- browserslist: 4.23.3
+ '@babel/compat-data': 7.26.5
+ '@babel/helper-validator-option': 7.25.9
+ browserslist: 4.24.4
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-module-imports@7.24.7':
- dependencies:
- '@babel/traverse': 7.25.3
- '@babel/types': 7.25.2
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
+ '@babel/helper-module-imports@7.25.9':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.24.7
- '@babel/helper-simple-access': 7.24.7
- '@babel/helper-validator-identifier': 7.24.7
- '@babel/traverse': 7.25.3
+ '@babel/traverse': 7.26.5
+ '@babel/types': 7.26.5
transitivePeerDependencies:
- supports-color
- '@babel/helper-plugin-utils@7.24.8': {}
-
- '@babel/helper-simple-access@7.24.7':
+ '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
dependencies:
- '@babel/traverse': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/core': 7.26.0
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+ '@babel/traverse': 7.26.5
transitivePeerDependencies:
- supports-color
- '@babel/helper-string-parser@7.24.8': {}
+ '@babel/helper-plugin-utils@7.26.5': {}
- '@babel/helper-validator-identifier@7.24.7': {}
+ '@babel/helper-string-parser@7.25.9': {}
- '@babel/helper-validator-option@7.24.8': {}
+ '@babel/helper-validator-identifier@7.25.9': {}
- '@babel/helpers@7.25.0':
- dependencies:
- '@babel/template': 7.25.0
- '@babel/types': 7.25.2
+ '@babel/helper-validator-option@7.25.9': {}
- '@babel/highlight@7.24.7':
+ '@babel/helpers@7.26.0':
dependencies:
- '@babel/helper-validator-identifier': 7.24.7
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.1
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.5
- '@babel/parser@7.25.3':
+ '@babel/parser@7.26.5':
dependencies:
- '@babel/types': 7.25.2
+ '@babel/types': 7.26.5
- '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.26.5
- '@babel/runtime@7.25.0':
+ '@babel/runtime@7.26.0':
dependencies:
regenerator-runtime: 0.14.1
- '@babel/template@7.25.0':
+ '@babel/template@7.25.9':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/parser': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/code-frame': 7.26.2
+ '@babel/parser': 7.26.5
+ '@babel/types': 7.26.5
- '@babel/traverse@7.25.3':
+ '@babel/traverse@7.26.5':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.0
- '@babel/parser': 7.25.3
- '@babel/template': 7.25.0
- '@babel/types': 7.25.2
- debug: 4.3.6
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.5
+ '@babel/parser': 7.26.5
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.5
+ debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/types@7.25.2':
+ '@babel/types@7.26.5':
dependencies:
- '@babel/helper-string-parser': 7.24.8
- '@babel/helper-validator-identifier': 7.24.7
- to-fast-properties: 2.0.0
+ '@babel/helper-string-parser': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
- '@emotion/babel-plugin@11.12.0':
+ '@emotion/babel-plugin@11.13.5':
dependencies:
- '@babel/helper-module-imports': 7.24.7
- '@babel/runtime': 7.25.0
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/runtime': 7.26.0
'@emotion/hash': 0.9.2
'@emotion/memoize': 0.9.0
- '@emotion/serialize': 1.3.0
+ '@emotion/serialize': 1.3.3
babel-plugin-macros: 3.1.0
convert-source-map: 1.9.0
escape-string-regexp: 4.0.0
@@ -1973,70 +1998,70 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@emotion/cache@11.13.1':
+ '@emotion/cache@11.14.0':
dependencies:
'@emotion/memoize': 0.9.0
'@emotion/sheet': 1.4.0
- '@emotion/utils': 1.4.0
+ '@emotion/utils': 1.4.2
'@emotion/weak-memoize': 0.4.0
stylis: 4.2.0
'@emotion/hash@0.9.2': {}
- '@emotion/is-prop-valid@1.3.0':
+ '@emotion/is-prop-valid@1.3.1':
dependencies:
'@emotion/memoize': 0.9.0
'@emotion/memoize@0.9.0': {}
- '@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1)':
+ '@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@babel/runtime': 7.25.0
- '@emotion/babel-plugin': 11.12.0
- '@emotion/cache': 11.13.1
- '@emotion/serialize': 1.3.0
- '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1)
- '@emotion/utils': 1.4.0
+ '@babel/runtime': 7.26.0
+ '@emotion/babel-plugin': 11.13.5
+ '@emotion/cache': 11.14.0
+ '@emotion/serialize': 1.3.3
+ '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1)
+ '@emotion/utils': 1.4.2
'@emotion/weak-memoize': 0.4.0
hoist-non-react-statics: 3.3.2
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.3
+ '@types/react': 18.3.18
transitivePeerDependencies:
- supports-color
- '@emotion/serialize@1.3.0':
+ '@emotion/serialize@1.3.3':
dependencies:
'@emotion/hash': 0.9.2
'@emotion/memoize': 0.9.0
- '@emotion/unitless': 0.9.0
- '@emotion/utils': 1.4.0
+ '@emotion/unitless': 0.10.0
+ '@emotion/utils': 1.4.2
csstype: 3.1.3
'@emotion/sheet@1.4.0': {}
- '@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)':
+ '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@babel/runtime': 7.25.0
- '@emotion/babel-plugin': 11.12.0
- '@emotion/is-prop-valid': 1.3.0
- '@emotion/react': 11.13.0(@types/react@18.3.3)(react@18.3.1)
- '@emotion/serialize': 1.3.0
- '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1)
- '@emotion/utils': 1.4.0
+ '@babel/runtime': 7.26.0
+ '@emotion/babel-plugin': 11.13.5
+ '@emotion/is-prop-valid': 1.3.1
+ '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
+ '@emotion/serialize': 1.3.3
+ '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1)
+ '@emotion/utils': 1.4.2
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.3
+ '@types/react': 18.3.18
transitivePeerDependencies:
- supports-color
- '@emotion/unitless@0.9.0': {}
+ '@emotion/unitless@0.10.0': {}
- '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@18.3.1)':
+ '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@18.3.1)':
dependencies:
react: 18.3.1
- '@emotion/utils@1.4.0': {}
+ '@emotion/utils@1.4.2': {}
'@emotion/weak-memoize@0.4.0': {}
@@ -2109,30 +2134,32 @@ snapshots:
'@esbuild/win32-x64@0.21.5':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@9.6.0)':
+ '@eslint-community/eslint-utils@4.4.1(eslint@9.6.0)':
dependencies:
eslint: 9.6.0
eslint-visitor-keys: 3.4.3
- '@eslint-community/regexpp@4.11.0': {}
+ '@eslint-community/regexpp@4.12.1': {}
- '@eslint/compat@1.1.1': {}
+ '@eslint/compat@1.2.5(eslint@9.6.0)':
+ optionalDependencies:
+ eslint: 9.6.0
'@eslint/config-array@0.17.1':
dependencies:
- '@eslint/object-schema': 2.1.4
- debug: 4.3.6
+ '@eslint/object-schema': 2.1.5
+ debug: 4.4.0
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- '@eslint/eslintrc@3.1.0':
+ '@eslint/eslintrc@3.2.0':
dependencies:
ajv: 6.12.6
- debug: 4.3.6
- espree: 10.1.0
+ debug: 4.4.0
+ espree: 10.3.0
globals: 14.0.0
- ignore: 5.3.1
+ ignore: 5.3.2
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -2140,35 +2167,35 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.6.0': {}
+ '@eslint/js@9.18.0': {}
- '@eslint/js@9.8.0': {}
+ '@eslint/js@9.6.0': {}
- '@eslint/object-schema@2.1.4': {}
+ '@eslint/object-schema@2.1.5': {}
- '@fontsource/roboto@5.0.14': {}
+ '@fontsource/roboto@5.1.1': {}
- '@fortawesome/fontawesome-common-types@6.6.0': {}
+ '@fortawesome/fontawesome-common-types@6.7.2': {}
- '@fortawesome/fontawesome-svg-core@6.6.0':
+ '@fortawesome/fontawesome-svg-core@6.7.2':
dependencies:
- '@fortawesome/fontawesome-common-types': 6.6.0
+ '@fortawesome/fontawesome-common-types': 6.7.2
- '@fortawesome/free-solid-svg-icons@6.6.0':
+ '@fortawesome/free-solid-svg-icons@6.7.2':
dependencies:
- '@fortawesome/fontawesome-common-types': 6.6.0
+ '@fortawesome/fontawesome-common-types': 6.7.2
- '@fortawesome/react-fontawesome@0.2.2(@fortawesome/fontawesome-svg-core@6.6.0)(react@18.3.1)':
+ '@fortawesome/react-fontawesome@0.2.2(@fortawesome/fontawesome-svg-core@6.7.2)(react@18.3.1)':
dependencies:
- '@fortawesome/fontawesome-svg-core': 6.6.0
+ '@fortawesome/fontawesome-svg-core': 6.7.2
prop-types: 15.8.1
react: 18.3.1
'@humanwhocodes/module-importer@1.0.1': {}
- '@humanwhocodes/retry@0.3.0': {}
+ '@humanwhocodes/retry@0.3.1': {}
- '@jridgewell/gen-mapping@0.3.5':
+ '@jridgewell/gen-mapping@0.3.8':
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
@@ -2185,80 +2212,80 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
- '@mui/core-downloads-tracker@5.16.6': {}
+ '@mui/core-downloads-tracker@5.16.14': {}
- '@mui/material@5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@mui/material@5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@babel/runtime': 7.25.0
- '@mui/core-downloads-tracker': 5.16.6
- '@mui/system': 5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)
- '@mui/types': 7.2.15(@types/react@18.3.3)
- '@mui/utils': 5.16.6(@types/react@18.3.3)(react@18.3.1)
+ '@babel/runtime': 7.26.0
+ '@mui/core-downloads-tracker': 5.16.14
+ '@mui/system': 5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
+ '@mui/types': 7.2.21(@types/react@18.3.18)
+ '@mui/utils': 5.16.14(@types/react@18.3.18)(react@18.3.1)
'@popperjs/core': 2.11.8
- '@types/react-transition-group': 4.4.10
+ '@types/react-transition-group': 4.4.12(@types/react@18.3.18)
clsx: 2.1.1
csstype: 3.1.3
prop-types: 15.8.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- react-is: 18.3.1
+ react-is: 19.0.0
react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
optionalDependencies:
- '@emotion/react': 11.13.0(@types/react@18.3.3)(react@18.3.1)
- '@emotion/styled': 11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
+ '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
+ '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
+ '@types/react': 18.3.18
- '@mui/private-theming@5.16.6(@types/react@18.3.3)(react@18.3.1)':
+ '@mui/private-theming@5.16.14(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@babel/runtime': 7.25.0
- '@mui/utils': 5.16.6(@types/react@18.3.3)(react@18.3.1)
+ '@babel/runtime': 7.26.0
+ '@mui/utils': 5.16.14(@types/react@18.3.18)(react@18.3.1)
prop-types: 15.8.1
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.3
+ '@types/react': 18.3.18
- '@mui/styled-engine@5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)':
+ '@mui/styled-engine@5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(react@18.3.1)':
dependencies:
- '@babel/runtime': 7.25.0
- '@emotion/cache': 11.13.1
+ '@babel/runtime': 7.26.0
+ '@emotion/cache': 11.14.0
csstype: 3.1.3
prop-types: 15.8.1
react: 18.3.1
optionalDependencies:
- '@emotion/react': 11.13.0(@types/react@18.3.3)(react@18.3.1)
- '@emotion/styled': 11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)
+ '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
+ '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
- '@mui/system@5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)':
+ '@mui/system@5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@babel/runtime': 7.25.0
- '@mui/private-theming': 5.16.6(@types/react@18.3.3)(react@18.3.1)
- '@mui/styled-engine': 5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)
- '@mui/types': 7.2.15(@types/react@18.3.3)
- '@mui/utils': 5.16.6(@types/react@18.3.3)(react@18.3.1)
+ '@babel/runtime': 7.26.0
+ '@mui/private-theming': 5.16.14(@types/react@18.3.18)(react@18.3.1)
+ '@mui/styled-engine': 5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(react@18.3.1)
+ '@mui/types': 7.2.21(@types/react@18.3.18)
+ '@mui/utils': 5.16.14(@types/react@18.3.18)(react@18.3.1)
clsx: 2.1.1
csstype: 3.1.3
prop-types: 15.8.1
react: 18.3.1
optionalDependencies:
- '@emotion/react': 11.13.0(@types/react@18.3.3)(react@18.3.1)
- '@emotion/styled': 11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
+ '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
+ '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
+ '@types/react': 18.3.18
- '@mui/types@7.2.15(@types/react@18.3.3)':
+ '@mui/types@7.2.21(@types/react@18.3.18)':
optionalDependencies:
- '@types/react': 18.3.3
+ '@types/react': 18.3.18
- '@mui/utils@5.16.6(@types/react@18.3.3)(react@18.3.1)':
+ '@mui/utils@5.16.14(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@babel/runtime': 7.25.0
- '@mui/types': 7.2.15(@types/react@18.3.3)
- '@types/prop-types': 15.7.12
+ '@babel/runtime': 7.26.0
+ '@mui/types': 7.2.21(@types/react@18.3.18)
+ '@types/prop-types': 15.7.14
clsx: 2.1.1
prop-types: 15.8.1
react: 18.3.1
- react-is: 18.3.1
+ react-is: 19.0.0
optionalDependencies:
- '@types/react': 18.3.3
+ '@types/react': 18.3.18
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -2270,132 +2297,141 @@ snapshots:
'@nodelib/fs.walk@1.2.8':
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
+ fastq: 1.18.0
'@popperjs/core@2.11.8': {}
- '@remix-run/router@1.19.0': {}
+ '@remix-run/router@1.21.0': {}
+
+ '@rollup/rollup-android-arm-eabi@4.30.1':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.30.1':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.30.1':
+ optional: true
- '@rollup/rollup-android-arm-eabi@4.20.0':
+ '@rollup/rollup-darwin-x64@4.30.1':
optional: true
- '@rollup/rollup-android-arm64@4.20.0':
+ '@rollup/rollup-freebsd-arm64@4.30.1':
optional: true
- '@rollup/rollup-darwin-arm64@4.20.0':
+ '@rollup/rollup-freebsd-x64@4.30.1':
optional: true
- '@rollup/rollup-darwin-x64@4.20.0':
+ '@rollup/rollup-linux-arm-gnueabihf@4.30.1':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.20.0':
+ '@rollup/rollup-linux-arm-musleabihf@4.30.1':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.20.0':
+ '@rollup/rollup-linux-arm64-gnu@4.30.1':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.20.0':
+ '@rollup/rollup-linux-arm64-musl@4.30.1':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.20.0':
+ '@rollup/rollup-linux-loongarch64-gnu@4.30.1':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.20.0':
+ '@rollup/rollup-linux-powerpc64le-gnu@4.30.1':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.20.0':
+ '@rollup/rollup-linux-riscv64-gnu@4.30.1':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.20.0':
+ '@rollup/rollup-linux-s390x-gnu@4.30.1':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.20.0':
+ '@rollup/rollup-linux-x64-gnu@4.30.1':
optional: true
- '@rollup/rollup-linux-x64-musl@4.20.0':
+ '@rollup/rollup-linux-x64-musl@4.30.1':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.20.0':
+ '@rollup/rollup-win32-arm64-msvc@4.30.1':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.20.0':
+ '@rollup/rollup-win32-ia32-msvc@4.30.1':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.20.0':
+ '@rollup/rollup-win32-x64-msvc@4.30.1':
optional: true
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/parser': 7.26.5
+ '@babel/types': 7.26.5
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.6
'@types/babel__generator@7.6.8':
dependencies:
- '@babel/types': 7.25.2
+ '@babel/types': 7.26.5
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/parser': 7.26.5
+ '@babel/types': 7.26.5
'@types/babel__traverse@7.20.6':
dependencies:
- '@babel/types': 7.25.2
+ '@babel/types': 7.26.5
- '@types/estree@1.0.5': {}
+ '@types/estree@1.0.6': {}
- '@types/node@20.14.14':
+ '@types/node@20.17.13':
dependencies:
- undici-types: 5.26.5
+ undici-types: 6.19.8
'@types/parse-json@4.0.2': {}
- '@types/prop-types@15.7.12': {}
+ '@types/prop-types@15.7.14': {}
- '@types/react-dom@18.3.0':
+ '@types/react-dom@18.3.5(@types/react@18.3.18)':
dependencies:
- '@types/react': 18.3.3
+ '@types/react': 18.3.18
- '@types/react-transition-group@4.4.10':
+ '@types/react-transition-group@4.4.12(@types/react@18.3.18)':
dependencies:
- '@types/react': 18.3.3
+ '@types/react': 18.3.18
- '@types/react@18.3.3':
+ '@types/react@18.3.18':
dependencies:
- '@types/prop-types': 15.7.12
+ '@types/prop-types': 15.7.14
csstype: 3.1.3
- '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.6.0)(typescript@5.5.4))(eslint@9.6.0)(typescript@5.5.4)':
+ '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.6.0)(typescript@5.7.3))(eslint@9.6.0)(typescript@5.7.3)':
dependencies:
- '@eslint-community/regexpp': 4.11.0
- '@typescript-eslint/parser': 7.18.0(eslint@9.6.0)(typescript@5.5.4)
+ '@eslint-community/regexpp': 4.12.1
+ '@typescript-eslint/parser': 7.18.0(eslint@9.6.0)(typescript@5.7.3)
'@typescript-eslint/scope-manager': 7.18.0
- '@typescript-eslint/type-utils': 7.18.0(eslint@9.6.0)(typescript@5.5.4)
- '@typescript-eslint/utils': 7.18.0(eslint@9.6.0)(typescript@5.5.4)
+ '@typescript-eslint/type-utils': 7.18.0(eslint@9.6.0)(typescript@5.7.3)
+ '@typescript-eslint/utils': 7.18.0(eslint@9.6.0)(typescript@5.7.3)
'@typescript-eslint/visitor-keys': 7.18.0
eslint: 9.6.0
graphemer: 1.4.0
- ignore: 5.3.1
+ ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.5.4)
+ ts-api-utils: 1.4.3(typescript@5.7.3)
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.7.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@7.18.0(eslint@9.6.0)(typescript@5.5.4)':
+ '@typescript-eslint/parser@7.18.0(eslint@9.6.0)(typescript@5.7.3)':
dependencies:
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/types': 7.18.0
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3)
'@typescript-eslint/visitor-keys': 7.18.0
- debug: 4.3.6
+ debug: 4.4.0
eslint: 9.6.0
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.7.3
transitivePeerDependencies:
- supports-color
@@ -2404,41 +2440,41 @@ snapshots:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/visitor-keys': 7.18.0
- '@typescript-eslint/type-utils@7.18.0(eslint@9.6.0)(typescript@5.5.4)':
+ '@typescript-eslint/type-utils@7.18.0(eslint@9.6.0)(typescript@5.7.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
- '@typescript-eslint/utils': 7.18.0(eslint@9.6.0)(typescript@5.5.4)
- debug: 4.3.6
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3)
+ '@typescript-eslint/utils': 7.18.0(eslint@9.6.0)(typescript@5.7.3)
+ debug: 4.4.0
eslint: 9.6.0
- ts-api-utils: 1.3.0(typescript@5.5.4)
+ ts-api-utils: 1.4.3(typescript@5.7.3)
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.7.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@7.18.0': {}
- '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)':
+ '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.3)':
dependencies:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/visitor-keys': 7.18.0
- debug: 4.3.6
+ debug: 4.4.0
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.5.4)
+ ts-api-utils: 1.4.3(typescript@5.7.3)
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.7.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@7.18.0(eslint@9.6.0)(typescript@5.5.4)':
+ '@typescript-eslint/utils@7.18.0(eslint@9.6.0)(typescript@5.7.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0)
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.6.0)
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/types': 7.18.0
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3)
eslint: 9.6.0
transitivePeerDependencies:
- supports-color
@@ -2449,22 +2485,22 @@ snapshots:
'@typescript-eslint/types': 7.18.0
eslint-visitor-keys: 3.4.3
- '@vitejs/plugin-react@4.3.1(vite@5.3.5(@types/node@20.14.14))':
+ '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@20.17.13))':
dependencies:
- '@babel/core': 7.25.2
- '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2)
- '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2)
+ '@babel/core': 7.26.0
+ '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
- vite: 5.3.5(@types/node@20.14.14)
+ vite: 5.4.11(@types/node@20.17.13)
transitivePeerDependencies:
- supports-color
- acorn-jsx@5.3.2(acorn@8.12.1):
+ acorn-jsx@5.3.2(acorn@8.14.0):
dependencies:
- acorn: 8.12.1
+ acorn: 8.14.0
- acorn@8.12.1: {}
+ acorn@8.14.0: {}
ajv@6.12.6:
dependencies:
@@ -2475,73 +2511,68 @@ snapshots:
ansi-regex@5.0.1: {}
- ansi-styles@3.2.1:
- dependencies:
- color-convert: 1.9.3
-
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
argparse@2.0.1: {}
- array-buffer-byte-length@1.0.1:
+ array-buffer-byte-length@1.0.2:
dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.4
+ call-bound: 1.0.3
+ is-array-buffer: 3.0.5
array-includes@3.1.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
- get-intrinsic: 1.2.4
- is-string: 1.0.7
+ es-abstract: 1.23.9
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.2.7
+ is-string: 1.1.1
array-union@2.1.0: {}
array.prototype.findlast@1.2.5:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
es-shim-unscopables: 1.0.2
- array.prototype.flat@1.3.2:
+ array.prototype.flat@1.3.3:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-shim-unscopables: 1.0.2
- array.prototype.flatmap@1.3.2:
+ array.prototype.flatmap@1.3.3:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-shim-unscopables: 1.0.2
array.prototype.tosorted@1.1.4:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
es-shim-unscopables: 1.0.2
- arraybuffer.prototype.slice@1.0.3:
+ arraybuffer.prototype.slice@1.0.4:
dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
+ array-buffer-byte-length: 1.0.2
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
- get-intrinsic: 1.2.4
- is-array-buffer: 3.0.4
- is-shared-array-buffer: 1.0.3
+ get-intrinsic: 1.2.7
+ is-array-buffer: 3.0.5
asynckit@0.4.0: {}
@@ -2549,19 +2580,19 @@ snapshots:
dependencies:
possible-typed-array-names: 1.0.0
- axios@1.7.3:
+ axios@1.7.9:
dependencies:
- follow-redirects: 1.15.6
- form-data: 4.0.0
+ follow-redirects: 1.15.9
+ form-data: 4.0.1
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
babel-plugin-macros@3.1.0:
dependencies:
- '@babel/runtime': 7.25.0
+ '@babel/runtime': 7.26.0
cosmiconfig: 7.1.0
- resolve: 1.22.8
+ resolve: 1.22.10
balanced-match@1.0.2: {}
@@ -2578,30 +2609,33 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browserslist@4.23.3:
+ browserslist@4.24.4:
dependencies:
- caniuse-lite: 1.0.30001649
- electron-to-chromium: 1.5.4
- node-releases: 2.0.18
- update-browserslist-db: 1.1.0(browserslist@4.23.3)
+ caniuse-lite: 1.0.30001692
+ electron-to-chromium: 1.5.82
+ node-releases: 2.0.19
+ update-browserslist-db: 1.1.2(browserslist@4.24.4)
- call-bind@1.0.7:
+ call-bind-apply-helpers@1.0.1:
dependencies:
- es-define-property: 1.0.0
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
+
+ call-bind@1.0.8:
+ dependencies:
+ call-bind-apply-helpers: 1.0.1
+ es-define-property: 1.0.1
+ get-intrinsic: 1.2.7
set-function-length: 1.2.2
- callsites@3.1.0: {}
+ call-bound@1.0.3:
+ dependencies:
+ call-bind-apply-helpers: 1.0.1
+ get-intrinsic: 1.2.7
- caniuse-lite@1.0.30001649: {}
+ callsites@3.1.0: {}
- chalk@2.4.2:
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
+ caniuse-lite@1.0.30001692: {}
chalk@4.1.2:
dependencies:
@@ -2612,16 +2646,10 @@ snapshots:
clsx@2.1.1: {}
- color-convert@1.9.3:
- dependencies:
- color-name: 1.1.3
-
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
- color-name@1.1.3: {}
-
color-name@1.1.4: {}
combined-stream@1.0.8:
@@ -2642,7 +2670,7 @@ snapshots:
path-type: 4.0.0
yaml: 1.10.2
- cross-spawn@7.0.3:
+ cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
@@ -2650,35 +2678,35 @@ snapshots:
csstype@3.1.3: {}
- data-view-buffer@1.0.1:
+ data-view-buffer@1.0.2:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
es-errors: 1.3.0
- is-data-view: 1.0.1
+ is-data-view: 1.0.2
- data-view-byte-length@1.0.1:
+ data-view-byte-length@1.0.2:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
es-errors: 1.3.0
- is-data-view: 1.0.1
+ is-data-view: 1.0.2
- data-view-byte-offset@1.0.0:
+ data-view-byte-offset@1.0.1:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
es-errors: 1.3.0
- is-data-view: 1.0.1
+ is-data-view: 1.0.2
- debug@4.3.6:
+ debug@4.4.0:
dependencies:
- ms: 2.1.2
+ ms: 2.1.3
deep-is@0.1.4: {}
define-data-property@1.1.4:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
es-errors: 1.3.0
- gopd: 1.0.1
+ gopd: 1.2.0
define-properties@1.2.1:
dependencies:
@@ -2698,94 +2726,106 @@ snapshots:
dom-helpers@5.2.1:
dependencies:
- '@babel/runtime': 7.25.0
+ '@babel/runtime': 7.26.0
csstype: 3.1.3
- electron-to-chromium@1.5.4: {}
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.1
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ electron-to-chromium@1.5.82: {}
error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
- es-abstract@1.23.3:
+ es-abstract@1.23.9:
dependencies:
- array-buffer-byte-length: 1.0.1
- arraybuffer.prototype.slice: 1.0.3
+ array-buffer-byte-length: 1.0.2
+ arraybuffer.prototype.slice: 1.0.4
available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- data-view-buffer: 1.0.1
- data-view-byte-length: 1.0.1
- data-view-byte-offset: 1.0.0
- es-define-property: 1.0.0
+ call-bind: 1.0.8
+ call-bound: 1.0.3
+ data-view-buffer: 1.0.2
+ data-view-byte-length: 1.0.2
+ data-view-byte-offset: 1.0.1
+ es-define-property: 1.0.1
es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-set-tostringtag: 2.0.3
- es-to-primitive: 1.2.1
- function.prototype.name: 1.1.6
- get-intrinsic: 1.2.4
- get-symbol-description: 1.0.2
+ es-object-atoms: 1.1.1
+ es-set-tostringtag: 2.1.0
+ es-to-primitive: 1.3.0
+ function.prototype.name: 1.1.8
+ get-intrinsic: 1.2.7
+ get-proto: 1.0.1
+ get-symbol-description: 1.1.0
globalthis: 1.0.4
- gopd: 1.0.1
+ gopd: 1.2.0
has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
+ has-proto: 1.2.0
+ has-symbols: 1.1.0
hasown: 2.0.2
- internal-slot: 1.0.7
- is-array-buffer: 3.0.4
+ internal-slot: 1.1.0
+ is-array-buffer: 3.0.5
is-callable: 1.2.7
- is-data-view: 1.0.1
- is-negative-zero: 2.0.3
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- is-string: 1.0.7
- is-typed-array: 1.1.13
- is-weakref: 1.0.2
- object-inspect: 1.13.2
+ is-data-view: 1.0.2
+ is-regex: 1.2.1
+ is-shared-array-buffer: 1.0.4
+ is-string: 1.1.1
+ is-typed-array: 1.1.15
+ is-weakref: 1.1.0
+ math-intrinsics: 1.1.0
+ object-inspect: 1.13.3
object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- safe-array-concat: 1.1.2
- safe-regex-test: 1.0.3
- string.prototype.trim: 1.2.9
- string.prototype.trimend: 1.0.8
+ object.assign: 4.1.7
+ own-keys: 1.0.1
+ regexp.prototype.flags: 1.5.4
+ safe-array-concat: 1.1.3
+ safe-push-apply: 1.0.0
+ safe-regex-test: 1.1.0
+ set-proto: 1.0.0
+ string.prototype.trim: 1.2.10
+ string.prototype.trimend: 1.0.9
string.prototype.trimstart: 1.0.8
- typed-array-buffer: 1.0.2
- typed-array-byte-length: 1.0.1
- typed-array-byte-offset: 1.0.2
- typed-array-length: 1.0.6
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.15
+ typed-array-buffer: 1.0.3
+ typed-array-byte-length: 1.0.3
+ typed-array-byte-offset: 1.0.4
+ typed-array-length: 1.0.7
+ unbox-primitive: 1.1.0
+ which-typed-array: 1.1.18
- es-define-property@1.0.0:
- dependencies:
- get-intrinsic: 1.2.4
+ es-define-property@1.0.1: {}
es-errors@1.3.0: {}
- es-iterator-helpers@1.0.19:
+ es-iterator-helpers@1.2.1:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.3
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
- es-set-tostringtag: 2.0.3
+ es-set-tostringtag: 2.1.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
+ get-intrinsic: 1.2.7
globalthis: 1.0.4
+ gopd: 1.2.0
has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- internal-slot: 1.0.7
- iterator.prototype: 1.1.2
- safe-array-concat: 1.1.2
+ has-proto: 1.2.0
+ has-symbols: 1.1.0
+ internal-slot: 1.1.0
+ iterator.prototype: 1.1.5
+ safe-array-concat: 1.1.3
- es-object-atoms@1.0.0:
+ es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
- es-set-tostringtag@2.0.3:
+ es-set-tostringtag@2.1.0:
dependencies:
- get-intrinsic: 1.2.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.7
has-tostringtag: 1.0.2
hasown: 2.0.2
@@ -2793,11 +2833,11 @@ snapshots:
dependencies:
hasown: 2.0.2
- es-to-primitive@1.2.1:
+ es-to-primitive@1.3.0:
dependencies:
is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
+ is-date-object: 1.1.0
+ is-symbol: 1.1.1
esbuild@0.21.5:
optionalDependencies:
@@ -2825,20 +2865,18 @@ snapshots:
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
- escalade@3.1.2: {}
-
- escape-string-regexp@1.0.5: {}
+ escalade@3.2.0: {}
escape-string-regexp@4.0.0: {}
- eslint-plugin-react@7.35.0(eslint@9.6.0):
+ eslint-plugin-react@7.37.4(eslint@9.6.0):
dependencies:
array-includes: 3.1.8
array.prototype.findlast: 1.2.5
- array.prototype.flatmap: 1.3.2
+ array.prototype.flatmap: 1.3.3
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
- es-iterator-helpers: 1.0.19
+ es-iterator-helpers: 1.2.1
eslint: 9.6.0
estraverse: 5.3.0
hasown: 2.0.2
@@ -2846,47 +2884,47 @@ snapshots:
minimatch: 3.1.2
object.entries: 1.1.8
object.fromentries: 2.0.8
- object.values: 1.2.0
+ object.values: 1.2.1
prop-types: 15.8.1
resolve: 2.0.0-next.5
semver: 6.3.1
- string.prototype.matchall: 4.0.11
+ string.prototype.matchall: 4.0.12
string.prototype.repeat: 1.0.0
- eslint-scope@8.0.2:
+ eslint-scope@8.2.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.4.3: {}
- eslint-visitor-keys@4.0.0: {}
+ eslint-visitor-keys@4.2.0: {}
eslint@9.6.0:
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0)
- '@eslint-community/regexpp': 4.11.0
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.6.0)
+ '@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.17.1
- '@eslint/eslintrc': 3.1.0
+ '@eslint/eslintrc': 3.2.0
'@eslint/js': 9.6.0
'@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.3.0
+ '@humanwhocodes/retry': 0.3.1
'@nodelib/fs.walk': 1.2.8
ajv: 6.12.6
chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.6
+ cross-spawn: 7.0.6
+ debug: 4.4.0
escape-string-regexp: 4.0.0
- eslint-scope: 8.0.2
- eslint-visitor-keys: 4.0.0
- espree: 10.1.0
+ eslint-scope: 8.2.0
+ eslint-visitor-keys: 4.2.0
+ espree: 10.3.0
esquery: 1.6.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
- ignore: 5.3.1
+ ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
@@ -2901,11 +2939,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- espree@10.1.0:
+ espree@10.3.0:
dependencies:
- acorn: 8.12.1
- acorn-jsx: 5.3.2(acorn@8.12.1)
- eslint-visitor-keys: 4.0.0
+ acorn: 8.14.0
+ acorn-jsx: 5.3.2(acorn@8.14.0)
+ eslint-visitor-keys: 4.2.0
esquery@1.6.0:
dependencies:
@@ -2921,19 +2959,19 @@ snapshots:
fast-deep-equal@3.1.3: {}
- fast-glob@3.3.2:
+ fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
- micromatch: 4.0.7
+ micromatch: 4.0.8
fast-json-stable-stringify@2.1.0: {}
fast-levenshtein@2.0.6: {}
- fastq@1.17.1:
+ fastq@1.18.0:
dependencies:
reusify: 1.0.4
@@ -2954,18 +2992,18 @@ snapshots:
flat-cache@4.0.1:
dependencies:
- flatted: 3.3.1
+ flatted: 3.3.2
keyv: 4.5.4
- flatted@3.3.1: {}
+ flatted@3.3.2: {}
- follow-redirects@1.15.6: {}
+ follow-redirects@1.15.9: {}
for-each@0.3.3:
dependencies:
is-callable: 1.2.7
- form-data@4.0.0:
+ form-data@4.0.1:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
@@ -2976,30 +3014,42 @@ snapshots:
function-bind@1.1.2: {}
- function.prototype.name@1.1.6:
+ function.prototype.name@1.1.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.3
define-properties: 1.2.1
- es-abstract: 1.23.3
functions-have-names: 1.2.3
+ hasown: 2.0.2
+ is-callable: 1.2.7
functions-have-names@1.2.3: {}
gensync@1.0.0-beta.2: {}
- get-intrinsic@1.2.4:
+ get-intrinsic@1.2.7:
dependencies:
+ call-bind-apply-helpers: 1.0.1
+ es-define-property: 1.0.1
es-errors: 1.3.0
+ es-object-atoms: 1.1.1
function-bind: 1.1.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
hasown: 2.0.2
+ math-intrinsics: 1.1.0
+
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
- get-symbol-description@1.0.2:
+ get-symbol-description@1.1.0:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
es-errors: 1.3.0
- get-intrinsic: 1.2.4
+ get-intrinsic: 1.2.7
glob-parent@5.1.2:
dependencies:
@@ -3013,49 +3063,47 @@ snapshots:
globals@14.0.0: {}
- globals@15.9.0: {}
+ globals@15.14.0: {}
globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
- gopd: 1.0.1
+ gopd: 1.2.0
globby@11.1.0:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.1
+ fast-glob: 3.3.3
+ ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
- goober@2.1.14(csstype@3.1.3):
+ goober@2.1.16(csstype@3.1.3):
dependencies:
csstype: 3.1.3
- gopd@1.0.1:
- dependencies:
- get-intrinsic: 1.2.4
+ gopd@1.2.0: {}
graphemer@1.4.0: {}
- has-bigints@1.0.2: {}
-
- has-flag@3.0.0: {}
+ has-bigints@1.1.0: {}
has-flag@4.0.0: {}
has-property-descriptors@1.0.2:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
- has-proto@1.0.3: {}
+ has-proto@1.2.0:
+ dependencies:
+ dunder-proto: 1.0.1
- has-symbols@1.0.3: {}
+ has-symbols@1.1.0: {}
has-tostringtag@1.0.2:
dependencies:
- has-symbols: 1.0.3
+ has-symbols: 1.1.0
hasown@2.0.2:
dependencies:
@@ -3065,7 +3113,7 @@ snapshots:
dependencies:
react-is: 16.13.1
- ignore@5.3.1: {}
+ ignore@5.3.2: {}
import-fresh@3.3.0:
dependencies:
@@ -3074,55 +3122,65 @@ snapshots:
imurmurhash@0.1.4: {}
- internal-slot@1.0.7:
+ internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0
hasown: 2.0.2
- side-channel: 1.0.6
+ side-channel: 1.1.0
- is-array-buffer@3.0.4:
+ is-array-buffer@3.0.5:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
+ call-bind: 1.0.8
+ call-bound: 1.0.3
+ get-intrinsic: 1.2.7
is-arrayish@0.2.1: {}
- is-async-function@2.0.0:
+ is-async-function@2.1.0:
dependencies:
+ call-bound: 1.0.3
+ get-proto: 1.0.1
has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
- is-bigint@1.0.4:
+ is-bigint@1.1.0:
dependencies:
- has-bigints: 1.0.2
+ has-bigints: 1.1.0
- is-boolean-object@1.1.2:
+ is-boolean-object@1.2.1:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
has-tostringtag: 1.0.2
is-callable@1.2.7: {}
- is-core-module@2.15.0:
+ is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
- is-data-view@1.0.1:
+ is-data-view@1.0.2:
dependencies:
- is-typed-array: 1.1.13
+ call-bound: 1.0.3
+ get-intrinsic: 1.2.7
+ is-typed-array: 1.1.15
- is-date-object@1.0.5:
+ is-date-object@1.1.0:
dependencies:
+ call-bound: 1.0.3
has-tostringtag: 1.0.2
is-extglob@2.1.1: {}
- is-finalizationregistry@1.0.2:
+ is-finalizationregistry@1.1.1:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
- is-generator-function@1.0.10:
+ is-generator-function@1.1.0:
dependencies:
+ call-bound: 1.0.3
+ get-proto: 1.0.1
has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
is-glob@4.0.3:
dependencies:
@@ -3130,60 +3188,65 @@ snapshots:
is-map@2.0.3: {}
- is-negative-zero@2.0.3: {}
-
- is-number-object@1.0.7:
+ is-number-object@1.1.1:
dependencies:
+ call-bound: 1.0.3
has-tostringtag: 1.0.2
is-number@7.0.0: {}
is-path-inside@3.0.3: {}
- is-regex@1.1.4:
+ is-regex@1.2.1:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
+ gopd: 1.2.0
has-tostringtag: 1.0.2
+ hasown: 2.0.2
is-set@2.0.3: {}
- is-shared-array-buffer@1.0.3:
+ is-shared-array-buffer@1.0.4:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
- is-string@1.0.7:
+ is-string@1.1.1:
dependencies:
+ call-bound: 1.0.3
has-tostringtag: 1.0.2
- is-symbol@1.0.4:
+ is-symbol@1.1.1:
dependencies:
- has-symbols: 1.0.3
+ call-bound: 1.0.3
+ has-symbols: 1.1.0
+ safe-regex-test: 1.1.0
- is-typed-array@1.1.13:
+ is-typed-array@1.1.15:
dependencies:
- which-typed-array: 1.1.15
+ which-typed-array: 1.1.18
is-weakmap@2.0.2: {}
- is-weakref@1.0.2:
+ is-weakref@1.1.0:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
- is-weakset@2.0.3:
+ is-weakset@2.0.4:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
+ call-bound: 1.0.3
+ get-intrinsic: 1.2.7
isarray@2.0.5: {}
isexe@2.0.0: {}
- iterator.prototype@1.1.2:
+ iterator.prototype@1.1.5:
dependencies:
- define-properties: 1.2.1
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- reflect.getprototypeof: 1.0.6
+ define-data-property: 1.1.4
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.2.7
+ get-proto: 1.0.1
+ has-symbols: 1.1.0
set-function-name: 2.0.2
js-tokens@4.0.0: {}
@@ -3192,7 +3255,7 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsesc@2.5.2: {}
+ jsesc@3.1.0: {}
json-buffer@3.0.1: {}
@@ -3207,9 +3270,9 @@ snapshots:
jsx-ast-utils@3.3.5:
dependencies:
array-includes: 3.1.8
- array.prototype.flat: 1.3.2
- object.assign: 4.1.5
- object.values: 1.2.0
+ array.prototype.flat: 1.3.3
+ object.assign: 4.1.7
+ object.values: 1.2.1
keyv@4.5.4:
dependencies:
@@ -3236,9 +3299,11 @@ snapshots:
dependencies:
yallist: 3.1.1
+ math-intrinsics@1.1.0: {}
+
merge2@1.4.1: {}
- micromatch@4.0.7:
+ micromatch@4.0.8:
dependencies:
braces: 3.0.3
picomatch: 2.3.1
@@ -3257,29 +3322,29 @@ snapshots:
dependencies:
brace-expansion: 2.0.1
- ms@2.1.2: {}
+ ms@2.1.3: {}
- mui-file-input@4.0.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ mui-file-input@4.0.6(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@mui/material@5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@emotion/react': 11.13.0(@types/react@18.3.3)(react@18.3.1)
- '@emotion/styled': 11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)
- '@mui/material': 5.16.6(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
+ '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
+ '@mui/material': 5.16.14(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
pretty-bytes: 6.1.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.3
+ '@types/react': 18.3.18
- nanoid@3.3.7: {}
+ nanoid@3.3.8: {}
natural-compare@1.4.0: {}
- node-releases@2.0.18: {}
+ node-releases@2.0.19: {}
notistack@3.0.1(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
clsx: 1.2.1
- goober: 2.1.14(csstype@3.1.3)
+ goober: 2.1.16(csstype@3.1.3)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
transitivePeerDependencies:
@@ -3287,35 +3352,38 @@ snapshots:
object-assign@4.1.1: {}
- object-inspect@1.13.2: {}
+ object-inspect@1.13.3: {}
object-keys@1.1.1: {}
- object.assign@4.1.5:
+ object.assign@4.1.7:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.3
define-properties: 1.2.1
- has-symbols: 1.0.3
+ es-object-atoms: 1.1.1
+ has-symbols: 1.1.0
object-keys: 1.1.1
object.entries@1.1.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
object.fromentries@2.0.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
+ es-abstract: 1.23.9
+ es-object-atoms: 1.1.1
- object.values@1.2.0:
+ object.values@1.2.1:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.3
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
optionator@0.9.4:
dependencies:
@@ -3326,6 +3394,12 @@ snapshots:
type-check: 0.4.0
word-wrap: 1.2.5
+ own-keys@1.0.1:
+ dependencies:
+ get-intrinsic: 1.2.7
+ object-keys: 1.1.1
+ safe-push-apply: 1.0.0
+
p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
@@ -3340,7 +3414,7 @@ snapshots:
parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.24.7
+ '@babel/code-frame': 7.26.2
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -3353,17 +3427,17 @@ snapshots:
path-type@4.0.0: {}
- picocolors@1.0.1: {}
+ picocolors@1.1.1: {}
picomatch@2.3.1: {}
possible-typed-array-names@1.0.0: {}
- postcss@8.4.40:
+ postcss@8.5.1:
dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.1
- source-map-js: 1.2.0
+ nanoid: 3.3.8
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
prelude-ls@1.2.1: {}
@@ -3389,25 +3463,25 @@ snapshots:
react-is@16.13.1: {}
- react-is@18.3.1: {}
+ react-is@19.0.0: {}
react-refresh@0.14.2: {}
- react-router-dom@6.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ react-router-dom@6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@remix-run/router': 1.19.0
+ '@remix-run/router': 1.21.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- react-router: 6.26.0(react@18.3.1)
+ react-router: 6.28.1(react@18.3.1)
- react-router@6.26.0(react@18.3.1):
+ react-router@6.28.1(react@18.3.1):
dependencies:
- '@remix-run/router': 1.19.0
+ '@remix-run/router': 1.21.0
react: 18.3.1
react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@babel/runtime': 7.25.0
+ '@babel/runtime': 7.26.0
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -3418,79 +3492,91 @@ snapshots:
dependencies:
loose-envify: 1.4.0
- reflect.getprototypeof@1.0.6:
+ reflect.getprototypeof@1.0.10:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
- get-intrinsic: 1.2.4
- globalthis: 1.0.4
- which-builtin-type: 1.1.4
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.2.7
+ get-proto: 1.0.1
+ which-builtin-type: 1.2.1
regenerator-runtime@0.14.1: {}
- regexp.prototype.flags@1.5.2:
+ regexp.prototype.flags@1.5.4:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
es-errors: 1.3.0
+ get-proto: 1.0.1
+ gopd: 1.2.0
set-function-name: 2.0.2
resolve-from@4.0.0: {}
- resolve@1.22.8:
+ resolve@1.22.10:
dependencies:
- is-core-module: 2.15.0
+ is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
resolve@2.0.0-next.5:
dependencies:
- is-core-module: 2.15.0
+ is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
reusify@1.0.4: {}
- rollup@4.20.0:
+ rollup@4.30.1:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.20.0
- '@rollup/rollup-android-arm64': 4.20.0
- '@rollup/rollup-darwin-arm64': 4.20.0
- '@rollup/rollup-darwin-x64': 4.20.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.20.0
- '@rollup/rollup-linux-arm-musleabihf': 4.20.0
- '@rollup/rollup-linux-arm64-gnu': 4.20.0
- '@rollup/rollup-linux-arm64-musl': 4.20.0
- '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0
- '@rollup/rollup-linux-riscv64-gnu': 4.20.0
- '@rollup/rollup-linux-s390x-gnu': 4.20.0
- '@rollup/rollup-linux-x64-gnu': 4.20.0
- '@rollup/rollup-linux-x64-musl': 4.20.0
- '@rollup/rollup-win32-arm64-msvc': 4.20.0
- '@rollup/rollup-win32-ia32-msvc': 4.20.0
- '@rollup/rollup-win32-x64-msvc': 4.20.0
+ '@rollup/rollup-android-arm-eabi': 4.30.1
+ '@rollup/rollup-android-arm64': 4.30.1
+ '@rollup/rollup-darwin-arm64': 4.30.1
+ '@rollup/rollup-darwin-x64': 4.30.1
+ '@rollup/rollup-freebsd-arm64': 4.30.1
+ '@rollup/rollup-freebsd-x64': 4.30.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.30.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.30.1
+ '@rollup/rollup-linux-arm64-gnu': 4.30.1
+ '@rollup/rollup-linux-arm64-musl': 4.30.1
+ '@rollup/rollup-linux-loongarch64-gnu': 4.30.1
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.30.1
+ '@rollup/rollup-linux-s390x-gnu': 4.30.1
+ '@rollup/rollup-linux-x64-gnu': 4.30.1
+ '@rollup/rollup-linux-x64-musl': 4.30.1
+ '@rollup/rollup-win32-arm64-msvc': 4.30.1
+ '@rollup/rollup-win32-ia32-msvc': 4.30.1
+ '@rollup/rollup-win32-x64-msvc': 4.30.1
fsevents: 2.3.3
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
- safe-array-concat@1.1.2:
+ safe-array-concat@1.1.3:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.3
+ get-intrinsic: 1.2.7
+ has-symbols: 1.1.0
+ isarray: 2.0.5
+
+ safe-push-apply@1.0.0:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
+ es-errors: 1.3.0
isarray: 2.0.5
- safe-regex-test@1.0.3:
+ safe-regex-test@1.1.0:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
es-errors: 1.3.0
- is-regex: 1.1.4
+ is-regex: 1.2.1
scheduler@0.23.2:
dependencies:
@@ -3505,8 +3591,8 @@ snapshots:
define-data-property: 1.1.4
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
- gopd: 1.0.1
+ get-intrinsic: 1.2.7
+ gopd: 1.2.0
has-property-descriptors: 1.0.2
set-function-name@2.0.2:
@@ -3516,63 +3602,95 @@ snapshots:
functions-have-names: 1.2.3
has-property-descriptors: 1.0.2
+ set-proto@1.0.0:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
shebang-regex@3.0.0: {}
- side-channel@1.0.6:
+ side-channel-list@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.3
+
+ side-channel-map@1.0.1:
+ dependencies:
+ call-bound: 1.0.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.7
+ object-inspect: 1.13.3
+
+ side-channel-weakmap@1.0.2:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
es-errors: 1.3.0
- get-intrinsic: 1.2.4
- object-inspect: 1.13.2
+ get-intrinsic: 1.2.7
+ object-inspect: 1.13.3
+ side-channel-map: 1.0.1
+
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.3
+ side-channel-list: 1.0.0
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
slash@3.0.0: {}
- source-map-js@1.2.0: {}
+ source-map-js@1.2.1: {}
source-map@0.5.7: {}
- string.prototype.matchall@4.0.11:
+ string.prototype.matchall@4.0.12:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.3
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
- es-object-atoms: 1.0.0
- get-intrinsic: 1.2.4
- gopd: 1.0.1
- has-symbols: 1.0.3
- internal-slot: 1.0.7
- regexp.prototype.flags: 1.5.2
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.2.7
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ internal-slot: 1.1.0
+ regexp.prototype.flags: 1.5.4
set-function-name: 2.0.2
- side-channel: 1.0.6
+ side-channel: 1.1.0
string.prototype.repeat@1.0.0:
dependencies:
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
- string.prototype.trim@1.2.9:
+ string.prototype.trim@1.2.10:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.3
+ define-data-property: 1.1.4
define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
+ es-abstract: 1.23.9
+ es-object-atoms: 1.1.1
+ has-property-descriptors: 1.0.2
- string.prototype.trimend@1.0.8:
+ string.prototype.trimend@1.0.9:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.3
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
string.prototype.trimstart@1.0.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
strip-ansi@6.0.1:
dependencies:
@@ -3582,10 +3700,6 @@ snapshots:
stylis@4.2.0: {}
- supports-color@5.5.0:
- dependencies:
- has-flag: 3.0.0
-
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
@@ -3594,129 +3708,130 @@ snapshots:
text-table@0.2.0: {}
- to-fast-properties@2.0.0: {}
-
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
- ts-api-utils@1.3.0(typescript@5.5.4):
+ ts-api-utils@1.4.3(typescript@5.7.3):
dependencies:
- typescript: 5.5.4
+ typescript: 5.7.3
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
- typed-array-buffer@1.0.2:
+ typed-array-buffer@1.0.3:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.3
es-errors: 1.3.0
- is-typed-array: 1.1.13
+ is-typed-array: 1.1.15
- typed-array-byte-length@1.0.1:
+ typed-array-byte-length@1.0.3:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
- typed-array-byte-offset@1.0.2:
+ typed-array-byte-offset@1.0.4:
dependencies:
available-typed-arrays: 1.0.7
- call-bind: 1.0.7
+ call-bind: 1.0.8
for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
+ reflect.getprototypeof: 1.0.10
- typed-array-length@1.0.6:
+ typed-array-length@1.0.7:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
+ gopd: 1.2.0
+ is-typed-array: 1.1.15
possible-typed-array-names: 1.0.0
+ reflect.getprototypeof: 1.0.10
- typescript-eslint@7.18.0(eslint@9.6.0)(typescript@5.5.4):
+ typescript-eslint@7.18.0(eslint@9.6.0)(typescript@5.7.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.6.0)(typescript@5.5.4))(eslint@9.6.0)(typescript@5.5.4)
- '@typescript-eslint/parser': 7.18.0(eslint@9.6.0)(typescript@5.5.4)
- '@typescript-eslint/utils': 7.18.0(eslint@9.6.0)(typescript@5.5.4)
+ '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.6.0)(typescript@5.7.3))(eslint@9.6.0)(typescript@5.7.3)
+ '@typescript-eslint/parser': 7.18.0(eslint@9.6.0)(typescript@5.7.3)
+ '@typescript-eslint/utils': 7.18.0(eslint@9.6.0)(typescript@5.7.3)
eslint: 9.6.0
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.7.3
transitivePeerDependencies:
- supports-color
- typescript@5.5.4: {}
+ typescript@5.7.3: {}
- unbox-primitive@1.0.2:
+ unbox-primitive@1.1.0:
dependencies:
- call-bind: 1.0.7
- has-bigints: 1.0.2
- has-symbols: 1.0.3
- which-boxed-primitive: 1.0.2
+ call-bound: 1.0.3
+ has-bigints: 1.1.0
+ has-symbols: 1.1.0
+ which-boxed-primitive: 1.1.1
- undici-types@5.26.5: {}
+ undici-types@6.19.8: {}
- update-browserslist-db@1.1.0(browserslist@4.23.3):
+ update-browserslist-db@1.1.2(browserslist@4.24.4):
dependencies:
- browserslist: 4.23.3
- escalade: 3.1.2
- picocolors: 1.0.1
+ browserslist: 4.24.4
+ escalade: 3.2.0
+ picocolors: 1.1.1
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
- vite@5.3.5(@types/node@20.14.14):
+ vite@5.4.11(@types/node@20.17.13):
dependencies:
esbuild: 0.21.5
- postcss: 8.4.40
- rollup: 4.20.0
+ postcss: 8.5.1
+ rollup: 4.30.1
optionalDependencies:
- '@types/node': 20.14.14
+ '@types/node': 20.17.13
fsevents: 2.3.3
- which-boxed-primitive@1.0.2:
+ which-boxed-primitive@1.1.1:
dependencies:
- is-bigint: 1.0.4
- is-boolean-object: 1.1.2
- is-number-object: 1.0.7
- is-string: 1.0.7
- is-symbol: 1.0.4
+ is-bigint: 1.1.0
+ is-boolean-object: 1.2.1
+ is-number-object: 1.1.1
+ is-string: 1.1.1
+ is-symbol: 1.1.1
- which-builtin-type@1.1.4:
+ which-builtin-type@1.2.1:
dependencies:
- function.prototype.name: 1.1.6
+ call-bound: 1.0.3
+ function.prototype.name: 1.1.8
has-tostringtag: 1.0.2
- is-async-function: 2.0.0
- is-date-object: 1.0.5
- is-finalizationregistry: 1.0.2
- is-generator-function: 1.0.10
- is-regex: 1.1.4
- is-weakref: 1.0.2
+ is-async-function: 2.1.0
+ is-date-object: 1.1.0
+ is-finalizationregistry: 1.1.1
+ is-generator-function: 1.1.0
+ is-regex: 1.2.1
+ is-weakref: 1.1.0
isarray: 2.0.5
- which-boxed-primitive: 1.0.2
+ which-boxed-primitive: 1.1.1
which-collection: 1.0.2
- which-typed-array: 1.1.15
+ which-typed-array: 1.1.18
which-collection@1.0.2:
dependencies:
is-map: 2.0.3
is-set: 2.0.3
is-weakmap: 2.0.2
- is-weakset: 2.0.3
+ is-weakset: 2.0.4
- which-typed-array@1.1.15:
+ which-typed-array@1.1.18:
dependencies:
available-typed-arrays: 1.0.7
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.3
for-each: 0.3.3
- gopd: 1.0.1
+ gopd: 1.2.0
has-tostringtag: 1.0.2
which@2.0.2:
diff --git a/Server/Gameserver/run.sh b/Server/Gameserver/run.sh
index ef42193854..4f8f18cb6e 100644
--- a/Server/Gameserver/run.sh
+++ b/Server/Gameserver/run.sh
@@ -3,7 +3,4 @@ set -e
/app/server.x86_64 \
--launch-as-server \
- --port 7777 \
- --host "$SEE_BACKEND_DOMAIN" \
- --id "$SEE_SERVER_ID" \
- --password "$SEE_SERVER_PASSWORD"
+ --port 7777