diff --git a/NewHorizons/Assets/newhorizons_private b/NewHorizons/Assets/newhorizons_private index 1351ea40..9392dc48 100644 Binary files a/NewHorizons/Assets/newhorizons_private and b/NewHorizons/Assets/newhorizons_private differ diff --git a/NewHorizons/Assets/newhorizons_private.manifest b/NewHorizons/Assets/newhorizons_private.manifest index 3248cae9..8c9d7ad4 100644 --- a/NewHorizons/Assets/newhorizons_private.manifest +++ b/NewHorizons/Assets/newhorizons_private.manifest @@ -1,9 +1,9 @@ ManifestFileVersion: 0 -CRC: 2245901288 +CRC: 2356174904 Hashes: AssetFileHash: serializedVersion: 2 - Hash: e765e5fc418c1ed69586a3826e0cdea3 + Hash: c9b4a60ca4efa0ba50065dea6e758ce7 TypeTreeHash: serializedVersion: 2 Hash: 65942a71d50cdc9f2387a8fa9383a3f8 diff --git a/NewHorizons/Builder/Atmosphere/AirBuilder.cs b/NewHorizons/Builder/Atmosphere/AirBuilder.cs index 8d502f88..979bd933 100644 --- a/NewHorizons/Builder/Atmosphere/AirBuilder.cs +++ b/NewHorizons/Builder/Atmosphere/AirBuilder.cs @@ -22,7 +22,7 @@ namespace NewHorizons.Builder.Atmosphere sfv._priority = 0; sfv._density = 1.2f; sfv._fluidType = FluidVolume.Type.AIR; - sfv._allowShipAutoroll = true; + sfv._allowShipAutoroll = config.Atmosphere.allowShipAutoroll; sfv._disableOnStart = false; if (config.Atmosphere.hasShockLayer) diff --git a/NewHorizons/Builder/Atmosphere/CloudsBuilder.cs b/NewHorizons/Builder/Atmosphere/CloudsBuilder.cs index ceef7fd5..5e998cf3 100644 --- a/NewHorizons/Builder/Atmosphere/CloudsBuilder.cs +++ b/NewHorizons/Builder/Atmosphere/CloudsBuilder.cs @@ -147,7 +147,7 @@ namespace NewHorizons.Builder.Atmosphere fluidCLFV._priority = 1; fluidCLFV._density = 1.2f; fluidCLFV._fluidType = atmo.clouds.fluidType.ConvertToOW(FluidVolume.Type.CLOUD); - fluidCLFV._allowShipAutoroll = true; + fluidCLFV._allowShipAutoroll = atmo.allowShipAutoroll; fluidCLFV._disableOnStart = false; // Fix the rotations once the rest is done diff --git a/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs b/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs index 6672b15f..8ccd735e 100644 --- a/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs +++ b/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs @@ -230,6 +230,7 @@ namespace NewHorizons.Builder.Body if (config.fogTint != null) { var color = config.fogTint.ToColor(); + // Fog alpha has no impact: Must instead use fogDensity. color.a = 1f; fog.fogTint = color; outerFogWarpVolume._fogColor = color; diff --git a/NewHorizons/Builder/Body/ProxyBuilder.cs b/NewHorizons/Builder/Body/ProxyBuilder.cs index c788c3b2..f1567659 100644 --- a/NewHorizons/Builder/Body/ProxyBuilder.cs +++ b/NewHorizons/Builder/Body/ProxyBuilder.cs @@ -96,6 +96,12 @@ namespace NewHorizons.Builder.Body // We want to take the largest size I think var realSize = body.Config.Base.surfaceSize; + if (realSize <= 0) + { + // #941 handle proxy body edge case when all scales = 0 + realSize = 1; + } + if (body.Config.HeightMap != null) { HeightMapBuilder.Make(proxy, null, body.Config.HeightMap, body.Mod, 20); diff --git a/NewHorizons/Builder/Body/SingularityBuilder.cs b/NewHorizons/Builder/Body/SingularityBuilder.cs index a961c9d5..eb8863c8 100644 --- a/NewHorizons/Builder/Body/SingularityBuilder.cs +++ b/NewHorizons/Builder/Body/SingularityBuilder.cs @@ -1,18 +1,17 @@ -using NewHorizons.External.Configs; -using NewHorizons.Utility; -using NewHorizons.External.Modules.VariableSize; -using UnityEngine; - -using System.Collections.Generic; -using NewHorizons.Components.SizeControllers; -using Color = UnityEngine.Color; -using NewHorizons.Components.Volumes; using NewHorizons.Builder.Props; -using NewHorizons.Utility.OWML; -using NewHorizons.Utility.OuterWilds; -using NewHorizons.External.SerializableData; using NewHorizons.Builder.Volumes; +using NewHorizons.Components.SizeControllers; +using NewHorizons.Components.Volumes; +using NewHorizons.External.Configs; +using NewHorizons.External.Modules.VariableSize; +using NewHorizons.External.SerializableData; +using NewHorizons.Utility; +using NewHorizons.Utility.OuterWilds; +using NewHorizons.Utility.OWML; using System; +using System.Collections.Generic; +using UnityEngine; +using Color = UnityEngine.Color; namespace NewHorizons.Builder.Body { @@ -88,7 +87,7 @@ namespace NewHorizons.Builder.Body Vector3 localRotation = singularity?.rotation == null ? Vector3.zero : singularity.rotation; GameObject newSingularity = MakeSingularity(go, sector, localPosition, localRotation, polarity, horizonRadius, distortRadius, - hasHazardVolume, singularity.targetStarSystem, singularity.curve, singularity.hasWarpEffects, singularity.renderQueueOverride, singularity.rename, singularity.parentPath, singularity.isRelativeToParent); + hasHazardVolume, singularity.targetStarSystem, singularity.spawnPointID, singularity.curve, singularity.hasWarpEffects, singularity.renderQueueOverride, singularity.rename, singularity.parentPath, singularity.isRelativeToParent); var uniqueID = string.IsNullOrEmpty(singularity.uniqueID) ? config.name : singularity.uniqueID; @@ -161,7 +160,7 @@ namespace NewHorizons.Builder.Body } public static GameObject MakeSingularity(GameObject planetGO, Sector sector, Vector3 position, Vector3 rotation, bool polarity, float horizon, float distort, - bool hasDestructionVolume, string targetStarSystem = null, TimeValuePair[] curve = null, bool warpEffects = true, int renderQueue = 2985, string rename = null, string parentPath = null, bool isRelativeToParent = false) + bool hasDestructionVolume, string targetStarSystem = null, string targetSpawnID = null, TimeValuePair[] curve = null, bool warpEffects = true, int renderQueue = 2985, string rename = null, string parentPath = null, bool isRelativeToParent = false) { // polarity true = black, false = white @@ -233,6 +232,7 @@ namespace NewHorizons.Builder.Body { var wormholeVolume = destructionVolumeGO.AddComponent(); wormholeVolume.TargetSolarSystem = targetStarSystem; + wormholeVolume.TargetSpawnID = targetSpawnID; } } else diff --git a/NewHorizons/Builder/Body/WaterBuilder.cs b/NewHorizons/Builder/Body/WaterBuilder.cs index 8eba73c0..b53b4617 100644 --- a/NewHorizons/Builder/Body/WaterBuilder.cs +++ b/NewHorizons/Builder/Body/WaterBuilder.cs @@ -129,7 +129,7 @@ namespace NewHorizons.Builder.Body fluidVolume._density = module.density; fluidVolume._layer = 5; fluidVolume._priority = 3; - fluidVolume._allowShipAutoroll = true; + fluidVolume._allowShipAutoroll = module.allowShipAutoroll; fluidVolume._disableOnStart = false; var fogGO = Object.Instantiate(_oceanFog, waterGO.transform); diff --git a/NewHorizons/Builder/General/AstroObjectBuilder.cs b/NewHorizons/Builder/General/AstroObjectBuilder.cs index 21be3536..15f00d62 100644 --- a/NewHorizons/Builder/General/AstroObjectBuilder.cs +++ b/NewHorizons/Builder/General/AstroObjectBuilder.cs @@ -8,6 +8,8 @@ namespace NewHorizons.Builder.General { public static class AstroObjectBuilder { + public static GameObject CenterOfUniverse { get; private set; } + public static NHAstroObject Make(GameObject body, AstroObject primaryBody, NewHorizonsBody nhBody, bool isVanilla) { NHAstroObject astroObject = body.AddComponent(); @@ -17,7 +19,7 @@ namespace NewHorizons.Builder.General astroObject.isVanilla = isVanilla; astroObject.HideDisplayName = !config.MapMarker.enabled; - astroObject.invulnerableToSun = config.Base.invulnerableToSun; + astroObject.invulnerableToSun = !config.Base.hasFluidDetector; if (config.Orbit != null) astroObject.SetOrbitalParametersFromConfig(config.Orbit); @@ -62,6 +64,8 @@ namespace NewHorizons.Builder.General if (config.Base.centerOfSolarSystem) { + CenterOfUniverse = body; + NHLogger.Log($"Setting center of universe to {config.name}"); Delay.RunWhen( diff --git a/NewHorizons/Builder/General/DetectorBuilder.cs b/NewHorizons/Builder/General/DetectorBuilder.cs index 4a62d5b6..034a7e07 100644 --- a/NewHorizons/Builder/General/DetectorBuilder.cs +++ b/NewHorizons/Builder/General/DetectorBuilder.cs @@ -90,7 +90,7 @@ namespace NewHorizons.Builder.General OWRB.RegisterAttachedForceDetector(forceDetector); // For falling into sun - if (!config.Base.invulnerableToSun && config.Star == null && config.FocalPoint == null) + if (config.Base.hasFluidDetector && config.Star == null && config.FocalPoint == null) { detectorGO.layer = Layer.AdvancedDetector; diff --git a/NewHorizons/Builder/General/SpawnPointBuilder.cs b/NewHorizons/Builder/General/SpawnPointBuilder.cs index cc7feddf..0e1eee40 100644 --- a/NewHorizons/Builder/General/SpawnPointBuilder.cs +++ b/NewHorizons/Builder/General/SpawnPointBuilder.cs @@ -4,6 +4,7 @@ using NewHorizons.Utility; using NewHorizons.Utility.OuterWilds; using NewHorizons.Utility.OWML; using System; +using System.Collections; using System.Linq; using System.Reflection; using UnityEngine; @@ -13,52 +14,92 @@ namespace NewHorizons.Builder.General public static class SpawnPointBuilder { private static bool suitUpQueued = false; + + // Ship + public static SpawnModule.ShipSpawnPoint ShipSpawnInfo { get; private set; } public static SpawnPoint ShipSpawn { get; private set; } public static Vector3 ShipSpawnOffset { get; private set; } + // Player + public static SpawnModule.PlayerSpawnPoint PlayerSpawnInfo { get; private set; } + public static SpawnPoint PlayerSpawn { get; private set; } + + public static void OverridePlayerSpawn(SpawnPoint newSpawn) + { + PlayerSpawn = newSpawn; + PlayerSpawnInfo = null; + } + public static SpawnPoint Make(GameObject planetGO, SpawnModule module, OWRigidbody owRigidBody) { SpawnPoint playerSpawn = null; // Make the spawn point even if it won't be used this loop - if (module.playerSpawn != null) + if (module.playerSpawnPoints != null) { - GameObject spawnGO = GeneralPropBuilder.MakeNew("PlayerSpawnPoint", planetGO, null, module.playerSpawn); - spawnGO.layer = Layer.PlayerSafetyCollider; + foreach (var point in module.playerSpawnPoints) + { + GameObject spawnGO = GeneralPropBuilder.MakeNew("PlayerSpawnPoint", planetGO, null, point); + spawnGO.layer = Layer.PlayerSafetyCollider; - playerSpawn = spawnGO.AddComponent(); - playerSpawn._attachedBody = owRigidBody; - playerSpawn._spawnLocation = SpawnLocation.None; - // #601 we need to actually set the right trigger volumes here - playerSpawn._triggerVolumes = new OWTriggerVolume[0]; + playerSpawn = spawnGO.AddComponent(); + playerSpawn._attachedBody = owRigidBody; + playerSpawn._spawnLocation = SpawnLocation.None; + // #601 we need to actually set the right trigger volumes here + playerSpawn._triggerVolumes = new OWTriggerVolume[0]; - // This was a stupid hack to stop players getting stuck in the ground and now we have to keep it forever - spawnGO.transform.position += spawnGO.transform.TransformDirection(module.playerSpawn.offset ?? Vector3.up * 4f); + // This was a stupid hack to stop players getting stuck in the ground and now we have to keep it forever + spawnGO.transform.position += spawnGO.transform.TransformDirection(point.offset ?? Vector3.up * 4f); + + if (PlayerSpawn == null || point.GetPriority() > PlayerSpawnInfo.GetPriority()) + { + PlayerSpawn = playerSpawn; + PlayerSpawnInfo = point; + } + } } - if (module.shipSpawn != null) + if (module.shipSpawnPoints != null) { - var spawnGO = GeneralPropBuilder.MakeNew("ShipSpawnPoint", planetGO, null, module.shipSpawn); - spawnGO.SetActive(false); - spawnGO.layer = Layer.PlayerSafetyCollider; + foreach (var point in module.shipSpawnPoints) + { + var spawnGO = GeneralPropBuilder.MakeNew("ShipSpawnPoint", planetGO, null, point); + spawnGO.SetActive(false); + spawnGO.layer = Layer.PlayerSafetyCollider; - ShipSpawn = spawnGO.AddComponent(); - ShipSpawn._isShipSpawn = true; - ShipSpawn._attachedBody = owRigidBody; - ShipSpawn._spawnLocation = SpawnLocation.None; + var shipSpawn = spawnGO.AddComponent(); + shipSpawn._isShipSpawn = true; + shipSpawn._attachedBody = owRigidBody; + shipSpawn._spawnLocation = SpawnLocation.None; - // #601 we need to actually set the right trigger volumes here - ShipSpawn._triggerVolumes = new OWTriggerVolume[0]; + // #601 we need to actually set the right trigger volumes here + shipSpawn._triggerVolumes = new OWTriggerVolume[0]; - ShipSpawnOffset = module.shipSpawn.offset ?? (module.shipSpawn.alignRadial.GetValueOrDefault() ? Vector3.up * 4 : Vector3.zero); + var shipSpawnOffset = point.offset ?? (point.alignRadial.GetValueOrDefault() ? Vector3.up * 4 : Vector3.zero); - spawnGO.SetActive(true); + if (ShipSpawn == null || point.GetPriority() > ShipSpawnInfo.GetPriority()) + { + ShipSpawn = shipSpawn; + ShipSpawnOffset = shipSpawnOffset; + ShipSpawnInfo = point; + } + + spawnGO.SetActive(true); + } } - if ((Main.Instance.IsWarpingFromVessel || (!Main.Instance.IsWarpingFromShip && (module.playerSpawn?.startWithSuit ?? false))) && !suitUpQueued) + // Make sure to queue this up if any spawn point building is happening + if (!suitUpQueued) { suitUpQueued = true; - Delay.RunWhen(() => Main.IsSystemReady, SuitUp); + Delay.RunWhen(() => Main.IsSystemReady, () => + { + suitUpQueued = false; + if (Main.Instance.IsWarpingFromVessel || (!Main.Instance.IsWarpingFromShip && (PlayerSpawnInfo?.startWithSuit ?? false))) + { + SuitUp(); + } + }); } NHLogger.Log($"Made spawnpoint on [{planetGO.name}]"); @@ -68,7 +109,6 @@ namespace NewHorizons.Builder.General public static void SuitUp() { - suitUpQueued = false; if (!Locator.GetPlayerController()._isWearingSuit) { Locator.GetPlayerSuit().SuitUp(false, true, true); @@ -87,8 +127,22 @@ namespace NewHorizons.Builder.General handler.Method.Invoke(handler.Target, new object[] { command }); } spv._interactVolume._listInteractions.First(x => x.promptText == UITextType.SuitUpPrompt).interactionEnabled = true; + + // Fix Disappearing Signalscope UI #934 after warping to new system wearing suit + Delay.StartCoroutine(SignalScopeZoomCoroutine()); } } } + + private static IEnumerator SignalScopeZoomCoroutine() + { + while (!Locator.GetToolModeSwapper().GetSignalScope().InZoomMode()) + { + yield return new WaitForEndOfFrame(); + } + yield return null; + Locator.GetToolModeSwapper().GetSignalScope().ExitSignalscopeZoom(); + Locator.GetToolModeSwapper().GetSignalScope().EnterSignalscopeZoom(); + } } } diff --git a/NewHorizons/Builder/Props/DetailBuilder.cs b/NewHorizons/Builder/Props/DetailBuilder.cs index 89d0887b..e49feeee 100644 --- a/NewHorizons/Builder/Props/DetailBuilder.cs +++ b/NewHorizons/Builder/Props/DetailBuilder.cs @@ -1,5 +1,6 @@ using NewHorizons.Builder.General; using NewHorizons.Components; +using NewHorizons.Components.Orbital; using NewHorizons.Components.Props; using NewHorizons.External.Modules.Props; using NewHorizons.Handlers; @@ -67,6 +68,8 @@ namespace NewHorizons.Builder.Props /// public static GameObject Make(GameObject planetGO, Sector sector, IModBehaviour mod, DetailInfo info) { + if (sector == null) info.keepLoaded = true; + if (info.assetBundle != null) { // Shouldn't happen @@ -98,6 +101,8 @@ namespace NewHorizons.Builder.Props { if (prefab == null) return null; + if (sector == null) detail.keepLoaded = true; + GameObject prop; bool isItem; bool invalidComponentFound = false; @@ -370,6 +375,12 @@ namespace NewHorizons.Builder.Props // Fix anglerfish speed on orbiting planets else if (component is AnglerfishController angler) { + if (planetGO?.GetComponent() is NHAstroObject nhao && !nhao.invulnerableToSun) + { + // Has a fluid detector, will go gorp (#830) + NHLogger.LogWarning("Having an anglerfish on a planet that has a fluid detector can lead to things breaking!"); + } + try { angler._chaseSpeed += OWPhysics.CalculateOrbitVelocity(planetGO.GetAttachedOWRigidbody(), planetGO.GetComponent().GetPrimaryBody().GetAttachedOWRigidbody()).magnitude; diff --git a/NewHorizons/Builder/Props/ProjectionBuilder.cs b/NewHorizons/Builder/Props/ProjectionBuilder.cs index 7a55d891..8d9eaca6 100644 --- a/NewHorizons/Builder/Props/ProjectionBuilder.cs +++ b/NewHorizons/Builder/Props/ProjectionBuilder.cs @@ -18,8 +18,9 @@ namespace NewHorizons.Builder.Props { public static class ProjectionBuilder { - public const string INVERTED_SLIDE_CACHE_FOLDER = "SlideReelCache/Inverted"; - public const string ATLAS_SLIDE_CACHE_FOLDER = "SlideReelCache/Atlas"; + public static string CurrentSlideReelFolder => "SlideReelCache_" + Main.Instance.CurrentStarSystem; + public static string InvertedSlideReelCacheFolder => CurrentSlideReelFolder + "/Inverted"; + public static string AtlasSlideReelCacheFolder => CurrentSlideReelFolder + "/Atlas"; public static GameObject SlideReelWholePrefab { get; private set; } public static GameObject SlideReelWholePristinePrefab { get; private set; } @@ -45,7 +46,7 @@ namespace NewHorizons.Builder.Props private static bool _isInit; - public static bool CacheExists(IModBehaviour mod) => Directory.Exists(Path.Combine(mod.ModHelper.Manifest.ModFolderPath, ATLAS_SLIDE_CACHE_FOLDER)); + public static bool CacheExists(IModBehaviour mod) => Directory.Exists(Path.Combine(mod.ModHelper.Manifest.ModFolderPath, AtlasSlideReelCacheFolder)); internal static void InitPrefabs() { @@ -521,7 +522,7 @@ namespace NewHorizons.Builder.Props { NHLogger.LogVerbose($"The atlas cache for slide reel containing [{slides.FirstOrDefault(x => !string.IsNullOrEmpty(x.imagePath))?.imagePath}] is {atlasKey}"); // Load the atlas texture used to draw onto the physical slide reel object - atlasImageLoader.PathsToLoad.Add((0, Path.Combine(mod.ModHelper.Manifest.ModFolderPath, ATLAS_SLIDE_CACHE_FOLDER, $"{atlasKey}.png"))); + atlasImageLoader.PathsToLoad.Add((0, Path.Combine(mod.ModHelper.Manifest.ModFolderPath, AtlasSlideReelCacheFolder, $"{atlasKey}.png"))); } for (int i = 0; i < slides.Length; i++) @@ -548,7 +549,7 @@ namespace NewHorizons.Builder.Props if (useInvertedCache && cacheExists) { // Load the inverted images used when displaying slide reels to a screen - invertedImageLoader.PathsToLoad.Add((i, Path.Combine(mod.ModHelper.Manifest.ModFolderPath, INVERTED_SLIDE_CACHE_FOLDER, slideInfo.imagePath))); + invertedImageLoader.PathsToLoad.Add((i, Path.Combine(mod.ModHelper.Manifest.ModFolderPath, InvertedSlideReelCacheFolder, slideInfo.imagePath))); } else { diff --git a/NewHorizons/Builder/Props/TranslatorText/NomaiTextArcBuilder.cs b/NewHorizons/Builder/Props/TranslatorText/NomaiTextArcBuilder.cs index 817084a5..4a78a3d6 100644 --- a/NewHorizons/Builder/Props/TranslatorText/NomaiTextArcBuilder.cs +++ b/NewHorizons/Builder/Props/TranslatorText/NomaiTextArcBuilder.cs @@ -1,3 +1,4 @@ +using NewHorizons.Utility.OWML; using System.Collections.Generic; using System.Linq; using UnityEngine; @@ -37,7 +38,6 @@ namespace NewHorizons.Builder.Props.TranslatorText ) .ToArray(); - return BuildSpiralGameObject(_points, mesh, goName); } @@ -67,15 +67,52 @@ namespace NewHorizons.Builder.Props.TranslatorText public struct SpiralProfile { // all of the Vector2 params here refer to a range of valid values public string profileName; + + /// + /// What is this + /// public Vector2 a; + + /// + /// What is this + /// public Vector2 b; + + /// + /// What is this + /// public Vector2 startS; + + /// + /// What is this + /// public Vector2 endS; + + /// + /// What is this + /// public Vector2 skeletonScale; + + /// + /// What is this + /// public int numSkeletonPoints; + + /// + /// What is this + /// public float uvScale; - public float innerWidth; // width at the tip - public float outerWidth; // width at the base + + /// + /// Width at tip + /// + public float innerWidth; + + /// + /// Width at base + /// + public float outerWidth; + public Material material; } @@ -119,8 +156,6 @@ namespace NewHorizons.Builder.Props.TranslatorText innerWidth = 0.75f, outerWidth = 0.75f, uvScale = 1f/1.8505f, - - }; diff --git a/NewHorizons/Builder/Props/TranslatorText/TranslatorTextBuilder.cs b/NewHorizons/Builder/Props/TranslatorText/TranslatorTextBuilder.cs index 9c1a4eba..18a09f87 100644 --- a/NewHorizons/Builder/Props/TranslatorText/TranslatorTextBuilder.cs +++ b/NewHorizons/Builder/Props/TranslatorText/TranslatorTextBuilder.cs @@ -583,7 +583,12 @@ namespace NewHorizons.Builder.Props.TranslatorText case NomaiTextArcInfo.NomaiTextArcType.Stranger when _ghostArcMaterial != null: profile = NomaiTextArcBuilder.strangerSpiralProfile; mat = _ghostArcMaterial; - overrideMesh = MeshUtilities.RectangleMeshFromCorners(new Vector3[]{ new Vector3(-0.9f, 0.0f, 0.0f), new Vector3(0.9f, 0.0f, 0.0f), new Vector3(-0.9f, 2.0f, 0.0f), new Vector3(0.9f, 2.0f, 0.0f) }); + overrideMesh = MeshUtilities.RectangleMeshFromCorners(new Vector3[]{ + new Vector3(-0.9f, 0.0f, 0.0f), + new Vector3(0.9f, 0.0f, 0.0f), + new Vector3(-0.9f, 2.0f, 0.0f), + new Vector3(0.9f, 2.0f, 0.0f) + }); overrideColor = new Color(0.0158f, 1.0f, 0.5601f, 1f); break; case NomaiTextArcInfo.NomaiTextArcType.Adult: @@ -603,6 +608,19 @@ namespace NewHorizons.Builder.Props.TranslatorText else arc = NomaiTextArcArranger.CreateSpiral(profile, conversationZone).gameObject; } + // Hardcoded stranger point fix + if (type == NomaiTextArcInfo.NomaiTextArcType.Stranger) + { + Delay.FireOnNextUpdate(() => + { + var text = arc.GetComponent(); + for (int i = 0; i < text._points.Length; i++) + { + text._points[i] = new Vector3(0f, 2f * i / text._points.Length, 0f); + } + }); + } + if (mat != null) arc.GetComponent().sharedMaterial = mat; arc.transform.parent = conversationZone.transform; diff --git a/NewHorizons/Builder/Volumes/ChangeStarSystemVolumeBuilder.cs b/NewHorizons/Builder/Volumes/ChangeStarSystemVolumeBuilder.cs index c3b8c5db..5557da98 100644 --- a/NewHorizons/Builder/Volumes/ChangeStarSystemVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/ChangeStarSystemVolumeBuilder.cs @@ -11,6 +11,7 @@ namespace NewHorizons.Builder.Volumes var volume = VolumeBuilder.Make(planetGO, sector, info); volume.TargetSolarSystem = info.targetStarSystem; + volume.TargetSpawnID = info.spawnPointID; return volume; } diff --git a/NewHorizons/Components/ShipLog/ShipLogStarChartMode.cs b/NewHorizons/Components/ShipLog/ShipLogStarChartMode.cs index 86d6cfa8..cc5636eb 100644 --- a/NewHorizons/Components/ShipLog/ShipLogStarChartMode.cs +++ b/NewHorizons/Components/ShipLog/ShipLogStarChartMode.cs @@ -211,7 +211,7 @@ namespace NewHorizons.Components.ShipLog { if (_starSystemCards.Count == 0) { - NHLogger.LogWarning("Showing star chart mode when there are no avaialble systems"); + NHLogger.LogWarning("Showing star chart mode when there are no available systems"); return; } diff --git a/NewHorizons/Components/Volumes/BlackHoleWarpVolume.cs b/NewHorizons/Components/Volumes/BlackHoleWarpVolume.cs index bd99fee5..941bff2b 100644 --- a/NewHorizons/Components/Volumes/BlackHoleWarpVolume.cs +++ b/NewHorizons/Components/Volumes/BlackHoleWarpVolume.cs @@ -1,8 +1,11 @@ +using NewHorizons.Handlers; + namespace NewHorizons.Components.Volumes { public class BlackHoleWarpVolume : BlackHoleDestructionVolume { public string TargetSolarSystem { get; set; } + public string TargetSpawnID { get; set; } public override void Awake() { @@ -19,6 +22,7 @@ namespace NewHorizons.Components.Volumes { Locator.GetPlayerAudioController().PlayOneShotInternal(AudioType.BH_BlackHoleEmission); Main.Instance.ChangeCurrentStarSystem(TargetSolarSystem, PlayerState.AtFlightConsole()); + PlayerSpawnHandler.TargetSpawnID = TargetSpawnID; } } } diff --git a/NewHorizons/Components/Volumes/WarpVolume.cs b/NewHorizons/Components/Volumes/WarpVolume.cs index fa07d6e4..25892833 100644 --- a/NewHorizons/Components/Volumes/WarpVolume.cs +++ b/NewHorizons/Components/Volumes/WarpVolume.cs @@ -1,3 +1,4 @@ +using NewHorizons.Handlers; using UnityEngine; namespace NewHorizons.Components.Volumes @@ -5,6 +6,7 @@ namespace NewHorizons.Components.Volumes internal class WarpVolume : BaseVolume { public string TargetSolarSystem; + public string TargetSpawnID; public override void OnTriggerVolumeEntry(GameObject hitObj) { @@ -13,6 +15,7 @@ namespace NewHorizons.Components.Volumes if (Main.Instance.CurrentStarSystem != TargetSolarSystem) // Otherwise it really breaks idk why { Main.Instance.ChangeCurrentStarSystem(TargetSolarSystem, PlayerState.AtFlightConsole()); + PlayerSpawnHandler.TargetSpawnID = TargetSpawnID; } } } diff --git a/NewHorizons/External/Configs/AddonConfig.cs b/NewHorizons/External/Configs/AddonConfig.cs index cfcc731b..66674575 100644 --- a/NewHorizons/External/Configs/AddonConfig.cs +++ b/NewHorizons/External/Configs/AddonConfig.cs @@ -41,6 +41,7 @@ namespace NewHorizons.External.Configs /// /// The path to the addons subtitle for the main menu. /// Defaults to "subtitle.png". + /// The dimensions of the Echoes of the Eye subtitle is 669 x 67, so aim for that size /// public string subtitlePath = "subtitle.png"; } diff --git a/NewHorizons/External/Configs/PlanetConfig.cs b/NewHorizons/External/Configs/PlanetConfig.cs index 28f00318..a55b794a 100644 --- a/NewHorizons/External/Configs/PlanetConfig.cs +++ b/NewHorizons/External/Configs/PlanetConfig.cs @@ -11,9 +11,7 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel; -using System.ComponentModel.DataAnnotations; using System.Linq; -using UnityEngine; namespace NewHorizons.External.Configs { @@ -25,9 +23,8 @@ namespace NewHorizons.External.Configs { #region Fields /// - /// Unique name of your planet + /// Unique name of your planet. If not specified, the file name (without the extension) is used. /// - [Required] public string name; /// @@ -281,7 +278,7 @@ namespace NewHorizons.External.Configs } // Stars and focal points shouldnt be destroyed by stars - if (Star != null || FocalPoint != null) Base.invulnerableToSun = true; + if (Star != null || FocalPoint != null) Base.hasFluidDetector = false; } public void Migrate() @@ -543,6 +540,22 @@ namespace NewHorizons.External.Configs }; } + // Spawn points are now a list + if (Spawn != null && Spawn.playerSpawn != null && Spawn.playerSpawnPoints == null) + { + Spawn.playerSpawnPoints = new SpawnModule.PlayerSpawnPoint[] { Spawn.playerSpawn }; + } + if (Spawn != null && Spawn.shipSpawn != null && Spawn.shipSpawnPoints == null) + { + Spawn.shipSpawnPoints = new SpawnModule.ShipSpawnPoint[] { Spawn.shipSpawn }; + } + + // Because these guys put TWO spawn points + if (starSystem == "2walker2.OogaBooga" && name == "The Campground") + { + Spawn.playerSpawnPoints[0].isDefault = true; + } + // Remote dialogue trigger reorganized to use GeneralPointPropInfo if (Props?.dialogue != null) { @@ -664,6 +677,11 @@ namespace NewHorizons.External.Configs if (destructionVolume.onlyAffectsPlayerAndShip) destructionVolume.onlyAffectsPlayerRelatedBodies = true; } } + + if (Base.invulnerableToSun) + { + Base.hasFluidDetector = false; + } } #endregion } diff --git a/NewHorizons/External/Configs/StarSystemConfig.cs b/NewHorizons/External/Configs/StarSystemConfig.cs index 72613588..4440c5d5 100644 --- a/NewHorizons/External/Configs/StarSystemConfig.cs +++ b/NewHorizons/External/Configs/StarSystemConfig.cs @@ -16,6 +16,11 @@ namespace NewHorizons.External.Configs [JsonObject] public class StarSystemConfig { + /// + /// Unique name of your system. If not specified, the file name (without the extension) is used. + /// + public string name; + /// /// In this system should the player be able to rotate their map camera freely or be stuck above the plane of the solar system? /// diff --git a/NewHorizons/External/Modules/AtmosphereModule.cs b/NewHorizons/External/Modules/AtmosphereModule.cs index e318f372..eb31dac2 100644 --- a/NewHorizons/External/Modules/AtmosphereModule.cs +++ b/NewHorizons/External/Modules/AtmosphereModule.cs @@ -107,6 +107,12 @@ namespace NewHorizons.External.Modules /// [DefaultValue(300f)] public float maxShockSpeed = 300f; + /// + /// Will the ship automatically try to orient itself to face upwards while in this volume? + /// + [DefaultValue(true)] + public bool allowShipAutoroll = true; + [JsonObject] public class CloudInfo { diff --git a/NewHorizons/External/Modules/BaseModule.cs b/NewHorizons/External/Modules/BaseModule.cs index 78a41fee..01ddd024 100644 --- a/NewHorizons/External/Modules/BaseModule.cs +++ b/NewHorizons/External/Modules/BaseModule.cs @@ -37,9 +37,11 @@ namespace NewHorizons.External.Modules public float groundSize; /// - /// Can this planet survive entering a star? + /// Is this planet able to detect fluid volumes? Disabling this means that entering a star or lava volume will not destroy this planet + /// May have adverse effects if anglerfish are added to this planet, disable this if you want those to work (they have fluid volumes in their mouths) /// - public bool invulnerableToSun; + [DefaultValue(true)] + public bool hasFluidDetector = true; /// /// Do we show the minimap when walking around this planet? @@ -58,6 +60,8 @@ namespace NewHorizons.External.Modules /// /// A scale height used for a number of things. Should be the approximate radius of the body. + /// + /// Affected settings include: Base sector size, proxy body scaling, surface gravity /// public float surfaceSize; @@ -82,6 +86,9 @@ namespace NewHorizons.External.Modules #region Obsolete + [Obsolete("invulnerableToSun is deprecated, please use hasFluidDetector instead")] + public bool invulnerableToSun; + [Obsolete("IsSatellite is deprecated, please use ShowMinimap instead")] public bool isSatellite; diff --git a/NewHorizons/External/Modules/BrambleModule.cs b/NewHorizons/External/Modules/BrambleModule.cs index 3351c6f5..b10c984f 100644 --- a/NewHorizons/External/Modules/BrambleModule.cs +++ b/NewHorizons/External/Modules/BrambleModule.cs @@ -41,11 +41,12 @@ namespace NewHorizons.External.Modules /// /// The color of the fog inside this dimension. /// Leave blank for the default grayish color: (84, 83, 73) + /// The alpha value has no effect of the fog: Use fogDensity instead! /// public MColor fogTint; /// - /// The density of the fog inside this dimension. The default is 6. + /// The density of the fog inside this dimension. The default is 6. If you want no fog, set this to 0. /// [DefaultValue(6f)] public float fogDensity = 6f; diff --git a/NewHorizons/External/Modules/Props/DetailInfo.cs b/NewHorizons/External/Modules/Props/DetailInfo.cs index 171f1b64..9cc8feb0 100644 --- a/NewHorizons/External/Modules/Props/DetailInfo.cs +++ b/NewHorizons/External/Modules/Props/DetailInfo.cs @@ -56,6 +56,7 @@ namespace NewHorizons.External.Modules.Props /// /// Should this detail stay loaded (visible and collideable) even if you're outside the sector (good for very large props)? /// Also makes this detail visible on the map. + /// Keeping many props loaded is bad for performance so use this only when it's actually relevant /// Most logic/behavior scripts will still only work inside the sector, as most of those scripts break if a sector is not provided. /// public bool keepLoaded; diff --git a/NewHorizons/External/Modules/SpawnModule.cs b/NewHorizons/External/Modules/SpawnModule.cs index f8af3fa1..3c62766a 100644 --- a/NewHorizons/External/Modules/SpawnModule.cs +++ b/NewHorizons/External/Modules/SpawnModule.cs @@ -1,4 +1,6 @@ +using NewHorizons.Builder.General; using NewHorizons.External.SerializableData; +using NewHorizons.Handlers; using Newtonsoft.Json; using System; @@ -9,12 +11,20 @@ namespace NewHorizons.External.Modules { /// /// If you want the player to spawn on the new body, set a value for this. + /// Different spawns can be unlocked with persistent conditions and facts /// - public PlayerSpawnPoint playerSpawn; + public PlayerSpawnPoint[] playerSpawnPoints; /// /// Required for the system to be accessible by warp drive. + /// Different spawns can be unlocked with persistent conditions and facts /// + public ShipSpawnPoint[] shipSpawnPoints; + + [Obsolete("Use playerSpawnPoints instead")] + public PlayerSpawnPoint playerSpawn; + + [Obsolete("Use shipSpawnPoints instead")] public ShipSpawnPoint shipSpawn; [Obsolete("playerSpawnPoint is deprecated. Use playerSpawn.position instead")] public MVector3 playerSpawnPoint; @@ -30,6 +40,56 @@ namespace NewHorizons.External.Modules /// Offsets the player/ship by this local vector when spawning. Used to prevent spawning in the floor. Optional: defaults to (0, 4, 0). /// public MVector3 offset; + + /// + /// Whether this planet's spawn point is the one the player/ship will initially spawn at, if multiple spawn points exist. + /// Do not use at the same time as makeDefaultIfFactRevealed or makeDefaultIfPersistentCondition + /// Spawns unlocked with this have lowest priority + /// + public bool isDefault; + + /// + /// If the given ship log fact is revealed, this spawn point will be used + /// Do not use at the same time as isDefault or makeDefaultIfPersistentCondition + /// Spawns unlocked with this have highest priority + /// + public string makeDefaultIfFactRevealed; + + /// + /// If the given persistent condition is true, this spawn point will be used + /// Do not use at the same time as isDefault or makeDefaultIfFactRevealed + /// Spawns unlocked with this have second highest priority + /// + public string makeDefaultIfPersistentCondition; + + /// + /// ID used to have a black hole or warp volume bring the player to this spawn specifically + /// + public string id; + + public int GetPriority() + { + if (!string.IsNullOrEmpty(id) && !string.IsNullOrEmpty(PlayerSpawnHandler.TargetSpawnID) && id == PlayerSpawnHandler.TargetSpawnID) + { + return 3; + } + if (!string.IsNullOrEmpty(makeDefaultIfFactRevealed) && ShipLogHandler.KnowsFact(makeDefaultIfFactRevealed)) + { + return 2; + } + if (!string.IsNullOrEmpty(makeDefaultIfPersistentCondition) && PlayerData.GetPersistentCondition(makeDefaultIfPersistentCondition)) + { + return 1; + } + if (isDefault) + { + return 0; + } + else + { + return -1; + } + } } [JsonObject] @@ -39,12 +99,6 @@ namespace NewHorizons.External.Modules /// If you spawn on a planet with no oxygen, you probably want to set this to true ;;) /// public bool startWithSuit; - /// - /// Whether this planet's spawn point is the one the player will initially spawn at, if multiple spawn points exist. - /// - public bool isDefault; - - } [JsonObject] diff --git a/NewHorizons/External/Modules/VariableSize/SingularityModule.cs b/NewHorizons/External/Modules/VariableSize/SingularityModule.cs index d85a399c..042cbe02 100644 --- a/NewHorizons/External/Modules/VariableSize/SingularityModule.cs +++ b/NewHorizons/External/Modules/VariableSize/SingularityModule.cs @@ -54,6 +54,12 @@ namespace NewHorizons.External.Modules.VariableSize /// public string targetStarSystem; + /// + /// If this is a black hole loading a new star system, set the ID of the spawn point you want to use + /// Otherwise, will use the default spawn + /// + public string spawnPointID; + /// /// Type of singularity (white hole or black hole) /// diff --git a/NewHorizons/External/Modules/VariableSize/WaterModule.cs b/NewHorizons/External/Modules/VariableSize/WaterModule.cs index 3443f162..d28ffb7c 100644 --- a/NewHorizons/External/Modules/VariableSize/WaterModule.cs +++ b/NewHorizons/External/Modules/VariableSize/WaterModule.cs @@ -26,5 +26,11 @@ namespace NewHorizons.External.Modules.VariableSize /// Tint of the water /// public MColor tint; + + /// + /// Will the ship automatically try to orient itself to face upwards while in this volume? + /// + [DefaultValue(true)] + public bool allowShipAutoroll = true; } } \ No newline at end of file diff --git a/NewHorizons/External/Modules/Volumes/VolumeInfos/ChangeStarSystemVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/ChangeStarSystemVolumeInfo.cs index 969a5945..24b492db 100644 --- a/NewHorizons/External/Modules/Volumes/VolumeInfos/ChangeStarSystemVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/ChangeStarSystemVolumeInfo.cs @@ -10,5 +10,11 @@ namespace NewHorizons.External.Modules.Volumes.VolumeInfos /// The star system that entering this volume will send you to. /// [DefaultValue("SolarSystem")] public string targetStarSystem; + + /// + /// ID assigned to a spawn point in the other system that the player will be sent to + /// Uses the default spawn if not set + /// + public string spawnPointID; } } diff --git a/NewHorizons/External/NewHorizonBody.cs b/NewHorizons/External/NewHorizonBody.cs index 6779e526..14da7b49 100644 --- a/NewHorizons/External/NewHorizonBody.cs +++ b/NewHorizons/External/NewHorizonBody.cs @@ -3,6 +3,7 @@ using NewHorizons.Utility.Files; using NewHorizons.Utility.OWML; using OWML.Common; using System; +using System.IO; using System.Linq; using UnityEngine; @@ -16,6 +17,12 @@ namespace NewHorizons.External Mod = mod; RelativePath = relativePath; + // Fall back to file name if name not given + if (!string.IsNullOrEmpty(relativePath) && string.IsNullOrEmpty(config.name)) + { + config.name = Path.GetFileNameWithoutExtension(relativePath); + } + Migrate(); } @@ -99,12 +106,6 @@ namespace NewHorizons.External } } } - - // Because these guys put TWO spawn points - if (Mod.ModHelper.Manifest.UniqueName == "2walker2.Evacuation" && Config.name == "The Campground") - { - Config.Spawn.playerSpawn.isDefault = true; - } } #endregion diff --git a/NewHorizons/External/NewHorizonsSystem.cs b/NewHorizons/External/NewHorizonsSystem.cs index 07f1ba08..f4928f17 100644 --- a/NewHorizons/External/NewHorizonsSystem.cs +++ b/NewHorizons/External/NewHorizonsSystem.cs @@ -1,5 +1,4 @@ using NewHorizons.External.Configs; -using NewHorizons.External.Modules; using OWML.Common; using System.Linq; @@ -9,10 +8,9 @@ namespace NewHorizons.External { public string UniqueID; public string RelativePath; - public SpawnModule Spawn = null; - public SpawnPoint SpawnPoint = null; public StarSystemConfig Config; public IModBehaviour Mod; + public bool HasShipSpawn; public NewHorizonsSystem(string uniqueID, StarSystemConfig config, string relativePath, IModBehaviour mod) { diff --git a/NewHorizons/Handlers/PlanetCreationHandler.cs b/NewHorizons/Handlers/PlanetCreationHandler.cs index 8ede325a..c9cc6f39 100644 --- a/NewHorizons/Handlers/PlanetCreationHandler.cs +++ b/NewHorizons/Handlers/PlanetCreationHandler.cs @@ -425,8 +425,8 @@ namespace NewHorizons.Handlers if (defaultPrimaryToSun) { NHLogger.LogError($"Couldn't find {body.Config.Orbit.primaryBody}, defaulting to center of solar system"); - // TODO: Make this work in other systems. We tried using Locator.GetCenterOfUniverse before but that doesn't work since its too early now - primaryBody = SearchUtilities.Find("Sun_Body")?.GetComponent(); + // Fix #933 not defaulting primary body + primaryBody = (SearchUtilities.Find("Sun_Body") ?? AstroObjectBuilder.CenterOfUniverse)?.GetComponent(); } else { @@ -506,13 +506,6 @@ namespace NewHorizons.Handlers { NHLogger.LogVerbose($"Making spawn point on {body.Config.name}"); var spawnPoint = SpawnPointBuilder.Make(go, body.Config.Spawn, owRigidBody); - var isVanillaSystem = body.Config.starSystem == "SolarSystem" || body.Config.starSystem == "EyeOfTheUniverse"; - var needsSpawnPoint = Main.SystemDict[body.Config.starSystem].SpawnPoint == null || isVanillaSystem; - var isDefaultSpawn = body.Config.Spawn.playerSpawn?.isDefault ?? true; // Backwards compat - if (needsSpawnPoint || isDefaultSpawn) - { - Main.SystemDict[body.Config.starSystem].SpawnPoint = spawnPoint; - } } if (body.Config.Orbit.showOrbitLine && !body.Config.Orbit.isStatic) diff --git a/NewHorizons/Handlers/PlayerSpawnHandler.cs b/NewHorizons/Handlers/PlayerSpawnHandler.cs index dd4f4f27..8ee1a007 100644 --- a/NewHorizons/Handlers/PlayerSpawnHandler.cs +++ b/NewHorizons/Handlers/PlayerSpawnHandler.cs @@ -9,6 +9,11 @@ namespace NewHorizons.Handlers { public static class PlayerSpawnHandler { + /// + /// Set during the previous loop, force the player to spawn here + /// + public static string TargetSpawnID { get; set; } + public static void SetUpPlayerSpawn() { if (UsingCustomSpawn()) @@ -146,6 +151,9 @@ namespace NewHorizons.Handlers FixPlayerVelocity(); InvulnerabilityHandler.MakeInvulnerable(false); + + // Done spawning + TargetSpawnID = null; } private static void FixPlayerVelocity(bool recenter = true) @@ -200,8 +208,8 @@ namespace NewHorizons.Handlers return vector; } - public static bool UsingCustomSpawn() => Main.SystemDict[Main.Instance.CurrentStarSystem].SpawnPoint != null; + public static bool UsingCustomSpawn() => SpawnPointBuilder.PlayerSpawn != null; public static PlayerSpawner GetPlayerSpawner() => GameObject.FindObjectOfType(); - public static SpawnPoint GetDefaultSpawn() => Main.SystemDict[Main.Instance.CurrentStarSystem].SpawnPoint ?? GetPlayerSpawner().GetSpawnPoint(SpawnLocation.TimberHearth); + public static SpawnPoint GetDefaultSpawn() => SpawnPointBuilder.PlayerSpawn ?? GetPlayerSpawner().GetSpawnPoint(SpawnLocation.TimberHearth); } } diff --git a/NewHorizons/Handlers/ShipLogHandler.cs b/NewHorizons/Handlers/ShipLogHandler.cs index 84cbb203..7f9a6e14 100644 --- a/NewHorizons/Handlers/ShipLogHandler.cs +++ b/NewHorizons/Handlers/ShipLogHandler.cs @@ -114,10 +114,8 @@ namespace NewHorizons.Handlers public static bool KnowsFact(string fact) { - // Works normally in the main system, else check save data directly - var shipLogManager = Locator.GetShipLogManager(); - if (Main.Instance.CurrentStarSystem == "SolarSystem" && shipLogManager != null) return shipLogManager.IsFactRevealed(fact); - else return PlayerData.GetShipLogFactSave(fact)?.revealOrder > -1; + // Use save data directly so stuff works between systems + return PlayerData.GetShipLogFactSave(fact)?.revealOrder > -1; } } } diff --git a/NewHorizons/Handlers/StarChartHandler.cs b/NewHorizons/Handlers/StarChartHandler.cs index d063abcc..27844c5b 100644 --- a/NewHorizons/Handlers/StarChartHandler.cs +++ b/NewHorizons/Handlers/StarChartHandler.cs @@ -130,7 +130,7 @@ namespace NewHorizons.Handlers var canWarpTo = false; if (system.Equals("SolarSystem")) canWarpTo = true; else if (system.Equals("EyeOfTheUniverse")) canWarpTo = false; - else if (config.Spawn?.shipSpawn != null) canWarpTo = true; + else if (config.HasShipSpawn) canWarpTo = true; var canEnterViaWarpDrive = Main.SystemDict[system].Config.canEnterViaWarpDrive || system == "SolarSystem"; @@ -156,15 +156,20 @@ namespace NewHorizons.Handlers _canExitViaWarpDrive = true; if (!Main.HasWarpDrive) { - Main.Instance.EnableWarpDrive(); + var flagActuallyAddedACard = false; // Add all cards that now work foreach (var starSystem in Main.SystemDict.Keys) { if (CanWarpToSystem(starSystem)) { ShipLogStarChartMode.AddSystemCard(starSystem); + flagActuallyAddedACard = true; } } + if (flagActuallyAddedACard) + { + Main.Instance.EnableWarpDrive(); + } } else { diff --git a/NewHorizons/Handlers/SubtitlesHandler.cs b/NewHorizons/Handlers/SubtitlesHandler.cs index d3fe3fb8..1a42bc79 100644 --- a/NewHorizons/Handlers/SubtitlesHandler.cs +++ b/NewHorizons/Handlers/SubtitlesHandler.cs @@ -1,3 +1,4 @@ +using NewHorizons.Utility; using NewHorizons.Utility.Files; using NewHorizons.Utility.OWML; using OWML.Common; @@ -31,6 +32,8 @@ namespace NewHorizons.Handlers private static List<(IModBehaviour mod, string filePath)> _additionalSubtitles = new(); + private CanvasGroup _titleCanvasGroup; + public static void RegisterAdditionalSubtitle(IModBehaviour mod, string filePath) { _additionalSubtitles.Add((mod, filePath)); @@ -64,6 +67,8 @@ namespace NewHorizons.Handlers var layout = GetComponent(); layout.minHeight = SUBTITLE_HEIGHT; + _titleCanvasGroup = SearchUtilities.Find("TitleCanvas").GetComponent(); + CheckForEOTE(); // We add our subtitles as a child object so that their sizing doesnt shift the layout of the main menu @@ -104,7 +109,7 @@ namespace NewHorizons.Handlers var tex = ImageUtilities.GetTexture(mod, filepath, false); if (tex == null) return; - var sprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, Mathf.Max(SUBTITLE_HEIGHT, tex.height)), new Vector2(0.5f, 0.5f), 100.0f); + var sprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f), 100.0f); AddSubtitle(sprite); } @@ -137,6 +142,12 @@ namespace NewHorizons.Handlers return; } + // Fix subtitles start cycling before the main menu is visible #844 + if (_titleCanvasGroup.alpha < 1) + { + return; + } + if (pauseTimer > 0) { pauseTimer--; diff --git a/NewHorizons/Handlers/VesselWarpHandler.cs b/NewHorizons/Handlers/VesselWarpHandler.cs index 26195e5c..bac8fdf7 100644 --- a/NewHorizons/Handlers/VesselWarpHandler.cs +++ b/NewHorizons/Handlers/VesselWarpHandler.cs @@ -1,3 +1,4 @@ +using NewHorizons.Builder.General; using NewHorizons.Builder.Props; using NewHorizons.Components; using NewHorizons.Components.EyeOfTheUniverse; @@ -240,7 +241,7 @@ namespace NewHorizons.Handlers VesselSpawnPoint spawnPoint = vesselObject.GetComponentInChildren(true); if (ShouldSpawnAtVessel()) { - system.SpawnPoint = spawnPoint; + SpawnPointBuilder.OverridePlayerSpawn(spawnPoint); } vesselObject.SetActive(true); diff --git a/NewHorizons/INewHorizons.cs b/NewHorizons/INewHorizons.cs index 71337802..12002b1e 100644 --- a/NewHorizons/INewHorizons.cs +++ b/NewHorizons/INewHorizons.cs @@ -214,5 +214,12 @@ namespace NewHorizons /// /// void AddSubtitle(IModBehaviour mod, string filePath); + + /// + /// Whatever system the player is warping to next, they will spawn at the spawn point with this ID + /// Gets reset after warping. Is also overriden by entering a system-changing black hole or warp volume by their `spawnPointID` + /// + /// + void SetNextSpawnID(string id); } } diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index b9d0ecbb..7b540e69 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -173,7 +173,7 @@ namespace NewHorizons BodyDict["SolarSystem"] = new List(); BodyDict["EyeOfTheUniverse"] = new List(); // Keep this empty tho fr - SystemDict["SolarSystem"] = new NewHorizonsSystem("SolarSystem", new StarSystemConfig(), "", Instance) + SystemDict["SolarSystem"] = new NewHorizonsSystem("SolarSystem", new StarSystemConfig() { name = "SolarSystem" }, "", Instance) { Config = { @@ -189,7 +189,7 @@ namespace NewHorizons } } }; - SystemDict["EyeOfTheUniverse"] = new NewHorizonsSystem("EyeOfTheUniverse", new StarSystemConfig(), "", Instance) + SystemDict["EyeOfTheUniverse"] = new NewHorizonsSystem("EyeOfTheUniverse", new StarSystemConfig() { name = "EyeOfTheUniverse" }, "", Instance) { Config = { @@ -677,8 +677,15 @@ namespace NewHorizons } #region Load - public void LoadStarSystemConfig(string starSystemName, StarSystemConfig starSystemConfig, string relativePath, IModBehaviour mod) + public void LoadStarSystemConfig(StarSystemConfig starSystemConfig, string relativePath, IModBehaviour mod) { + if (string.IsNullOrEmpty(starSystemConfig.name)) + { + starSystemConfig.name = Path.GetFileNameWithoutExtension(relativePath); + } + + var starSystemName = starSystemConfig.name; + starSystemConfig.Migrate(); starSystemConfig.FixCoordinates(); @@ -748,13 +755,12 @@ namespace NewHorizons foreach (var file in systemFiles) { - var starSystemName = Path.GetFileNameWithoutExtension(file); - - NHLogger.LogVerbose($"Loading system {starSystemName}"); - var relativePath = file.Replace(folder, ""); + + NHLogger.LogVerbose($"Loading system {Path.GetFileNameWithoutExtension(relativePath)}"); + var starSystemConfig = mod.ModHelper.Storage.Load(relativePath, false); - LoadStarSystemConfig(starSystemName, starSystemConfig, relativePath, mod); + LoadStarSystemConfig(starSystemConfig, relativePath, mod); } } if (Directory.Exists(planetsFolder)) @@ -783,9 +789,6 @@ namespace NewHorizons if (body != null) { - // Wanna track the spawn point of each system - if (body.Config.Spawn != null) SystemDict[body.Config.starSystem].Spawn = body.Config.Spawn; - // Add the new planet to the planet dictionary if (!BodyDict.ContainsKey(body.Config.starSystem)) BodyDict[body.Config.starSystem] = new List(); BodyDict[body.Config.starSystem].Add(body); @@ -903,11 +906,7 @@ namespace NewHorizons { if (!SystemDict.ContainsKey(config.starSystem)) { - // Since we didn't load it earlier there shouldn't be a star system config - var starSystemConfig = mod.ModHelper.Storage.Load(Path.Combine("systems", config.starSystem + ".json"), false); - if (starSystemConfig == null) starSystemConfig = new StarSystemConfig(); - else NHLogger.LogWarning($"Loaded system config for {config.starSystem}. Why wasn't this loaded earlier?"); - + var starSystemConfig = new StarSystemConfig() { name = config.starSystem }; starSystemConfig.Migrate(); starSystemConfig.FixCoordinates(); @@ -922,6 +921,12 @@ namespace NewHorizons config.Validate(); config.Migrate(); + // Check if this system can be warped to + if (config.Spawn?.shipSpawnPoints?.Any() ?? false) + { + SystemDict[config.starSystem].HasShipSpawn = true; + } + return new NewHorizonsBody(config, mod, relativePath); } @@ -1069,7 +1074,7 @@ namespace NewHorizons { IsWarpingFromVessel = true; } - else if (BodyDict.TryGetValue(DefaultSystemOverride, out var bodies) && bodies.Any(x => x.Config?.Spawn?.shipSpawn != null)) + else if (BodyDict.TryGetValue(DefaultSystemOverride, out var bodies) && bodies.Any(x => x.Config?.Spawn?.shipSpawnPoints?.Any() ?? false)) { IsWarpingFromShip = true; } diff --git a/NewHorizons/NewHorizonsApi.cs b/NewHorizons/NewHorizonsApi.cs index 6c46ac3c..348991c0 100644 --- a/NewHorizons/NewHorizonsApi.cs +++ b/NewHorizons/NewHorizonsApi.cs @@ -261,7 +261,8 @@ namespace NewHorizons public void DefineStarSystem(string name, string config, IModBehaviour mod) { var starSystemConfig = JsonConvert.DeserializeObject(config); - Main.Instance.LoadStarSystemConfig(name, starSystemConfig, null, mod); + starSystemConfig.name = name; + Main.Instance.LoadStarSystemConfig(starSystemConfig, null, mod); } public (CharacterDialogueTree, RemoteDialogueTrigger) CreateDialogueFromXML(string textAssetID, string xml, string dialogueInfo, GameObject planetGO) @@ -312,6 +313,7 @@ namespace NewHorizons var system = new StarSystemConfig() { + name = starSystem, entryPositions = entryPositions? .Select((pair) => new EntryPositionInfo() { id = pair.Key, position = pair.Value }) .ToArray(), @@ -320,7 +322,7 @@ namespace NewHorizons .ToArray() }; - Main.Instance.LoadStarSystemConfig(starSystem, system, null, mod); + Main.Instance.LoadStarSystemConfig(system, null, mod); RumorModeBuilder.AddShipLogXML(GameObject.FindObjectOfType(), xml, body); } @@ -340,5 +342,7 @@ namespace NewHorizons public string GetTranslationForOtherText(string text) => TranslationHandler.GetTranslation(text, TranslationHandler.TextType.OTHER); public void AddSubtitle(IModBehaviour mod, string filePath) => SubtitlesHandler.RegisterAdditionalSubtitle(mod, filePath); + + public void SetNextSpawnID(string id) => PlayerSpawnHandler.TargetSpawnID = id; } } diff --git a/NewHorizons/Schemas/addon_manifest_schema.json b/NewHorizons/Schemas/addon_manifest_schema.json index dec9022f..a1e1d34a 100644 --- a/NewHorizons/Schemas/addon_manifest_schema.json +++ b/NewHorizons/Schemas/addon_manifest_schema.json @@ -36,7 +36,7 @@ }, "subtitlePath": { "type": "string", - "description": "The path to the addons subtitle for the main menu.\nDefaults to \"subtitle.png\"." + "description": "The path to the addons subtitle for the main menu.\nDefaults to \"subtitle.png\".\nThe dimensions of the Echoes of the Eye subtitle is 669 x 67, so aim for that size" }, "$schema": { "type": "string", diff --git a/NewHorizons/Schemas/body_schema.json b/NewHorizons/Schemas/body_schema.json index 1f2fd960..cafe5fb9 100644 --- a/NewHorizons/Schemas/body_schema.json +++ b/NewHorizons/Schemas/body_schema.json @@ -4,14 +4,10 @@ "type": "object", "description": "Describes a celestial body to generate", "additionalProperties": false, - "required": [ - "name" - ], "properties": { "name": { "type": "string", - "description": "Unique name of your planet", - "minLength": 1 + "description": "Unique name of your planet. If not specified, the file name (without the extension) is used." }, "starSystem": { "type": "string", @@ -409,6 +405,11 @@ "description": "Maximum speed that your ship can go in the atmosphere where flames will appear at their brightest.", "format": "float", "default": 300.0 + }, + "allowShipAutoroll": { + "type": "boolean", + "description": "Will the ship automatically try to orient itself to face upwards while in this volume?", + "default": true } } }, @@ -547,9 +548,10 @@ "description": "Radius of a simple sphere used as the ground for the planet. If you want to use more complex terrain, leave this as\n0.", "format": "float" }, - "invulnerableToSun": { + "hasFluidDetector": { "type": "boolean", - "description": "Can this planet survive entering a star?" + "description": "Is this planet able to detect fluid volumes? Disabling this means that entering a star or lava volume will not destroy this planet\nMay have adverse effects if anglerfish are added to this planet, disable this if you want those to work (they have fluid volumes in their mouths)", + "default": true }, "showMinimap": { "type": "boolean", @@ -568,7 +570,7 @@ }, "surfaceSize": { "type": "number", - "description": "A scale height used for a number of things. Should be the approximate radius of the body.", + "description": "A scale height used for a number of things. Should be the approximate radius of the body.\n\nAffected settings include: Base sector size, proxy body scaling, surface gravity", "format": "float" }, "gravityVolumePriority": { @@ -621,12 +623,12 @@ "additionalProperties": false, "properties": { "fogTint": { - "description": "The color of the fog inside this dimension. \nLeave blank for the default grayish color: (84, 83, 73)", + "description": "The color of the fog inside this dimension. \nLeave blank for the default grayish color: (84, 83, 73)\nThe alpha value has no effect of the fog: Use fogDensity instead!", "$ref": "#/definitions/MColor" }, "fogDensity": { "type": "number", - "description": "The density of the fog inside this dimension. The default is 6.", + "description": "The density of the fog inside this dimension. The default is 6. If you want no fog, set this to 0.", "format": "float", "default": 6.0 }, @@ -1118,7 +1120,6 @@ "type": "number", "description": "The semi-major axis of the ellipse that is the body's orbit. For a circular orbit this is the radius.", "format": "float", - "default": 5000.0, "minimum": 0.0 }, "inclination": { @@ -1362,7 +1363,7 @@ }, "keepLoaded": { "type": "boolean", - "description": "Should this detail stay loaded (visible and collideable) even if you're outside the sector (good for very large props)?\nAlso makes this detail visible on the map.\nMost logic/behavior scripts will still only work inside the sector, as most of those scripts break if a sector is not provided." + "description": "Should this detail stay loaded (visible and collideable) even if you're outside the sector (good for very large props)?\nAlso makes this detail visible on the map.\nKeeping many props loaded is bad for performance so use this only when it's actually relevant\nMost logic/behavior scripts will still only work inside the sector, as most of those scripts break if a sector is not provided." }, "hasPhysics": { "type": "boolean", @@ -2721,6 +2722,10 @@ "type": "string", "description": "If you want a black hole to load a new star system scene, put its name here." }, + "spawnPointID": { + "type": "string", + "description": "If this is a black hole loading a new star system, set the ID of the spawn point you want to use\nOtherwise, will use the default spawn" + }, "type": { "description": "Type of singularity (white hole or black hole)", "$ref": "#/definitions/SingularityType" @@ -3618,13 +3623,19 @@ "type": "object", "additionalProperties": false, "properties": { - "playerSpawn": { - "description": "If you want the player to spawn on the new body, set a value for this.", - "$ref": "#/definitions/PlayerSpawnPoint" + "playerSpawnPoints": { + "type": "array", + "description": "If you want the player to spawn on the new body, set a value for this.\nDifferent spawns can be unlocked with persistent conditions and facts", + "items": { + "$ref": "#/definitions/PlayerSpawnPoint" + } }, - "shipSpawn": { - "description": "Required for the system to be accessible by warp drive.", - "$ref": "#/definitions/ShipSpawnPoint" + "shipSpawnPoints": { + "type": "array", + "description": "Required for the system to be accessible by warp drive.\nDifferent spawns can be unlocked with persistent conditions and facts", + "items": { + "$ref": "#/definitions/ShipSpawnPoint" + } } } }, @@ -3636,6 +3647,22 @@ "description": "Offsets the player/ship by this local vector when spawning. Used to prevent spawning in the floor. Optional: defaults to (0, 4, 0).", "$ref": "#/definitions/MVector3" }, + "isDefault": { + "type": "boolean", + "description": "Whether this planet's spawn point is the one the player/ship will initially spawn at, if multiple spawn points exist.\nDo not use at the same time as makeDefaultIfFactRevealed or makeDefaultIfPersistentCondition\nSpawns unlocked with this have lowest priority" + }, + "makeDefaultIfFactRevealed": { + "type": "string", + "description": "If the given ship log fact is revealed, this spawn point will be used\nDo not use at the same time as isDefault or makeDefaultIfPersistentCondition\nSpawns unlocked with this have highest priority" + }, + "makeDefaultIfPersistentCondition": { + "type": "string", + "description": "If the given persistent condition is true, this spawn point will be used\nDo not use at the same time as isDefault or makeDefaultIfFactRevealed\nSpawns unlocked with this have second highest priority" + }, + "id": { + "type": "string", + "description": "ID used to have a black hole or warp volume bring the player to this spawn specifically" + }, "rotation": { "description": "Rotation of the object", "$ref": "#/definitions/MVector3" @@ -3666,10 +3693,6 @@ "startWithSuit": { "type": "boolean", "description": "If you spawn on a planet with no oxygen, you probably want to set this to true ;;)" - }, - "isDefault": { - "type": "boolean", - "description": "Whether this planet's spawn point is the one the player will initially spawn at, if multiple spawn points exist." } } }, @@ -3681,6 +3704,22 @@ "description": "Offsets the player/ship by this local vector when spawning. Used to prevent spawning in the floor. Optional: defaults to (0, 4, 0).", "$ref": "#/definitions/MVector3" }, + "isDefault": { + "type": "boolean", + "description": "Whether this planet's spawn point is the one the player/ship will initially spawn at, if multiple spawn points exist.\nDo not use at the same time as makeDefaultIfFactRevealed or makeDefaultIfPersistentCondition\nSpawns unlocked with this have lowest priority" + }, + "makeDefaultIfFactRevealed": { + "type": "string", + "description": "If the given ship log fact is revealed, this spawn point will be used\nDo not use at the same time as isDefault or makeDefaultIfPersistentCondition\nSpawns unlocked with this have highest priority" + }, + "makeDefaultIfPersistentCondition": { + "type": "string", + "description": "If the given persistent condition is true, this spawn point will be used\nDo not use at the same time as isDefault or makeDefaultIfFactRevealed\nSpawns unlocked with this have second highest priority" + }, + "id": { + "type": "string", + "description": "ID used to have a black hole or warp volume bring the player to this spawn specifically" + }, "rotation": { "description": "Rotation of the object", "$ref": "#/definitions/MVector3" @@ -3907,6 +3946,11 @@ "tint": { "description": "Tint of the water", "$ref": "#/definitions/MColor" + }, + "allowShipAutoroll": { + "type": "boolean", + "description": "Will the ship automatically try to orient itself to face upwards while in this volume?", + "default": true } } }, @@ -5162,6 +5206,10 @@ "type": "string", "description": "The star system that entering this volume will send you to.", "default": "SolarSystem" + }, + "spawnPointID": { + "type": "string", + "description": "ID assigned to a spawn point in the other system that the player will be sent to\nUses the default spawn if not set" } } }, diff --git a/NewHorizons/Schemas/shiplog_schema.xsd b/NewHorizons/Schemas/shiplog_schema.xsd index 1c68acde..213cc157 100644 --- a/NewHorizons/Schemas/shiplog_schema.xsd +++ b/NewHorizons/Schemas/shiplog_schema.xsd @@ -81,7 +81,7 @@ - If this fact is revealed, show the Alt picture + If this fact is revealed, show the Alt picture. Alt photos use the same file name as default but suffixed with "_alt" diff --git a/NewHorizons/Schemas/star_system_schema.json b/NewHorizons/Schemas/star_system_schema.json index 68d3f216..0bd6055c 100644 --- a/NewHorizons/Schemas/star_system_schema.json +++ b/NewHorizons/Schemas/star_system_schema.json @@ -5,6 +5,10 @@ "description": "Configuration for a specific star system", "additionalProperties": false, "properties": { + "name": { + "type": "string", + "description": "Unique name of your system. If not specified, the file name (without the extension) is used." + }, "freeMapAngle": { "type": "boolean", "description": "In this system should the player be able to rotate their map camera freely or be stuck above the plane of the solar system?" diff --git a/NewHorizons/Utility/Files/ImageUtilities.cs b/NewHorizons/Utility/Files/ImageUtilities.cs index e7a76d64..fa4bd87e 100644 --- a/NewHorizons/Utility/Files/ImageUtilities.cs +++ b/NewHorizons/Utility/Files/ImageUtilities.cs @@ -124,7 +124,7 @@ namespace NewHorizons.Utility.Files // Not sure why we check if the originalPath is null but it did that before so if (!string.IsNullOrEmpty(originalPath)) { - cachedPath = Path.Combine(mod.ModHelper.Manifest.ModFolderPath, ProjectionBuilder.INVERTED_SLIDE_CACHE_FOLDER, originalPath.Replace(mod.ModHelper.Manifest.ModFolderPath, "")); + cachedPath = Path.Combine(mod.ModHelper.Manifest.ModFolderPath, ProjectionBuilder.InvertedSlideReelCacheFolder, originalPath.Replace(mod.ModHelper.Manifest.ModFolderPath, "")); key = GetKey(cachedPath); } @@ -226,7 +226,7 @@ namespace NewHorizons.Utility.Files // Since doing this is expensive we cache the results to the disk // Preloading cached values is done in ProjectionBuilder - var path = Path.Combine(mod.ModHelper.Manifest.ModFolderPath, ProjectionBuilder.ATLAS_SLIDE_CACHE_FOLDER, $"{uniqueSlideReelID}.png"); + var path = Path.Combine(mod.ModHelper.Manifest.ModFolderPath, ProjectionBuilder.AtlasSlideReelCacheFolder, $"{uniqueSlideReelID}.png"); NHLogger.LogVerbose($"Caching atlas image to {path}"); Directory.CreateDirectory(Path.GetDirectoryName(path)); File.WriteAllBytes(path, texture.EncodeToPNG()); diff --git a/NewHorizons/Utility/Files/SlideReelAsyncImageLoader.cs b/NewHorizons/Utility/Files/SlideReelAsyncImageLoader.cs index 7674ccdc..e81d8298 100644 --- a/NewHorizons/Utility/Files/SlideReelAsyncImageLoader.cs +++ b/NewHorizons/Utility/Files/SlideReelAsyncImageLoader.cs @@ -1,3 +1,4 @@ +using NewHorizons.Builder.Props; using NewHorizons.Utility.OWML; using System; using System.Collections; @@ -115,7 +116,7 @@ public class SlideReelAsyncImageLoader if (hasError) { NHLogger.LogError($"Failed to load {index}:{url} - {uwr.error}"); - if (url.Contains("SlideReelCache")) + if (url.Contains(ProjectionBuilder.CurrentSlideReelFolder)) { NHLogger.LogError("Missing image in SlideReelCache: If you are a dev, try deleting the folder so that New Horizons can regenerate the cache. If you are a player: do that and then complain to the mod dev."); } diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index c75a3c1f..b34aebb5 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -1,10 +1,10 @@ { "$schema": "https://raw.githubusercontent.com/amazingalek/owml/master/schemas/manifest_schema.json", "filename": "NewHorizons.dll", - "author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends", + "author": "xen, Bwc9876, JohnCorby, MegaPiggy, Trifid, and friends", "name": "New Horizons", "uniqueName": "xen.NewHorizons", - "version": "1.22.7", + "version": "1.22.8", "owmlVersion": "2.12.1", "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "PacificEngine.OW_CommonResources" ], diff --git a/SchemaExporter/SchemaExporter.cs b/SchemaExporter/SchemaExporter.cs index 3874aa87..9dd0b459 100644 --- a/SchemaExporter/SchemaExporter.cs +++ b/SchemaExporter/SchemaExporter.cs @@ -81,7 +81,6 @@ public static class SchemaExporter switch (_title) { case "Celestial Body Schema": - schema.Definitions["OrbitModule"].Properties["semiMajorAxis"].Default = 5000f; schema.Definitions["NomaiTextType"].Enumeration.Remove("cairn"); schema.Definitions["NomaiTextType"].EnumerationNames.Remove("Cairn"); schema.Definitions["NomaiTextType"].Enumeration.Remove("cairnVariant"); diff --git a/docs/package.json b/docs/package.json index 2d8ea72f..cd4b9ff8 100644 --- a/docs/package.json +++ b/docs/package.json @@ -12,18 +12,18 @@ "format": "prettier --write ." }, "dependencies": { - "@astrojs/starlight": "^0.19.1", - "astro": "4.4.1", + "@astrojs/starlight": "^0.24.2", + "astro": "4.10.2", "rehype-external-links": "^3.0.0", - "sharp": "^0.33.2" + "sharp": "^0.33.4" }, "devDependencies": { - "@apidevtools/json-schema-ref-parser": "^11.1.0", + "@apidevtools/json-schema-ref-parser": "^11.6.4", "eslint": "^8.56.0", "eslint-plugin-prettier": "^5.1.3", - "fast-xml-parser": "^4.3.4", - "prettier": "^3.2.5", - "prettier-plugin-astro": "^0.13.0", + "fast-xml-parser": "^4.4.0", + "prettier": "^3.3.2", + "prettier-plugin-astro": "^0.14.0", "xml-js": "^1.6.11" } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 75ffd0cc..adae6b5a 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -6,73 +6,63 @@ settings: dependencies: "@astrojs/starlight": - specifier: ^0.19.1 - version: 0.19.1(astro@4.4.1) + specifier: ^0.24.2 + version: 0.24.2(astro@4.10.2) astro: - specifier: 4.4.1 - version: 4.4.1 + specifier: 4.10.2 + version: 4.10.2 rehype-external-links: specifier: ^3.0.0 version: 3.0.0 sharp: - specifier: ^0.33.2 - version: 0.33.2 + specifier: ^0.33.4 + version: 0.33.4 devDependencies: "@apidevtools/json-schema-ref-parser": - specifier: ^11.1.0 - version: 11.1.0 + specifier: ^11.6.4 + version: 11.6.4 eslint: specifier: ^8.56.0 - version: 8.56.0 + version: 8.57.0 eslint-plugin-prettier: specifier: ^5.1.3 - version: 5.1.3(eslint@8.56.0)(prettier@3.2.5) + version: 5.1.3(eslint@8.57.0)(prettier@3.3.2) fast-xml-parser: - specifier: ^4.3.4 - version: 4.3.4 + specifier: ^4.4.0 + version: 4.4.0 prettier: - specifier: ^3.2.5 - version: 3.2.5 + specifier: ^3.3.2 + version: 3.3.2 prettier-plugin-astro: - specifier: ^0.13.0 - version: 0.13.0 + specifier: ^0.14.0 + version: 0.14.0 xml-js: specifier: ^1.6.11 version: 1.6.11 packages: - /@aashutoshrathi/word-wrap@1.2.6: + /@ampproject/remapping@2.3.0: resolution: { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - } - engines: { node: ">=0.10.0" } - dev: true - - /@ampproject/remapping@2.2.1: - resolution: - { - integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== } engines: { node: ">=6.0.0" } dependencies: - "@jridgewell/gen-mapping": 0.3.3 - "@jridgewell/trace-mapping": 0.3.22 + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 dev: false - /@apidevtools/json-schema-ref-parser@11.1.0: + /@apidevtools/json-schema-ref-parser@11.6.4: resolution: { - integrity: sha512-g/VW9ZQEFJAOwAyUb8JFf7MLiLy2uEB4rU270rGzDwICxnxMlPy0O11KVePSgS36K1NI29gSlK84n5INGhd4Ag== + integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w== } engines: { node: ">= 16" } dependencies: "@jsdevtools/ono": 7.1.3 "@types/json-schema": 7.0.15 - "@types/lodash.clonedeep": 4.5.9 js-yaml: 4.1.0 - lodash.clonedeep: 4.5.0 dev: true /@astrojs/compiler@1.8.2: @@ -82,29 +72,31 @@ packages: } dev: true - /@astrojs/compiler@2.5.3: + /@astrojs/compiler@2.8.0: resolution: { - integrity: sha512-jzj01BRv/fmo+9Mr2FhocywGzEYiyiP2GVHje1ziGNU6c97kwhYGsnvwMkHrncAy9T9Vi54cjaMK7UE4ClX4vA== + integrity: sha512-yrpD1WRGqsJwANaDIdtHo+YVjvIOFAjC83lu5qENIgrafwZcJgSXDuwVMXOgok4tFzpeKLsFQ6c3FoUdloLWBQ== } dev: false - /@astrojs/internal-helpers@0.2.1: + /@astrojs/internal-helpers@0.4.0: resolution: { - integrity: sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A== + integrity: sha512-6B13lz5n6BrbTqCTwhXjJXuR1sqiX/H6rTxzlXx+lN1NnV4jgnq/KJldCQaUWJzPL5SiWahQyinxAbxQtwgPHA== } dev: false - /@astrojs/markdown-remark@4.2.1: + /@astrojs/markdown-remark@5.1.0: resolution: { - integrity: sha512-2RQBIwrq+2qPYtp99bH+eL5hfbK0BoxXla85lHsRpIX/IsGqFrPX6pXI2cbWPihBwGbKCdxS6uZNX2QerZWwpQ== + integrity: sha512-S6Z3K2hOB7MfjeDoHsotnP/q2UsnEDB8NlNAaCjMDsGBZfTUbWxyLW3CaphEWw08f6KLZi2ibK9yC3BaMhh2NQ== } dependencies: - "@astrojs/prism": 3.0.0 + "@astrojs/prism": 3.1.0 github-slugger: 2.0.0 - import-meta-resolve: 4.0.0 + hast-util-from-html: 2.0.1 + hast-util-to-text: 4.0.2 + import-meta-resolve: 4.1.0 mdast-util-definitions: 6.0.0 rehype-raw: 7.0.0 rehype-stringify: 10.0.0 @@ -112,36 +104,38 @@ packages: remark-parse: 11.0.0 remark-rehype: 11.1.0 remark-smartypants: 2.1.0 - shikiji: 0.9.19 + shiki: 1.6.4 unified: 11.0.4 + unist-util-remove-position: 5.0.0 unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 vfile: 6.0.1 transitivePeerDependencies: - supports-color dev: false - /@astrojs/mdx@2.1.1(astro@4.4.1): + /@astrojs/mdx@3.1.0(astro@4.10.2): resolution: { - integrity: sha512-AgGFdE7HOGmoFooGvMSatkA9FiSKwyVW7ImHot/bXJ6uAbFfu6iG2ht18Cf1pT22Hda/6iSCGWusFvBv0/EnKQ== + integrity: sha512-yuGDaOcCAfYgLQvUAlJDezYGK4twHlzW1Kvpyg3inxtDJuAsHdyVyYLWl0Wo5nwkyrbZktdrjnoW5scqzoAqAg== } - engines: { node: ">=18.14.1" } + engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 } peerDependencies: - astro: ^4.0.0 + astro: ^4.8.0 dependencies: - "@astrojs/markdown-remark": 4.2.1 + "@astrojs/markdown-remark": 5.1.0 "@mdx-js/mdx": 3.0.1 acorn: 8.11.3 - astro: 4.4.1 - es-module-lexer: 1.4.1 + astro: 4.10.2 + es-module-lexer: 1.5.3 estree-util-visit: 2.0.0 github-slugger: 2.0.0 gray-matter: 4.0.3 - hast-util-to-html: 9.0.0 + hast-util-to-html: 9.0.1 kleur: 4.1.5 rehype-raw: 7.0.0 remark-gfm: 4.0.0 - remark-smartypants: 2.1.0 + remark-smartypants: 3.0.1 source-map: 0.7.4 unist-util-visit: 5.0.0 vfile: 6.0.1 @@ -149,66 +143,69 @@ packages: - supports-color dev: false - /@astrojs/prism@3.0.0: + /@astrojs/prism@3.1.0: resolution: { - integrity: sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ== + integrity: sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw== } - engines: { node: ">=18.14.1" } + engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 } dependencies: prismjs: 1.29.0 dev: false - /@astrojs/sitemap@3.1.0: + /@astrojs/sitemap@3.1.5: resolution: { - integrity: sha512-eAlD3ISaESByanYtr08yfwIYNZdLEvF8shSne5SaxSdrvtK7fS8UQTF0GpDFUpU/NOyqwB7YmndjlTplhYLP1A== + integrity: sha512-GLdzJ01387Uzb8RKYpsYLlg/GzoPnGbmDeQNkarSE11i2+l9Qp8Nj/WoTEy9nkTS25fxxy0kxDfJmreeVleCqg== } dependencies: - sitemap: 7.1.1 - zod: 3.22.4 + sitemap: 7.1.2 + stream-replace-string: 2.0.0 + zod: 3.23.8 dev: false - /@astrojs/starlight@0.19.1(astro@4.4.1): + /@astrojs/starlight@0.24.2(astro@4.10.2): resolution: { - integrity: sha512-HcrgWAdOJRVRhiOf4TySzpCek/6N56jq5Iz0ahDTE5Fv2tHHA2cLIRAOvVF+iPNVZa349hqv6QSCmzUHA2JK4Q== + integrity: sha512-hXFVBHcr2a4UwX5GDCNQEZsRXdgVlNzZ7txpI2jlMvtzbgfoLEGOHjaHpB5QTW/OCrRAMjcx9Zx0HxRliohaxQ== } peerDependencies: - astro: ^4.2.7 + astro: ^4.8.6 dependencies: - "@astrojs/mdx": 2.1.1(astro@4.4.1) - "@astrojs/sitemap": 3.1.0 - "@pagefind/default-ui": 1.0.4 + "@astrojs/mdx": 3.1.0(astro@4.10.2) + "@astrojs/sitemap": 3.1.5 + "@pagefind/default-ui": 1.1.0 "@types/hast": 3.0.4 - "@types/mdast": 4.0.3 - astro: 4.4.1 - astro-expressive-code: 0.32.4(astro@4.4.1) + "@types/mdast": 4.0.4 + astro: 4.10.2 + astro-expressive-code: 0.35.3(astro@4.10.2) bcp-47: 2.1.0 + hast-util-from-html: 2.0.1 hast-util-select: 6.0.2 - hastscript: 8.0.0 + hast-util-to-string: 3.0.0 + hastscript: 9.0.0 mdast-util-directive: 3.0.0 mdast-util-to-markdown: 2.1.0 - pagefind: 1.0.4 + pagefind: 1.1.0 rehype: 13.0.1 + rehype-format: 5.0.0 remark-directive: 3.0.0 unified: 11.0.4 - unist-util-remove: 4.0.0 unist-util-visit: 5.0.0 vfile: 6.0.1 transitivePeerDependencies: - supports-color dev: false - /@astrojs/telemetry@3.0.4: + /@astrojs/telemetry@3.1.0: resolution: { - integrity: sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ== + integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA== } - engines: { node: ">=18.14.1" } + engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 } dependencies: - ci-info: 3.9.0 - debug: 4.3.4 + ci-info: 4.0.0 + debug: 4.3.5 dlv: 1.1.3 dset: 3.1.3 is-docker: 3.0.0 @@ -218,44 +215,44 @@ packages: - supports-color dev: false - /@babel/code-frame@7.23.5: + /@babel/code-frame@7.24.7: resolution: { - integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== } engines: { node: ">=6.9.0" } dependencies: - "@babel/highlight": 7.23.4 - chalk: 2.4.2 + "@babel/highlight": 7.24.7 + picocolors: 1.0.1 dev: false - /@babel/compat-data@7.23.5: + /@babel/compat-data@7.24.7: resolution: { - integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== } engines: { node: ">=6.9.0" } dev: false - /@babel/core@7.23.9: + /@babel/core@7.24.7: resolution: { - integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== + integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== } engines: { node: ">=6.9.0" } dependencies: - "@ampproject/remapping": 2.2.1 - "@babel/code-frame": 7.23.5 - "@babel/generator": 7.23.6 - "@babel/helper-compilation-targets": 7.23.6 - "@babel/helper-module-transforms": 7.23.3(@babel/core@7.23.9) - "@babel/helpers": 7.23.9 - "@babel/parser": 7.23.9 - "@babel/template": 7.23.9 - "@babel/traverse": 7.23.9 - "@babel/types": 7.23.9 + "@ampproject/remapping": 2.3.0 + "@babel/code-frame": 7.24.7 + "@babel/generator": 7.24.7 + "@babel/helper-compilation-targets": 7.24.7 + "@babel/helper-module-transforms": 7.24.7(@babel/core@7.24.7) + "@babel/helpers": 7.24.7 + "@babel/parser": 7.24.7 + "@babel/template": 7.24.7 + "@babel/traverse": 7.24.7 + "@babel/types": 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.5 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -263,286 +260,296 @@ packages: - supports-color dev: false - /@babel/generator@7.23.6: + /@babel/generator@7.24.7: resolution: { - integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== } engines: { node: ">=6.9.0" } dependencies: - "@babel/types": 7.23.9 - "@jridgewell/gen-mapping": 0.3.3 - "@jridgewell/trace-mapping": 0.3.22 + "@babel/types": 7.24.7 + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 jsesc: 2.5.2 dev: false - /@babel/helper-annotate-as-pure@7.22.5: + /@babel/helper-annotate-as-pure@7.24.7: resolution: { - integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== } engines: { node: ">=6.9.0" } dependencies: - "@babel/types": 7.23.9 + "@babel/types": 7.24.7 dev: false - /@babel/helper-compilation-targets@7.23.6: + /@babel/helper-compilation-targets@7.24.7: resolution: { - integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== } engines: { node: ">=6.9.0" } dependencies: - "@babel/compat-data": 7.23.5 - "@babel/helper-validator-option": 7.23.5 - browserslist: 4.23.0 + "@babel/compat-data": 7.24.7 + "@babel/helper-validator-option": 7.24.7 + browserslist: 4.23.1 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-environment-visitor@7.22.20: + /@babel/helper-environment-visitor@7.24.7: resolution: { - integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helper-function-name@7.23.0: - resolution: - { - integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== } engines: { node: ">=6.9.0" } dependencies: - "@babel/template": 7.23.9 - "@babel/types": 7.23.9 + "@babel/types": 7.24.7 dev: false - /@babel/helper-hoist-variables@7.22.5: + /@babel/helper-function-name@7.24.7: resolution: { - integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== } engines: { node: ">=6.9.0" } dependencies: - "@babel/types": 7.23.9 + "@babel/template": 7.24.7 + "@babel/types": 7.24.7 dev: false - /@babel/helper-module-imports@7.22.15: + /@babel/helper-hoist-variables@7.24.7: resolution: { - integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== } engines: { node: ">=6.9.0" } dependencies: - "@babel/types": 7.23.9 + "@babel/types": 7.24.7 dev: false - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): + /@babel/helper-module-imports@7.24.7: resolution: { - integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/traverse": 7.24.7 + "@babel/types": 7.24.7 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): + resolution: + { + integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== } engines: { node: ">=6.9.0" } peerDependencies: "@babel/core": ^7.0.0 dependencies: - "@babel/core": 7.23.9 - "@babel/helper-environment-visitor": 7.22.20 - "@babel/helper-module-imports": 7.22.15 - "@babel/helper-simple-access": 7.22.5 - "@babel/helper-split-export-declaration": 7.22.6 - "@babel/helper-validator-identifier": 7.22.20 - dev: false - - /@babel/helper-plugin-utils@7.22.5: - resolution: - { - integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helper-simple-access@7.22.5: - resolution: - { - integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.23.9 - dev: false - - /@babel/helper-split-export-declaration@7.22.6: - resolution: - { - integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.23.9 - dev: false - - /@babel/helper-string-parser@7.23.4: - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helper-validator-option@7.23.5: - resolution: - { - integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helpers@7.23.9: - resolution: - { - integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/template": 7.23.9 - "@babel/traverse": 7.23.9 - "@babel/types": 7.23.9 + "@babel/core": 7.24.7 + "@babel/helper-environment-visitor": 7.24.7 + "@babel/helper-module-imports": 7.24.7 + "@babel/helper-simple-access": 7.24.7 + "@babel/helper-split-export-declaration": 7.24.7 + "@babel/helper-validator-identifier": 7.24.7 transitivePeerDependencies: - supports-color dev: false - /@babel/highlight@7.23.4: + /@babel/helper-plugin-utils@7.24.7: resolution: { - integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/helper-simple-access@7.24.7: + resolution: + { + integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== } engines: { node: ">=6.9.0" } dependencies: - "@babel/helper-validator-identifier": 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 + "@babel/traverse": 7.24.7 + "@babel/types": 7.24.7 + transitivePeerDependencies: + - supports-color dev: false - /@babel/parser@7.23.9: + /@babel/helper-split-export-declaration@7.24.7: resolution: { - integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.7 + dev: false + + /@babel/helper-string-parser@7.24.7: + resolution: + { + integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/helper-validator-identifier@7.24.7: + resolution: + { + integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/helper-validator-option@7.24.7: + resolution: + { + integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/helpers@7.24.7: + resolution: + { + integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/template": 7.24.7 + "@babel/types": 7.24.7 + dev: false + + /@babel/highlight@7.24.7: + resolution: + { + integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-validator-identifier": 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + dev: false + + /@babel/parser@7.24.7: + resolution: + { + integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== } engines: { node: ">=6.0.0" } hasBin: true dependencies: - "@babel/types": 7.23.9 + "@babel/types": 7.24.7 dev: false - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7): resolution: { - integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== } engines: { node: ">=6.9.0" } peerDependencies: "@babel/core": ^7.0.0-0 dependencies: - "@babel/core": 7.23.9 - "@babel/helper-plugin-utils": 7.22.5 + "@babel/core": 7.24.7 + "@babel/helper-plugin-utils": 7.24.7 dev: false - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): + /@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7): resolution: { - integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA== } engines: { node: ">=6.9.0" } peerDependencies: "@babel/core": ^7.0.0-0 dependencies: - "@babel/core": 7.23.9 - "@babel/helper-annotate-as-pure": 7.22.5 - "@babel/helper-module-imports": 7.22.15 - "@babel/helper-plugin-utils": 7.22.5 - "@babel/plugin-syntax-jsx": 7.23.3(@babel/core@7.23.9) - "@babel/types": 7.23.9 + "@babel/core": 7.24.7 + "@babel/helper-annotate-as-pure": 7.24.7 + "@babel/helper-module-imports": 7.24.7 + "@babel/helper-plugin-utils": 7.24.7 + "@babel/plugin-syntax-jsx": 7.24.7(@babel/core@7.24.7) + "@babel/types": 7.24.7 + transitivePeerDependencies: + - supports-color dev: false - /@babel/template@7.23.9: + /@babel/template@7.24.7: resolution: { - integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== + integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== } engines: { node: ">=6.9.0" } dependencies: - "@babel/code-frame": 7.23.5 - "@babel/parser": 7.23.9 - "@babel/types": 7.23.9 + "@babel/code-frame": 7.24.7 + "@babel/parser": 7.24.7 + "@babel/types": 7.24.7 dev: false - /@babel/traverse@7.23.9: + /@babel/traverse@7.24.7: resolution: { - integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== + integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== } engines: { node: ">=6.9.0" } dependencies: - "@babel/code-frame": 7.23.5 - "@babel/generator": 7.23.6 - "@babel/helper-environment-visitor": 7.22.20 - "@babel/helper-function-name": 7.23.0 - "@babel/helper-hoist-variables": 7.22.5 - "@babel/helper-split-export-declaration": 7.22.6 - "@babel/parser": 7.23.9 - "@babel/types": 7.23.9 - debug: 4.3.4 + "@babel/code-frame": 7.24.7 + "@babel/generator": 7.24.7 + "@babel/helper-environment-visitor": 7.24.7 + "@babel/helper-function-name": 7.24.7 + "@babel/helper-hoist-variables": 7.24.7 + "@babel/helper-split-export-declaration": 7.24.7 + "@babel/parser": 7.24.7 + "@babel/types": 7.24.7 + debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.23.9: + /@babel/types@7.24.7: resolution: { - integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== } engines: { node: ">=6.9.0" } dependencies: - "@babel/helper-string-parser": 7.23.4 - "@babel/helper-validator-identifier": 7.22.20 + "@babel/helper-string-parser": 7.24.7 + "@babel/helper-validator-identifier": 7.24.7 to-fast-properties: 2.0.0 dev: false - /@ctrl/tinycolor@3.6.1: + /@ctrl/tinycolor@4.1.0: resolution: { - integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== + integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ== } - engines: { node: ">=10" } + engines: { node: ">=14" } dev: false - /@emnapi/runtime@0.45.0: + /@emnapi/runtime@1.2.0: resolution: { - integrity: sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w== + integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ== } requiresBuild: true dependencies: - tslib: 2.6.2 + tslib: 2.6.3 dev: false optional: true - /@esbuild/aix-ppc64@0.19.12: + /@esbuild/aix-ppc64@0.21.5: resolution: { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== + integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== } engines: { node: ">=12" } cpu: [ppc64] @@ -551,10 +558,10 @@ packages: dev: false optional: true - /@esbuild/android-arm64@0.19.12: + /@esbuild/android-arm64@0.21.5: resolution: { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== + integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== } engines: { node: ">=12" } cpu: [arm64] @@ -563,10 +570,10 @@ packages: dev: false optional: true - /@esbuild/android-arm@0.19.12: + /@esbuild/android-arm@0.21.5: resolution: { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== + integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== } engines: { node: ">=12" } cpu: [arm] @@ -575,10 +582,10 @@ packages: dev: false optional: true - /@esbuild/android-x64@0.19.12: + /@esbuild/android-x64@0.21.5: resolution: { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== + integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== } engines: { node: ">=12" } cpu: [x64] @@ -587,10 +594,10 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64@0.19.12: + /@esbuild/darwin-arm64@0.21.5: resolution: { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== + integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== } engines: { node: ">=12" } cpu: [arm64] @@ -599,10 +606,10 @@ packages: dev: false optional: true - /@esbuild/darwin-x64@0.19.12: + /@esbuild/darwin-x64@0.21.5: resolution: { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== + integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== } engines: { node: ">=12" } cpu: [x64] @@ -611,10 +618,10 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64@0.19.12: + /@esbuild/freebsd-arm64@0.21.5: resolution: { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== + integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== } engines: { node: ">=12" } cpu: [arm64] @@ -623,10 +630,10 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64@0.19.12: + /@esbuild/freebsd-x64@0.21.5: resolution: { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== + integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== } engines: { node: ">=12" } cpu: [x64] @@ -635,10 +642,10 @@ packages: dev: false optional: true - /@esbuild/linux-arm64@0.19.12: + /@esbuild/linux-arm64@0.21.5: resolution: { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== + integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== } engines: { node: ">=12" } cpu: [arm64] @@ -647,10 +654,10 @@ packages: dev: false optional: true - /@esbuild/linux-arm@0.19.12: + /@esbuild/linux-arm@0.21.5: resolution: { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== + integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== } engines: { node: ">=12" } cpu: [arm] @@ -659,10 +666,10 @@ packages: dev: false optional: true - /@esbuild/linux-ia32@0.19.12: + /@esbuild/linux-ia32@0.21.5: resolution: { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== + integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== } engines: { node: ">=12" } cpu: [ia32] @@ -671,10 +678,10 @@ packages: dev: false optional: true - /@esbuild/linux-loong64@0.19.12: + /@esbuild/linux-loong64@0.21.5: resolution: { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== + integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== } engines: { node: ">=12" } cpu: [loong64] @@ -683,10 +690,10 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el@0.19.12: + /@esbuild/linux-mips64el@0.21.5: resolution: { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== + integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== } engines: { node: ">=12" } cpu: [mips64el] @@ -695,10 +702,10 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64@0.19.12: + /@esbuild/linux-ppc64@0.21.5: resolution: { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== + integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== } engines: { node: ">=12" } cpu: [ppc64] @@ -707,10 +714,10 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64@0.19.12: + /@esbuild/linux-riscv64@0.21.5: resolution: { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== + integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== } engines: { node: ">=12" } cpu: [riscv64] @@ -719,10 +726,10 @@ packages: dev: false optional: true - /@esbuild/linux-s390x@0.19.12: + /@esbuild/linux-s390x@0.21.5: resolution: { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== + integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== } engines: { node: ">=12" } cpu: [s390x] @@ -731,10 +738,10 @@ packages: dev: false optional: true - /@esbuild/linux-x64@0.19.12: + /@esbuild/linux-x64@0.21.5: resolution: { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== + integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== } engines: { node: ">=12" } cpu: [x64] @@ -743,10 +750,10 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64@0.19.12: + /@esbuild/netbsd-x64@0.21.5: resolution: { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== + integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== } engines: { node: ">=12" } cpu: [x64] @@ -755,10 +762,10 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64@0.19.12: + /@esbuild/openbsd-x64@0.21.5: resolution: { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== + integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== } engines: { node: ">=12" } cpu: [x64] @@ -767,10 +774,10 @@ packages: dev: false optional: true - /@esbuild/sunos-x64@0.19.12: + /@esbuild/sunos-x64@0.21.5: resolution: { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== + integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== } engines: { node: ">=12" } cpu: [x64] @@ -779,10 +786,10 @@ packages: dev: false optional: true - /@esbuild/win32-arm64@0.19.12: + /@esbuild/win32-arm64@0.21.5: resolution: { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== + integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== } engines: { node: ">=12" } cpu: [arm64] @@ -791,10 +798,10 @@ packages: dev: false optional: true - /@esbuild/win32-ia32@0.19.12: + /@esbuild/win32-ia32@0.21.5: resolution: { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== + integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== } engines: { node: ">=12" } cpu: [ia32] @@ -803,10 +810,10 @@ packages: dev: false optional: true - /@esbuild/win32-x64@0.19.12: + /@esbuild/win32-x64@0.21.5: resolution: { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== + integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== } engines: { node: ">=12" } cpu: [x64] @@ -815,7 +822,7 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== @@ -824,14 +831,14 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.10.0: + /@eslint-community/regexpp@4.10.1: resolution: { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA== } engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dev: true @@ -844,7 +851,7 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.5 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -856,56 +863,57 @@ packages: - supports-color dev: true - /@eslint/js@8.56.0: + /@eslint/js@8.57.0: resolution: { - integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /@expressive-code/core@0.32.4: + /@expressive-code/core@0.35.3: resolution: { - integrity: sha512-S0OwgZCy29OCcwFUBTLDrShUovIUWZcQn3EvSoKsGfzf/wTisK7XqZ1uH0Y7Mlof3Hf9uJMjOhJZvxTLtQUdSQ== + integrity: sha512-SYamcarAjufYhbuK/kfvJSvAXLsfnM7DKc78R7Dq4B73R5bKQK2m5zR0l57tXr4yp2C5Z8lu5xZncdwWxcmPdg== } dependencies: - "@ctrl/tinycolor": 3.6.1 - hast-util-to-html: 8.0.4 - hastscript: 7.2.0 - postcss: 8.4.35 - postcss-nested: 6.0.1(postcss@8.4.35) + "@ctrl/tinycolor": 4.1.0 + hast-util-select: 6.0.2 + hast-util-to-html: 9.0.1 + hast-util-to-text: 4.0.2 + hastscript: 9.0.0 + postcss: 8.4.38 + postcss-nested: 6.0.1(postcss@8.4.38) + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 dev: false - /@expressive-code/plugin-frames@0.32.4: + /@expressive-code/plugin-frames@0.35.3: resolution: { - integrity: sha512-XOQrLqlVEy5JbqsBhDcSJQinceQ5j/Z8cE0/27Lnlcj4oXRdiQNjMVtstC/xZUeWEbm+FI9ZZP4Z9yihol61Aw== + integrity: sha512-QYytMq6IsaHgTofQ5b6d+CnbxkqLdikSF2hC+IL/ZZwPYHYZoUlmjIwmJZhY4/hHqJGELrtZsyVdlt06RntgmA== } dependencies: - "@expressive-code/core": 0.32.4 - hastscript: 7.2.0 + "@expressive-code/core": 0.35.3 dev: false - /@expressive-code/plugin-shiki@0.32.4: + /@expressive-code/plugin-shiki@0.35.3: resolution: { - integrity: sha512-zZzTXFFTpG+fmBG6C+4KzIyh1nFPdn4gLJ8E9LhBVufmRkn3gZplkE99lulfillsKyUZTRw3+dC3xYZWEZKzPw== + integrity: sha512-aFQBPepv0zhVXqJFAvfQ4vXYv/meJKiqmEEKSxdjAfwXllIV49PDlnGEXmbGYjR4hUQQjbfDgzAbrbfePc3YVQ== } dependencies: - "@expressive-code/core": 0.32.4 - shikiji: 0.8.7 + "@expressive-code/core": 0.35.3 + shiki: 1.6.4 dev: false - /@expressive-code/plugin-text-markers@0.32.4: + /@expressive-code/plugin-text-markers@0.35.3: resolution: { - integrity: sha512-lFlo3uwTp7vUmfXtLPn2aXs0CPFqdFvKiR3y8gtNzmBeYWPqVahF4RFUCN9ZpztCmXp5V8p2ADvNHzoNwCBwzA== + integrity: sha512-gDdnQrfDRXw5Y+PKHJDkpAUdf2pthYOthGcgy3JB8GOTQ3EL1h+755Ct/bGc4MR6jn+dgnQP47uHMWQaccvN6Q== } dependencies: - "@expressive-code/core": 0.32.4 - hastscript: 7.2.0 - unist-util-visit-parents: 5.1.3 + "@expressive-code/core": 0.35.3 dev: false /@humanwhocodes/config-array@0.11.14: @@ -914,9 +922,10 @@ packages: integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== } engines: { node: ">=10.10.0" } + deprecated: Use @eslint/config-array instead dependencies: - "@humanwhocodes/object-schema": 2.0.2 - debug: 4.3.4 + "@humanwhocodes/object-schema": 2.0.3 + debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -930,17 +939,18 @@ packages: engines: { node: ">=12.22" } dev: true - /@humanwhocodes/object-schema@2.0.2: + /@humanwhocodes/object-schema@2.0.3: resolution: { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== } + deprecated: Use @eslint/object-schema instead dev: true - /@img/sharp-darwin-arm64@0.33.2: + /@img/sharp-darwin-arm64@0.33.4: resolution: { - integrity: sha512-itHBs1rPmsmGF9p4qRe++CzCgd+kFYktnsoR1sbIAfsRMrJZau0Tt1AH9KVnufc2/tU02Gf6Ibujx+15qRE03w== + integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA== } engines: { @@ -954,14 +964,14 @@ packages: os: [darwin] requiresBuild: true optionalDependencies: - "@img/sharp-libvips-darwin-arm64": 1.0.1 + "@img/sharp-libvips-darwin-arm64": 1.0.2 dev: false optional: true - /@img/sharp-darwin-x64@0.33.2: + /@img/sharp-darwin-x64@0.33.4: resolution: { - integrity: sha512-/rK/69Rrp9x5kaWBjVN07KixZanRr+W1OiyKdXcbjQD6KbW+obaTeBBtLUAtbBsnlTTmWthw99xqoOS7SsySDg== + integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw== } engines: { @@ -975,14 +985,14 @@ packages: os: [darwin] requiresBuild: true optionalDependencies: - "@img/sharp-libvips-darwin-x64": 1.0.1 + "@img/sharp-libvips-darwin-x64": 1.0.2 dev: false optional: true - /@img/sharp-libvips-darwin-arm64@1.0.1: + /@img/sharp-libvips-darwin-arm64@1.0.2: resolution: { - integrity: sha512-kQyrSNd6lmBV7O0BUiyu/OEw9yeNGFbQhbxswS1i6rMDwBBSX+e+rPzu3S+MwAiGU3HdLze3PanQ4Xkfemgzcw== + integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA== } engines: { macos: ">=11", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" } cpu: [arm64] @@ -991,10 +1001,10 @@ packages: dev: false optional: true - /@img/sharp-libvips-darwin-x64@1.0.1: + /@img/sharp-libvips-darwin-x64@1.0.2: resolution: { - integrity: sha512-eVU/JYLPVjhhrd8Tk6gosl5pVlvsqiFlt50wotCvdkFGf+mDNBJxMh+bvav+Wt3EBnNZWq8Sp2I7XfSjm8siog== + integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw== } engines: { macos: ">=10.13", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" } cpu: [x64] @@ -1003,10 +1013,10 @@ packages: dev: false optional: true - /@img/sharp-libvips-linux-arm64@1.0.1: + /@img/sharp-libvips-linux-arm64@1.0.2: resolution: { - integrity: sha512-bnGG+MJjdX70mAQcSLxgeJco11G+MxTz+ebxlz8Y3dxyeb3Nkl7LgLI0mXupoO+u1wRNx/iRj5yHtzA4sde1yA== + integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw== } engines: { glibc: ">=2.26", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" } cpu: [arm64] @@ -1015,10 +1025,10 @@ packages: dev: false optional: true - /@img/sharp-libvips-linux-arm@1.0.1: + /@img/sharp-libvips-linux-arm@1.0.2: resolution: { - integrity: sha512-FtdMvR4R99FTsD53IA3LxYGghQ82t3yt0ZQ93WMZ2xV3dqrb0E8zq4VHaTOuLEAuA83oDawHV3fd+BsAPadHIQ== + integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw== } engines: { glibc: ">=2.28", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" } cpu: [arm] @@ -1027,10 +1037,10 @@ packages: dev: false optional: true - /@img/sharp-libvips-linux-s390x@1.0.1: + /@img/sharp-libvips-linux-s390x@1.0.2: resolution: { - integrity: sha512-3+rzfAR1YpMOeA2zZNp+aYEzGNWK4zF3+sdMxuCS3ey9HhDbJ66w6hDSHDMoap32DueFwhhs3vwooAB2MaK4XQ== + integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog== } engines: { glibc: ">=2.28", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" } cpu: [s390x] @@ -1039,10 +1049,10 @@ packages: dev: false optional: true - /@img/sharp-libvips-linux-x64@1.0.1: + /@img/sharp-libvips-linux-x64@1.0.2: resolution: { - integrity: sha512-3NR1mxFsaSgMMzz1bAnnKbSAI+lHXVTqAHgc1bgzjHuXjo4hlscpUxc0vFSAPKI3yuzdzcZOkq7nDPrP2F8Jgw== + integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ== } engines: { glibc: ">=2.26", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" } cpu: [x64] @@ -1051,10 +1061,10 @@ packages: dev: false optional: true - /@img/sharp-libvips-linuxmusl-arm64@1.0.1: + /@img/sharp-libvips-linuxmusl-arm64@1.0.2: resolution: { - integrity: sha512-5aBRcjHDG/T6jwC3Edl3lP8nl9U2Yo8+oTl5drd1dh9Z1EBfzUKAJFUDTDisDjUwc7N4AjnPGfCA3jl3hY8uDg== + integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ== } engines: { musl: ">=1.2.2", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" } cpu: [arm64] @@ -1063,10 +1073,10 @@ packages: dev: false optional: true - /@img/sharp-libvips-linuxmusl-x64@1.0.1: + /@img/sharp-libvips-linuxmusl-x64@1.0.2: resolution: { - integrity: sha512-dcT7inI9DBFK6ovfeWRe3hG30h51cBAP5JXlZfx6pzc/Mnf9HFCQDLtYf4MCBjxaaTfjCCjkBxcy3XzOAo5txw== + integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw== } engines: { musl: ">=1.2.2", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" } cpu: [x64] @@ -1075,10 +1085,10 @@ packages: dev: false optional: true - /@img/sharp-linux-arm64@0.33.2: + /@img/sharp-linux-arm64@0.33.4: resolution: { - integrity: sha512-pz0NNo882vVfqJ0yNInuG9YH71smP4gRSdeL09ukC2YLE6ZyZePAlWKEHgAzJGTiOh8Qkaov6mMIMlEhmLdKew== + integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q== } engines: { @@ -1092,14 +1102,14 @@ packages: os: [linux] requiresBuild: true optionalDependencies: - "@img/sharp-libvips-linux-arm64": 1.0.1 + "@img/sharp-libvips-linux-arm64": 1.0.2 dev: false optional: true - /@img/sharp-linux-arm@0.33.2: + /@img/sharp-linux-arm@0.33.4: resolution: { - integrity: sha512-Fndk/4Zq3vAc4G/qyfXASbS3HBZbKrlnKZLEJzPLrXoJuipFNNwTes71+Ki1hwYW5lch26niRYoZFAtZVf3EGA== + integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ== } engines: { @@ -1113,18 +1123,18 @@ packages: os: [linux] requiresBuild: true optionalDependencies: - "@img/sharp-libvips-linux-arm": 1.0.1 + "@img/sharp-libvips-linux-arm": 1.0.2 dev: false optional: true - /@img/sharp-linux-s390x@0.33.2: + /@img/sharp-linux-s390x@0.33.4: resolution: { - integrity: sha512-MBoInDXDppMfhSzbMmOQtGfloVAflS2rP1qPcUIiITMi36Mm5YR7r0ASND99razjQUpHTzjrU1flO76hKvP5RA== + integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ== } engines: { - glibc: ">=2.28", + glibc: ">=2.31", node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: ">=9.6.5", pnpm: ">=7.1.0", @@ -1134,14 +1144,14 @@ packages: os: [linux] requiresBuild: true optionalDependencies: - "@img/sharp-libvips-linux-s390x": 1.0.1 + "@img/sharp-libvips-linux-s390x": 1.0.2 dev: false optional: true - /@img/sharp-linux-x64@0.33.2: + /@img/sharp-linux-x64@0.33.4: resolution: { - integrity: sha512-xUT82H5IbXewKkeF5aiooajoO1tQV4PnKfS/OZtb5DDdxS/FCI/uXTVZ35GQ97RZXsycojz/AJ0asoz6p2/H/A== + integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw== } engines: { @@ -1155,14 +1165,14 @@ packages: os: [linux] requiresBuild: true optionalDependencies: - "@img/sharp-libvips-linux-x64": 1.0.1 + "@img/sharp-libvips-linux-x64": 1.0.2 dev: false optional: true - /@img/sharp-linuxmusl-arm64@0.33.2: + /@img/sharp-linuxmusl-arm64@0.33.4: resolution: { - integrity: sha512-F+0z8JCu/UnMzg8IYW1TMeiViIWBVg7IWP6nE0p5S5EPQxlLd76c8jYemG21X99UzFwgkRo5yz2DS+zbrnxZeA== + integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ== } engines: { @@ -1176,14 +1186,14 @@ packages: os: [linux] requiresBuild: true optionalDependencies: - "@img/sharp-libvips-linuxmusl-arm64": 1.0.1 + "@img/sharp-libvips-linuxmusl-arm64": 1.0.2 dev: false optional: true - /@img/sharp-linuxmusl-x64@0.33.2: + /@img/sharp-linuxmusl-x64@0.33.4: resolution: { - integrity: sha512-+ZLE3SQmSL+Fn1gmSaM8uFusW5Y3J9VOf+wMGNnTtJUMUxFhv+P4UPaYEYT8tqnyYVaOVGgMN/zsOxn9pSsO2A== + integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw== } engines: { @@ -1197,14 +1207,14 @@ packages: os: [linux] requiresBuild: true optionalDependencies: - "@img/sharp-libvips-linuxmusl-x64": 1.0.1 + "@img/sharp-libvips-linuxmusl-x64": 1.0.2 dev: false optional: true - /@img/sharp-wasm32@0.33.2: + /@img/sharp-wasm32@0.33.4: resolution: { - integrity: sha512-fLbTaESVKuQcpm8ffgBD7jLb/CQLcATju/jxtTXR1XCLwbOQt+OL5zPHSDMmp2JZIeq82e18yE0Vv7zh6+6BfQ== + integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ== } engines: { @@ -1216,14 +1226,14 @@ packages: cpu: [wasm32] requiresBuild: true dependencies: - "@emnapi/runtime": 0.45.0 + "@emnapi/runtime": 1.2.0 dev: false optional: true - /@img/sharp-win32-ia32@0.33.2: + /@img/sharp-win32-ia32@0.33.4: resolution: { - integrity: sha512-okBpql96hIGuZ4lN3+nsAjGeggxKm7hIRu9zyec0lnfB8E7Z6p95BuRZzDDXZOl2e8UmR4RhYt631i7mfmKU8g== + integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw== } engines: { @@ -1238,10 +1248,10 @@ packages: dev: false optional: true - /@img/sharp-win32-x64@0.33.2: + /@img/sharp-win32-x64@0.33.4: resolution: { - integrity: sha512-E4magOks77DK47FwHUIGH0RYWSgRBfGdK56kIHSVeB9uIS4pPFr4N2kIVsXdQQo4LzOsENKV5KAhRlRL7eMAdg== + integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw== } engines: { @@ -1256,16 +1266,16 @@ packages: dev: false optional: true - /@jridgewell/gen-mapping@0.3.3: + /@jridgewell/gen-mapping@0.3.5: resolution: { - integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } engines: { node: ">=6.0.0" } dependencies: - "@jridgewell/set-array": 1.1.2 + "@jridgewell/set-array": 1.2.1 "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.22 + "@jridgewell/trace-mapping": 0.3.25 dev: false /@jridgewell/resolve-uri@3.1.2: @@ -1276,10 +1286,10 @@ packages: engines: { node: ">=6.0.0" } dev: false - /@jridgewell/set-array@1.1.2: + /@jridgewell/set-array@1.2.1: resolution: { - integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } engines: { node: ">=6.0.0" } dev: false @@ -1291,10 +1301,10 @@ packages: } dev: false - /@jridgewell/trace-mapping@0.3.22: + /@jridgewell/trace-mapping@0.3.25: resolution: { - integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== + integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } dependencies: "@jridgewell/resolve-uri": 3.1.2 @@ -1315,9 +1325,9 @@ packages: } dependencies: "@types/estree": 1.0.5 - "@types/estree-jsx": 1.0.4 + "@types/estree-jsx": 1.0.5 "@types/hast": 3.0.4 - "@types/mdx": 2.0.11 + "@types/mdx": 2.0.13 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-build-jsx: 3.0.1 @@ -1341,13 +1351,6 @@ packages: - supports-color dev: false - /@medv/finder@3.1.0: - resolution: - { - integrity: sha512-ojkXjR3K0Zz3jnCR80tqPL+0yvbZk/lEodb6RIVjLz7W8RVA2wrw8ym/CzCpXO9SYVUIKHFUpc7jvf8UKfIM3w== - } - dev: false - /@nodelib/fs.scandir@2.1.5: resolution: { @@ -1375,10 +1378,10 @@ packages: "@nodelib/fs.scandir": 2.1.5 fastq: 1.17.1 - /@pagefind/darwin-arm64@1.0.4: + /@pagefind/darwin-arm64@1.1.0: resolution: { - integrity: sha512-2OcthvceX2xhm5XbgOmW+lT45oLuHqCmvFeFtxh1gsuP5cO8vcD8ZH8Laj4pXQFCcK6eAdSShx+Ztx/LsQWZFQ== + integrity: sha512-SLsXNLtSilGZjvqis8sX42fBWsWAVkcDh1oerxwqbac84HbiwxpxOC2jm8hRwcR0Z55HPZPWO77XeRix/8GwTg== } cpu: [arm64] os: [darwin] @@ -1386,10 +1389,10 @@ packages: dev: false optional: true - /@pagefind/darwin-x64@1.0.4: + /@pagefind/darwin-x64@1.1.0: resolution: { - integrity: sha512-xkdvp0D9Ld/ZKsjo/y1bgfhTEU72ITimd2PMMQtts7jf6JPIOJbsiErCvm37m/qMFuPGEq/8d+fZ4pydOj08HQ== + integrity: sha512-QjQSE/L5oS1C8N8GdljGaWtjCBMgMtfrPAoiCmINTu9Y9dp0ggAyXvF8K7Qg3VyIMYJ6v8vg2PN7Z3b+AaAqUA== } cpu: [x64] os: [darwin] @@ -1397,17 +1400,17 @@ packages: dev: false optional: true - /@pagefind/default-ui@1.0.4: + /@pagefind/default-ui@1.1.0: resolution: { - integrity: sha512-edkcaPSKq67C49Vehjo+LQCpT615v4d7JRhfGzFPccePvdklaL+VXrfghN/uIfsdoG+HoLI1PcYy2iFcB9CTkw== + integrity: sha512-+XiAJAK++C64nQcD7s3Prdmd5S92lT05fwjOxm0L1jj80jbL+tmvcqkkFnPpoqhnicIPgcAX/Y5W0HRZnBt35w== } dev: false - /@pagefind/linux-arm64@1.0.4: + /@pagefind/linux-arm64@1.1.0: resolution: { - integrity: sha512-jGBrcCzIrMnNxLKVtogaQyajVfTAXM59KlBEwg6vTn8NW4fQ6nuFbbhlG4dTIsaamjEM5e8ZBEAKZfTB/qd9xw== + integrity: sha512-8zjYCa2BtNEL7KnXtysPtBELCyv5DSQ4yHeK/nsEq6w4ToAMTBl0K06khqxdSGgjMSwwrxvLzq3so0LC5Q14dA== } cpu: [arm64] os: [linux] @@ -1415,10 +1418,10 @@ packages: dev: false optional: true - /@pagefind/linux-x64@1.0.4: + /@pagefind/linux-x64@1.1.0: resolution: { - integrity: sha512-LIn/QcvcEtLEBqKe5vpSbSC2O3fvqbRCWOTIklslqSORisCsvzsWbP6j+LYxE9q0oWIfkdMoWV1vrE/oCKRxHg== + integrity: sha512-4lsg6VB7A6PWTwaP8oSmXV4O9H0IHX7AlwTDcfyT+YJo/sPXOVjqycD5cdBgqNLfUk8B9bkWcTDCRmJbHrKeCw== } cpu: [x64] os: [linux] @@ -1426,10 +1429,10 @@ packages: dev: false optional: true - /@pagefind/windows-x64@1.0.4: + /@pagefind/windows-x64@1.1.0: resolution: { - integrity: sha512-QlBCVeZfj9fc9sbUgdOz76ZDbeK4xZihOBAFqGuRJeChfM8pnVeH9iqSnXgO3+m9oITugTf7PicyRUFAG76xeQ== + integrity: sha512-OboCM76BcMKT9IoSfZuFhiqMRgTde8x4qDDvKulFmycgiJrlL5WnIqBHJLQxZq+o2KyZpoHF97iwsGAm8c32sQ== } cpu: [x64] os: [win32] @@ -1445,10 +1448,10 @@ packages: engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } dev: true - /@rollup/rollup-android-arm-eabi@4.12.0: + /@rollup/rollup-android-arm-eabi@4.18.0: resolution: { - integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w== + integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ== } cpu: [arm] os: [android] @@ -1456,10 +1459,10 @@ packages: dev: false optional: true - /@rollup/rollup-android-arm64@4.12.0: + /@rollup/rollup-android-arm64@4.18.0: resolution: { - integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ== + integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA== } cpu: [arm64] os: [android] @@ -1467,10 +1470,10 @@ packages: dev: false optional: true - /@rollup/rollup-darwin-arm64@4.12.0: + /@rollup/rollup-darwin-arm64@4.18.0: resolution: { - integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ== + integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w== } cpu: [arm64] os: [darwin] @@ -1478,10 +1481,10 @@ packages: dev: false optional: true - /@rollup/rollup-darwin-x64@4.12.0: + /@rollup/rollup-darwin-x64@4.18.0: resolution: { - integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg== + integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA== } cpu: [x64] os: [darwin] @@ -1489,10 +1492,10 @@ packages: dev: false optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + /@rollup/rollup-linux-arm-gnueabihf@4.18.0: resolution: { - integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA== + integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA== } cpu: [arm] os: [linux] @@ -1500,10 +1503,21 @@ packages: dev: false optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.0: + /@rollup/rollup-linux-arm-musleabihf@4.18.0: resolution: { - integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA== + integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A== + } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.18.0: + resolution: + { + integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw== } cpu: [arm64] os: [linux] @@ -1511,10 +1525,10 @@ packages: dev: false optional: true - /@rollup/rollup-linux-arm64-musl@4.12.0: + /@rollup/rollup-linux-arm64-musl@4.18.0: resolution: { - integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ== + integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ== } cpu: [arm64] os: [linux] @@ -1522,10 +1536,21 @@ packages: dev: false optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.0: + /@rollup/rollup-linux-powerpc64le-gnu@4.18.0: resolution: { - integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw== + integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA== + } + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.18.0: + resolution: + { + integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg== } cpu: [riscv64] os: [linux] @@ -1533,10 +1558,21 @@ packages: dev: false optional: true - /@rollup/rollup-linux-x64-gnu@4.12.0: + /@rollup/rollup-linux-s390x-gnu@4.18.0: resolution: { - integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA== + integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg== + } + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-gnu@4.18.0: + resolution: + { + integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w== } cpu: [x64] os: [linux] @@ -1544,10 +1580,10 @@ packages: dev: false optional: true - /@rollup/rollup-linux-x64-musl@4.12.0: + /@rollup/rollup-linux-x64-musl@4.18.0: resolution: { - integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw== + integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg== } cpu: [x64] os: [linux] @@ -1555,10 +1591,10 @@ packages: dev: false optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.0: + /@rollup/rollup-win32-arm64-msvc@4.18.0: resolution: { - integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw== + integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA== } cpu: [arm64] os: [win32] @@ -1566,10 +1602,10 @@ packages: dev: false optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.0: + /@rollup/rollup-win32-ia32-msvc@4.18.0: resolution: { - integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA== + integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg== } cpu: [ia32] os: [win32] @@ -1577,10 +1613,10 @@ packages: dev: false optional: true - /@rollup/rollup-win32-x64-msvc@4.12.0: + /@rollup/rollup-win32-x64-msvc@4.18.0: resolution: { - integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg== + integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g== } cpu: [x64] os: [win32] @@ -1588,6 +1624,13 @@ packages: dev: false optional: true + /@shikijs/core@1.6.4: + resolution: + { + integrity: sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA== + } + dev: false + /@types/acorn@4.0.6: resolution: { @@ -1603,11 +1646,11 @@ packages: integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } dependencies: - "@babel/parser": 7.23.9 - "@babel/types": 7.23.9 + "@babel/parser": 7.24.7 + "@babel/types": 7.24.7 "@types/babel__generator": 7.6.8 "@types/babel__template": 7.4.4 - "@types/babel__traverse": 7.20.5 + "@types/babel__traverse": 7.20.6 dev: false /@types/babel__generator@7.6.8: @@ -1616,7 +1659,7 @@ packages: integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== } dependencies: - "@babel/types": 7.23.9 + "@babel/types": 7.24.7 dev: false /@types/babel__template@7.4.4: @@ -1625,17 +1668,24 @@ packages: integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== } dependencies: - "@babel/parser": 7.23.9 - "@babel/types": 7.23.9 + "@babel/parser": 7.24.7 + "@babel/types": 7.24.7 dev: false - /@types/babel__traverse@7.20.5: + /@types/babel__traverse@7.20.6: resolution: { - integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== } dependencies: - "@babel/types": 7.23.9 + "@babel/types": 7.24.7 + dev: false + + /@types/cookie@0.6.0: + resolution: + { + integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== + } dev: false /@types/debug@4.1.12: @@ -1647,10 +1697,10 @@ packages: "@types/ms": 0.7.34 dev: false - /@types/estree-jsx@1.0.4: + /@types/estree-jsx@1.0.5: resolution: { - integrity: sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ== + integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg== } dependencies: "@types/estree": 1.0.5 @@ -1663,15 +1713,6 @@ packages: } dev: false - /@types/hast@2.3.10: - resolution: - { - integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== - } - dependencies: - "@types/unist": 2.0.10 - dev: false - /@types/hast@3.0.4: resolution: { @@ -1688,35 +1729,19 @@ packages: } dev: true - /@types/lodash.clonedeep@4.5.9: + /@types/mdast@4.0.4: resolution: { - integrity: sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q== - } - dependencies: - "@types/lodash": 4.14.202 - dev: true - - /@types/lodash@4.14.202: - resolution: - { - integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== - } - dev: true - - /@types/mdast@4.0.3: - resolution: - { - integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== + integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== } dependencies: "@types/unist": 3.0.2 dev: false - /@types/mdx@2.0.11: + /@types/mdx@2.0.13: resolution: { - integrity: sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw== + integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== } dev: false @@ -1736,6 +1761,15 @@ packages: "@types/unist": 2.0.10 dev: false + /@types/nlcst@2.0.3: + resolution: + { + integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA== + } + dependencies: + "@types/unist": 3.0.2 + dev: false + /@types/node@17.0.45: resolution: { @@ -1743,13 +1777,6 @@ packages: } dev: false - /@types/parse5@6.0.3: - resolution: - { - integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== - } - dev: false - /@types/sax@1.2.7: resolution: { @@ -1918,93 +1945,91 @@ packages: hasBin: true dev: false - /astro-expressive-code@0.32.4(astro@4.4.1): + /astro-expressive-code@0.35.3(astro@4.10.2): resolution: { - integrity: sha512-/Kq8wLMz0X2gbLWGmPryqEdFV/om/GROsoLtPFqLrLCRD5CpwxXAW185BIGZKf4iYsyJim1vvcpQm5Y9hV5B1g== + integrity: sha512-f1L1m3J3EzZHDEox6TXmuKo5fTSbaNxE/HU0S0UQmvlCowtOKnU/LOsoDwsbQSYGKz+fdLRPsCjFMiKqEoyfcw== } peerDependencies: - astro: ^3.3.0 || ^4.0.0-beta + astro: ^4.0.0-beta || ^3.3.0 dependencies: - astro: 4.4.1 - hast-util-to-html: 8.0.4 - remark-expressive-code: 0.32.4 + astro: 4.10.2 + rehype-expressive-code: 0.35.3 dev: false - /astro@4.4.1: + /astro@4.10.2: resolution: { - integrity: sha512-nJLgNg8UXKBJYXjWtekgv1TYZES++LAdShgyKL8L5yJMeiqlDSO+/Laq5VfRKoL9hzBdyolJMB0WDE/+bRZytg== + integrity: sha512-SBdkoOanPsxKlKVU4uu/XG0G7NYAFoqmfBtq9SPMJ34B7Hr1MxVdEugERs8IwYN6UaxdDVcqA++9PvH6Onq2cg== } - engines: { node: ">=18.14.1", npm: ">=6.14.0" } + engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: ">=9.6.5", pnpm: ">=7.1.0" } hasBin: true dependencies: - "@astrojs/compiler": 2.5.3 - "@astrojs/internal-helpers": 0.2.1 - "@astrojs/markdown-remark": 4.2.1 - "@astrojs/telemetry": 3.0.4 - "@babel/core": 7.23.9 - "@babel/generator": 7.23.6 - "@babel/parser": 7.23.9 - "@babel/plugin-transform-react-jsx": 7.23.4(@babel/core@7.23.9) - "@babel/traverse": 7.23.9 - "@babel/types": 7.23.9 - "@medv/finder": 3.1.0 + "@astrojs/compiler": 2.8.0 + "@astrojs/internal-helpers": 0.4.0 + "@astrojs/markdown-remark": 5.1.0 + "@astrojs/telemetry": 3.1.0 + "@babel/core": 7.24.7 + "@babel/generator": 7.24.7 + "@babel/parser": 7.24.7 + "@babel/plugin-transform-react-jsx": 7.24.7(@babel/core@7.24.7) + "@babel/traverse": 7.24.7 + "@babel/types": 7.24.7 "@types/babel__core": 7.20.5 + "@types/cookie": 0.6.0 acorn: 8.11.3 aria-query: 5.3.0 axobject-query: 4.0.0 boxen: 7.1.1 chokidar: 3.6.0 ci-info: 4.0.0 - clsx: 2.1.0 + clsx: 2.1.1 common-ancestor-path: 1.0.1 cookie: 0.6.0 cssesc: 3.0.0 - debug: 4.3.4 + debug: 4.3.5 deterministic-object-hash: 2.0.2 - devalue: 4.3.2 + devalue: 5.0.0 diff: 5.2.0 dlv: 1.1.3 dset: 3.1.3 - es-module-lexer: 1.4.1 - esbuild: 0.19.12 + es-module-lexer: 1.5.3 + esbuild: 0.21.5 estree-walker: 3.0.3 execa: 8.0.1 fast-glob: 3.3.2 - flattie: 1.1.0 + flattie: 1.1.1 github-slugger: 2.0.0 gray-matter: 4.0.3 html-escaper: 3.0.3 http-cache-semantics: 4.1.1 js-yaml: 4.1.0 kleur: 4.1.5 - magic-string: 0.30.7 - mdast-util-to-hast: 13.0.2 - mime: 3.0.0 - ora: 7.0.1 + magic-string: 0.30.10 + mrmime: 2.0.0 + ora: 8.0.1 p-limit: 5.0.0 p-queue: 8.0.1 - path-to-regexp: 6.2.1 - preferred-pm: 3.1.2 + path-to-regexp: 6.2.2 + preferred-pm: 3.1.3 prompts: 2.4.2 rehype: 13.0.1 resolve: 1.22.8 - semver: 7.6.0 - shikiji: 0.9.19 - shikiji-core: 0.9.19 + semver: 7.6.2 + shiki: 1.6.4 string-width: 7.1.0 strip-ansi: 7.1.0 - tsconfck: 3.0.2 + tsconfck: 3.1.0 unist-util-visit: 5.0.0 vfile: 6.0.1 - vite: 5.1.3 - vitefu: 0.2.5(vite@5.1.3) - which-pm: 2.1.1 + vite: 5.3.0 + vitefu: 0.2.5(vite@5.3.0) + which-pm: 2.2.0 yargs-parser: 21.1.1 - zod: 3.22.4 + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) optionalDependencies: - sharp: 0.32.6 + sharp: 0.33.4 transitivePeerDependencies: - "@types/node" - less @@ -2026,15 +2051,6 @@ packages: dequal: 2.0.3 dev: false - /b4a@1.6.6: - resolution: - { - integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== - } - requiresBuild: true - dev: false - optional: true - /bail@2.0.2: resolution: { @@ -2049,49 +2065,6 @@ packages: } dev: true - /bare-events@2.2.0: - resolution: - { - integrity: sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg== - } - requiresBuild: true - dev: false - optional: true - - /bare-fs@2.1.5: - resolution: - { - integrity: sha512-5t0nlecX+N2uJqdxe9d18A98cp2u9BETelbjKpiVgQqzzmVNFYWEAjQHqS+2Khgto1vcwhik9cXucaj5ve2WWA== - } - requiresBuild: true - dependencies: - bare-events: 2.2.0 - bare-os: 2.2.0 - bare-path: 2.1.0 - streamx: 2.16.1 - dev: false - optional: true - - /bare-os@2.2.0: - resolution: - { - integrity: sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag== - } - requiresBuild: true - dev: false - optional: true - - /bare-path@2.1.0: - resolution: - { - integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw== - } - requiresBuild: true - dependencies: - bare-os: 2.2.0 - dev: false - optional: true - /base-64@1.0.0: resolution: { @@ -2099,13 +2072,6 @@ packages: } dev: false - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - } - dev: false - /bcp-47-match@2.0.3: resolution: { @@ -2124,38 +2090,14 @@ packages: is-decimal: 2.0.1 dev: false - /binary-extensions@2.2.0: + /binary-extensions@2.3.0: resolution: { - integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== } engines: { node: ">=8" } dev: false - /bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - } - requiresBuild: true - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - optional: true - - /bl@5.1.0: - resolution: - { - integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== - } - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - /boolbase@1.0.0: resolution: { @@ -2190,50 +2132,28 @@ packages: concat-map: 0.0.1 dev: true - /braces@3.0.2: + /braces@3.0.3: resolution: { - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== } engines: { node: ">=8" } dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 dev: false - /browserslist@4.23.0: + /browserslist@4.23.1: resolution: { - integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== } engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: - caniuse-lite: 1.0.30001588 - electron-to-chromium: 1.4.677 + caniuse-lite: 1.0.30001633 + electron-to-chromium: 1.4.802 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: false - - /buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - } - requiresBuild: true - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - optional: true - - /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 + update-browserslist-db: 1.0.16(browserslist@4.23.1) dev: false /callsites@3.1.0: @@ -2252,10 +2172,10 @@ packages: engines: { node: ">=14.16" } dev: false - /caniuse-lite@1.0.30001588: + /caniuse-lite@1.0.30001633: resolution: { - integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ== + integrity: sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg== } dev: false @@ -2333,7 +2253,7 @@ packages: engines: { node: ">= 8.10.0" } dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -2343,23 +2263,6 @@ packages: fsevents: 2.3.3 dev: false - /chownr@1.1.4: - resolution: - { - integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - } - requiresBuild: true - dev: false - optional: true - - /ci-info@3.9.0: - resolution: - { - integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - } - engines: { node: ">=8" } - dev: false - /ci-info@4.0.0: resolution: { @@ -2394,10 +2297,10 @@ packages: engines: { node: ">=6" } dev: false - /clsx@2.1.0: + /clsx@2.1.1: resolution: { - integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== + integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== } engines: { node: ">=6" } dev: false @@ -2508,10 +2411,10 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /css-selector-parser@3.0.4: + /css-selector-parser@3.0.5: resolution: { - integrity: sha512-pnmS1dbKsz6KA4EW4BznyPL2xxkNDRg62hcD0v8g6DEw2W7hxOln5M953jsp9hmw5Dg57S6o/A8GOn37mbAgcQ== + integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g== } dev: false @@ -2524,10 +2427,10 @@ packages: hasBin: true dev: false - /debug@4.3.4: + /debug@4.3.5: resolution: { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== } engines: { node: ">=6.0" } peerDependencies: @@ -2547,28 +2450,6 @@ packages: character-entities: 2.0.2 dev: false - /decompress-response@6.0.0: - resolution: - { - integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - } - engines: { node: ">=10" } - requiresBuild: true - dependencies: - mimic-response: 3.1.0 - dev: false - optional: true - - /deep-extend@0.6.0: - resolution: - { - integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - } - engines: { node: ">=4.0.0" } - requiresBuild: true - dev: false - optional: true - /deep-is@0.1.4: resolution: { @@ -2584,10 +2465,10 @@ packages: engines: { node: ">=6" } dev: false - /detect-libc@2.0.2: + /detect-libc@2.0.3: resolution: { - integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== } engines: { node: ">=8" } dev: false @@ -2602,10 +2483,10 @@ packages: base-64: 1.0.0 dev: false - /devalue@4.3.2: + /devalue@5.0.0: resolution: { - integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg== + integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA== } dev: false @@ -2666,10 +2547,10 @@ packages: } dev: false - /electron-to-chromium@1.4.677: + /electron-to-chromium@1.4.802: resolution: { - integrity: sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q== + integrity: sha512-TnTMUATbgNdPXVSHsxvNVSG0uEd6cSZsANjm8c9HbvflZVVn1yTRcmVXYT1Ma95/ssB/Dcd30AHweH2TE+dNpA== } dev: false @@ -2694,17 +2575,6 @@ packages: } dev: false - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - } - requiresBuild: true - dependencies: - once: 1.4.0 - dev: false - optional: true - /entities@4.5.0: resolution: { @@ -2713,45 +2583,45 @@ packages: engines: { node: ">=0.12" } dev: false - /es-module-lexer@1.4.1: + /es-module-lexer@1.5.3: resolution: { - integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg== } dev: false - /esbuild@0.19.12: + /esbuild@0.21.5: resolution: { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== + integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== } engines: { node: ">=12" } hasBin: true requiresBuild: true optionalDependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 + "@esbuild/aix-ppc64": 0.21.5 + "@esbuild/android-arm": 0.21.5 + "@esbuild/android-arm64": 0.21.5 + "@esbuild/android-x64": 0.21.5 + "@esbuild/darwin-arm64": 0.21.5 + "@esbuild/darwin-x64": 0.21.5 + "@esbuild/freebsd-arm64": 0.21.5 + "@esbuild/freebsd-x64": 0.21.5 + "@esbuild/linux-arm": 0.21.5 + "@esbuild/linux-arm64": 0.21.5 + "@esbuild/linux-ia32": 0.21.5 + "@esbuild/linux-loong64": 0.21.5 + "@esbuild/linux-mips64el": 0.21.5 + "@esbuild/linux-ppc64": 0.21.5 + "@esbuild/linux-riscv64": 0.21.5 + "@esbuild/linux-s390x": 0.21.5 + "@esbuild/linux-x64": 0.21.5 + "@esbuild/netbsd-x64": 0.21.5 + "@esbuild/openbsd-x64": 0.21.5 + "@esbuild/sunos-x64": 0.21.5 + "@esbuild/win32-arm64": 0.21.5 + "@esbuild/win32-ia32": 0.21.5 + "@esbuild/win32-x64": 0.21.5 dev: false /escalade@3.1.2: @@ -2786,7 +2656,7 @@ packages: engines: { node: ">=12" } dev: false - /eslint-plugin-prettier@5.1.3(eslint@8.56.0)(prettier@3.2.5): + /eslint-plugin-prettier@5.1.3(eslint@8.57.0)(prettier@3.3.2): resolution: { integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== @@ -2803,8 +2673,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.56.0 - prettier: 3.2.5 + eslint: 8.57.0 + prettier: 3.3.2 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 dev: true @@ -2828,18 +2698,18 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /eslint@8.56.0: + /eslint@8.57.0: resolution: { - integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } hasBin: true dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.56.0) - "@eslint-community/regexpp": 4.10.0 + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@eslint-community/regexpp": 4.10.1 "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.56.0 + "@eslint/js": 8.57.0 "@humanwhocodes/config-array": 0.11.14 "@humanwhocodes/module-importer": 1.0.1 "@nodelib/fs.walk": 1.2.8 @@ -2847,7 +2717,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.5 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -2871,7 +2741,7 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -2942,7 +2812,7 @@ packages: integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== } dependencies: - "@types/estree-jsx": 1.0.4 + "@types/estree-jsx": 1.0.5 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 estree-walker: 3.0.3 @@ -2961,7 +2831,7 @@ packages: integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== } dependencies: - "@types/estree-jsx": 1.0.4 + "@types/estree-jsx": 1.0.5 astring: 1.8.6 source-map: 0.7.4 dev: false @@ -2972,7 +2842,7 @@ packages: integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== } dependencies: - "@types/estree-jsx": 1.0.4 + "@types/estree-jsx": 1.0.5 "@types/unist": 3.0.2 dev: false @@ -3012,32 +2882,22 @@ packages: human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.2.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 dev: false - /expand-template@2.0.3: + /expressive-code@0.35.3: resolution: { - integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - } - engines: { node: ">=6" } - requiresBuild: true - dev: false - optional: true - - /expressive-code@0.32.4: - resolution: - { - integrity: sha512-r+yUP2JV181tVR2EyYked7lT2W8bvL9o7xpdKU6q60FMU7Wh/DbGtH0jg+WmDxKK1C57iXF9chbBv+BsDPlUEQ== + integrity: sha512-XjWWUCxS4uQjPoRM98R7SNWWIYlFEaOeHm1piWv+c7coHCekuWno81thsc3g/UJ+DajNtOEsIQIAAcsBQZ8LMg== } dependencies: - "@expressive-code/core": 0.32.4 - "@expressive-code/plugin-frames": 0.32.4 - "@expressive-code/plugin-shiki": 0.32.4 - "@expressive-code/plugin-text-markers": 0.32.4 + "@expressive-code/core": 0.35.3 + "@expressive-code/plugin-frames": 0.35.3 + "@expressive-code/plugin-shiki": 0.35.3 + "@expressive-code/plugin-text-markers": 0.35.3 dev: false /extend-shallow@2.0.1: @@ -3071,15 +2931,6 @@ packages: } dev: true - /fast-fifo@1.3.2: - resolution: - { - integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== - } - requiresBuild: true - dev: false - optional: true - /fast-glob@3.3.2: resolution: { @@ -3091,7 +2942,7 @@ packages: "@nodelib/fs.walk": 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 dev: false /fast-json-stable-stringify@2.1.0: @@ -3108,10 +2959,10 @@ packages: } dev: true - /fast-xml-parser@4.3.4: + /fast-xml-parser@4.4.0: resolution: { - integrity: sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA== + integrity: sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg== } hasBin: true dependencies: @@ -3136,10 +2987,10 @@ packages: flat-cache: 3.2.0 dev: true - /fill-range@7.0.1: + /fill-range@7.1.1: resolution: { - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== } engines: { node: ">=8" } dependencies: @@ -3173,7 +3024,7 @@ packages: integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== } dependencies: - micromatch: 4.0.5 + micromatch: 4.0.7 pkg-dir: 4.2.0 dev: false @@ -3184,35 +3035,26 @@ packages: } engines: { node: ^10.12.0 || >=12.0.0 } dependencies: - flatted: 3.3.0 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 dev: true - /flatted@3.3.0: + /flatted@3.3.1: resolution: { - integrity: sha512-noqGuLw158+DuD9UPRKHpJ2hGxpFyDlYYrfM0mWt4XhT4n0lwzTLh70Tkdyy4kyTmyTT9Bv7bWAJqw7cgkEXDg== + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== } dev: true - /flattie@1.1.0: + /flattie@1.1.1: resolution: { - integrity: sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw== + integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ== } engines: { node: ">=8" } dev: false - /fs-constants@1.0.0: - resolution: - { - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - } - requiresBuild: true - dev: false - optional: true - /fs.realpath@1.0.0: resolution: { @@ -3262,15 +3104,6 @@ packages: engines: { node: ">=16" } dev: false - /github-from-package@0.0.0: - resolution: - { - integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== - } - requiresBuild: true - dev: false - optional: true - /github-slugger@2.0.0: resolution: { @@ -3303,6 +3136,7 @@ packages: { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -3373,16 +3207,26 @@ packages: engines: { node: ">=8" } dev: true - /hasown@2.0.1: + /hasown@2.0.2: resolution: { - integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== + integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } engines: { node: ">= 0.4" } dependencies: function-bind: 1.1.2 dev: false + /hast-util-embedded@3.0.0: + resolution: + { + integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA== + } + dependencies: + "@types/hast": 3.0.4 + hast-util-is-element: 3.0.0 + dev: false + /hast-util-from-html@2.0.1: resolution: { @@ -3397,21 +3241,6 @@ packages: vfile-message: 4.0.2 dev: false - /hast-util-from-parse5@7.1.2: - resolution: - { - integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw== - } - dependencies: - "@types/hast": 2.3.10 - "@types/unist": 2.0.10 - hastscript: 7.2.0 - property-information: 6.4.1 - vfile: 5.3.7 - vfile-location: 4.1.0 - web-namespaces: 2.0.1 - dev: false - /hast-util-from-parse5@8.0.1: resolution: { @@ -3422,7 +3251,7 @@ packages: "@types/unist": 3.0.2 devlop: 1.1.0 hastscript: 8.0.0 - property-information: 6.4.1 + property-information: 6.5.0 vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 @@ -3437,6 +3266,15 @@ packages: "@types/hast": 3.0.4 dev: false + /hast-util-is-body-ok-link@3.0.0: + resolution: + { + integrity: sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w== + } + dependencies: + "@types/hast": 3.0.4 + dev: false + /hast-util-is-element@3.0.0: resolution: { @@ -3446,15 +3284,6 @@ packages: "@types/hast": 3.0.4 dev: false - /hast-util-parse-selector@3.1.1: - resolution: - { - integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== - } - dependencies: - "@types/hast": 2.3.10 - dev: false - /hast-util-parse-selector@4.0.0: resolution: { @@ -3464,29 +3293,23 @@ packages: "@types/hast": 3.0.4 dev: false - /hast-util-raw@7.2.3: + /hast-util-phrasing@3.0.1: resolution: { - integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg== + integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ== } dependencies: - "@types/hast": 2.3.10 - "@types/parse5": 6.0.3 - hast-util-from-parse5: 7.1.2 - hast-util-to-parse5: 7.1.0 - html-void-elements: 2.0.1 - parse5: 6.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + "@types/hast": 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-has-property: 3.0.0 + hast-util-is-body-ok-link: 3.0.0 + hast-util-is-element: 3.0.0 dev: false - /hast-util-raw@9.0.2: + /hast-util-raw@9.0.3: resolution: { - integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA== + integrity: sha512-ICWvVOF2fq4+7CMmtCPD5CM4QKjPbHpPotE6+8tDooV0ZuyJVUzHsrNX+O5NaRbieTf0F7FfeBOMAwi6Td0+yQ== } dependencies: "@types/hast": 3.0.4 @@ -3495,7 +3318,7 @@ packages: hast-util-from-parse5: 8.0.1 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.1.0 + mdast-util-to-hast: 13.2.0 parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -3514,7 +3337,7 @@ packages: "@types/unist": 3.0.2 bcp-47-match: 2.0.3 comma-separated-tokens: 2.0.3 - css-selector-parser: 3.0.4 + css-selector-parser: 3.0.5 devlop: 1.1.0 direction: 2.0.1 hast-util-has-property: 3.0.0 @@ -3522,7 +3345,7 @@ packages: hast-util-whitespace: 3.0.0 not: 0.1.0 nth-check: 2.1.1 - property-information: 6.4.1 + property-information: 6.5.0 space-separated-tokens: 2.0.2 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -3535,7 +3358,7 @@ packages: } dependencies: "@types/estree": 1.0.5 - "@types/estree-jsx": 1.0.4 + "@types/estree-jsx": 1.0.5 "@types/hast": 3.0.4 comma-separated-tokens: 2.0.3 devlop: 1.1.0 @@ -3543,9 +3366,9 @@ packages: estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.0 + mdast-util-mdx-jsx: 3.1.2 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.4.1 + property-information: 6.5.0 space-separated-tokens: 2.0.2 style-to-object: 0.4.4 unist-util-position: 5.0.0 @@ -3554,42 +3377,23 @@ packages: - supports-color dev: false - /hast-util-to-html@8.0.4: + /hast-util-to-html@9.0.1: resolution: { - integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA== - } - dependencies: - "@types/hast": 2.3.10 - "@types/unist": 2.0.10 - ccount: 2.0.1 - comma-separated-tokens: 2.0.3 - hast-util-raw: 7.2.3 - hast-util-whitespace: 2.0.1 - html-void-elements: 2.0.1 - property-information: 6.4.1 - space-separated-tokens: 2.0.2 - stringify-entities: 4.0.3 - zwitch: 2.0.4 - dev: false - - /hast-util-to-html@9.0.0: - resolution: - { - integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw== + integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ== } dependencies: "@types/hast": 3.0.4 "@types/unist": 3.0.2 ccount: 2.0.1 comma-separated-tokens: 2.0.3 - hast-util-raw: 9.0.2 + hast-util-raw: 9.0.3 hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.1.0 - property-information: 6.4.1 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 space-separated-tokens: 2.0.2 - stringify-entities: 4.0.3 + stringify-entities: 4.0.4 zwitch: 2.0.4 dev: false @@ -3607,31 +3411,17 @@ packages: estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.0 + mdast-util-mdx-jsx: 3.1.2 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.4.1 + property-information: 6.5.0 space-separated-tokens: 2.0.2 - style-to-object: 1.0.5 + style-to-object: 1.0.6 unist-util-position: 5.0.0 vfile-message: 4.0.2 transitivePeerDependencies: - supports-color dev: false - /hast-util-to-parse5@7.1.0: - resolution: - { - integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw== - } - dependencies: - "@types/hast": 2.3.10 - comma-separated-tokens: 2.0.3 - property-information: 6.4.1 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - dev: false - /hast-util-to-parse5@8.0.0: resolution: { @@ -3641,7 +3431,7 @@ packages: "@types/hast": 3.0.4 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.4.1 + property-information: 6.5.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -3656,11 +3446,16 @@ packages: "@types/hast": 3.0.4 dev: false - /hast-util-whitespace@2.0.1: + /hast-util-to-text@4.0.2: resolution: { - integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== + integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A== } + dependencies: + "@types/hast": 3.0.4 + "@types/unist": 3.0.2 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 dev: false /hast-util-whitespace@3.0.0: @@ -3672,19 +3467,6 @@ packages: "@types/hast": 3.0.4 dev: false - /hastscript@7.2.0: - resolution: - { - integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== - } - dependencies: - "@types/hast": 2.3.10 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 3.1.1 - property-information: 6.4.1 - space-separated-tokens: 2.0.2 - dev: false - /hastscript@8.0.0: resolution: { @@ -3694,7 +3476,20 @@ packages: "@types/hast": 3.0.4 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 6.4.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + dev: false + + /hastscript@9.0.0: + resolution: + { + integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw== + } + dependencies: + "@types/hast": 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 space-separated-tokens: 2.0.2 dev: false @@ -3705,13 +3500,6 @@ packages: } dev: false - /html-void-elements@2.0.1: - resolution: - { - integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== - } - dev: false - /html-void-elements@3.0.0: resolution: { @@ -3719,6 +3507,13 @@ packages: } dev: false + /html-whitespace-sensitive-tag-names@3.0.0: + resolution: + { + integrity: sha512-KlClZ3/Qy5UgvpvVvDomGhnQhNWH5INE8GwvSIQ9CWt1K0zbbXrl7eN5bWaafOZgtmO3jMPwUqmrmEwinhPq1w== + } + dev: false + /http-cache-semantics@4.1.1: resolution: { @@ -3734,13 +3529,6 @@ packages: engines: { node: ">=16.17.0" } dev: false - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - } - dev: false - /ignore@5.3.1: resolution: { @@ -3760,10 +3548,10 @@ packages: resolve-from: 4.0.0 dev: true - /import-meta-resolve@4.0.0: + /import-meta-resolve@4.1.0: resolution: { - integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA== + integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw== } dev: false @@ -3780,6 +3568,7 @@ packages: { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -3790,15 +3579,7 @@ packages: { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } - - /ini@1.3.8: - resolution: - { - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - } - requiresBuild: true - dev: false - optional: true + dev: true /inline-style-parser@0.1.1: resolution: @@ -3807,10 +3588,10 @@ packages: } dev: false - /inline-style-parser@0.2.2: + /inline-style-parser@0.2.3: resolution: { - integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== + integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g== } dev: false @@ -3853,7 +3634,7 @@ packages: } engines: { node: ">=8" } dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 dev: false /is-buffer@2.0.5: @@ -3870,7 +3651,7 @@ packages: integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } dependencies: - hasown: 2.0.1 + hasown: 2.0.2 dev: false /is-decimal@2.0.1: @@ -3996,6 +3777,14 @@ packages: engines: { node: ">=12" } dev: false + /is-unicode-supported@2.0.0: + resolution: + { + integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q== + } + engines: { node: ">=18" } + dev: false + /is-wsl@3.1.0: resolution: { @@ -4154,13 +3943,6 @@ packages: dependencies: p-locate: 5.0.0 - /lodash.clonedeep@4.5.0: - resolution: - { - integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== - } - dev: true - /lodash.merge@4.6.2: resolution: { @@ -4168,12 +3950,12 @@ packages: } dev: true - /log-symbols@5.1.0: + /log-symbols@6.0.0: resolution: { - integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA== + integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw== } - engines: { node: ">=12" } + engines: { node: ">=18" } dependencies: chalk: 5.3.0 is-unicode-supported: 1.3.0 @@ -4195,22 +3977,11 @@ packages: yallist: 3.1.1 dev: false - /lru-cache@6.0.0: + /magic-string@0.30.10: resolution: { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== } - engines: { node: ">=10" } - dependencies: - yallist: 4.0.0 - dev: false - - /magic-string@0.30.7: - resolution: - { - integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== - } - engines: { node: ">=12" } dependencies: "@jridgewell/sourcemap-codec": 1.4.15 dev: false @@ -4236,7 +4007,7 @@ packages: integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 "@types/unist": 3.0.2 unist-util-visit: 5.0.0 dev: false @@ -4247,13 +4018,13 @@ packages: integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 "@types/unist": 3.0.2 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 parse-entities: 4.0.1 - stringify-entities: 4.0.3 + stringify-entities: 4.0.4 unist-util-visit-parents: 6.0.1 transitivePeerDependencies: - supports-color @@ -4265,19 +4036,19 @@ packages: integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 escape-string-regexp: 5.0.0 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 dev: false - /mdast-util-from-markdown@2.0.0: + /mdast-util-from-markdown@2.0.1: resolution: { - integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 "@types/unist": 3.0.2 decode-named-character-reference: 1.0.2 devlop: 1.1.0 @@ -4299,7 +4070,7 @@ packages: integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 ccount: 2.0.1 devlop: 1.1.0 mdast-util-find-and-replace: 3.0.1 @@ -4312,9 +4083,9 @@ packages: integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 micromark-util-normalize-identifier: 2.0.0 transitivePeerDependencies: @@ -4327,8 +4098,8 @@ packages: integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== } dependencies: - "@types/mdast": 4.0.3 - mdast-util-from-markdown: 2.0.0 + "@types/mdast": 4.0.4 + mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -4340,10 +4111,10 @@ packages: integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 devlop: 1.1.0 markdown-table: 3.0.3 - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -4355,9 +4126,9 @@ packages: integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -4369,7 +4140,7 @@ packages: integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== } dependencies: - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-gfm-autolink-literal: 2.0.0 mdast-util-gfm-footnote: 2.0.0 mdast-util-gfm-strikethrough: 2.0.0 @@ -4386,32 +4157,32 @@ packages: integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== } dependencies: - "@types/estree-jsx": 1.0.4 + "@types/estree-jsx": 1.0.5 "@types/hast": 3.0.4 - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color dev: false - /mdast-util-mdx-jsx@3.1.0: + /mdast-util-mdx-jsx@3.1.2: resolution: { - integrity: sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w== + integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA== } dependencies: - "@types/estree-jsx": 1.0.4 + "@types/estree-jsx": 1.0.5 "@types/hast": 3.0.4 - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 "@types/unist": 3.0.2 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 parse-entities: 4.0.1 - stringify-entities: 4.0.3 + stringify-entities: 4.0.4 unist-util-remove-position: 5.0.0 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 @@ -4425,9 +4196,9 @@ packages: integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== } dependencies: - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.0 + mdast-util-mdx-jsx: 3.1.2 mdast-util-mdxjs-esm: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: @@ -4440,11 +4211,11 @@ packages: integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== } dependencies: - "@types/estree-jsx": 1.0.4 + "@types/estree-jsx": 1.0.5 "@types/hast": 3.0.4 - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.0 + mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -4456,34 +4227,18 @@ packages: integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 unist-util-is: 6.0.0 dev: false - /mdast-util-to-hast@13.0.2: + /mdast-util-to-hast@13.2.0: resolution: { - integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og== + integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== } dependencies: "@types/hast": 3.0.4 - "@types/mdast": 4.0.3 - "@ungap/structured-clone": 1.2.0 - devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.0 - trim-lines: 3.0.1 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - dev: false - - /mdast-util-to-hast@13.1.0: - resolution: - { - integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== - } - dependencies: - "@types/hast": 3.0.4 - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 "@ungap/structured-clone": 1.2.0 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.0 @@ -4499,7 +4254,7 @@ packages: integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 "@types/unist": 3.0.2 longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 @@ -4515,7 +4270,7 @@ packages: integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 dev: false /merge-stream@2.0.0: @@ -4533,10 +4288,10 @@ packages: engines: { node: ">= 8" } dev: false - /micromark-core-commonmark@2.0.0: + /micromark-core-commonmark@2.0.1: resolution: { - integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== + integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA== } dependencies: decode-named-character-reference: 1.0.2 @@ -4552,7 +4307,7 @@ packages: micromark-util-html-tag-name: 2.0.0 micromark-util-normalize-identifier: 2.0.0 micromark-util-resolve-all: 2.0.0 - micromark-util-subtokenize: 2.0.0 + micromark-util-subtokenize: 2.0.1 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: false @@ -4591,7 +4346,7 @@ packages: } dependencies: devlop: 1.1.0 - micromark-core-commonmark: 2.0.0 + micromark-core-commonmark: 2.0.1 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-normalize-identifier: 2.0.0 @@ -4716,7 +4471,7 @@ packages: dependencies: "@types/estree": 1.0.5 devlop: 1.1.0 - micromark-core-commonmark: 2.0.0 + micromark-core-commonmark: 2.0.1 micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 micromark-util-symbol: 2.0.0 @@ -4934,10 +4689,10 @@ packages: micromark-util-symbol: 2.0.0 dev: false - /micromark-util-subtokenize@2.0.0: + /micromark-util-subtokenize@2.0.1: resolution: { - integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== + integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q== } dependencies: devlop: 1.1.0 @@ -4967,10 +4722,10 @@ packages: } dependencies: "@types/debug": 4.1.12 - debug: 4.3.4 + debug: 4.3.5 decode-named-character-reference: 1.0.2 devlop: 1.1.0 - micromark-core-commonmark: 2.0.0 + micromark-core-commonmark: 2.0.1 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-chunked: 2.0.0 @@ -4980,33 +4735,24 @@ packages: micromark-util-normalize-identifier: 2.0.0 micromark-util-resolve-all: 2.0.0 micromark-util-sanitize-uri: 2.0.0 - micromark-util-subtokenize: 2.0.0 + micromark-util-subtokenize: 2.0.1 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 transitivePeerDependencies: - supports-color dev: false - /micromatch@4.0.5: + /micromatch@4.0.7: resolution: { - integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== } engines: { node: ">=8.6" } dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false - /mime@3.0.0: - resolution: - { - integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== - } - engines: { node: ">=10.0.0" } - hasBin: true - dev: false - /mimic-fn@2.1.0: resolution: { @@ -5023,16 +4769,6 @@ packages: engines: { node: ">=12" } dev: false - /mimic-response@3.1.0: - resolution: - { - integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - } - engines: { node: ">=10" } - requiresBuild: true - dev: false - optional: true - /minimatch@3.1.2: resolution: { @@ -5042,23 +4778,13 @@ packages: brace-expansion: 1.1.11 dev: true - /minimist@1.2.8: + /mrmime@2.0.0: resolution: { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== } - requiresBuild: true + engines: { node: ">=10" } dev: false - optional: true - - /mkdirp-classic@0.5.3: - resolution: - { - integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - } - requiresBuild: true - dev: false - optional: true /ms@2.1.2: resolution: @@ -5075,15 +4801,6 @@ packages: hasBin: true dev: false - /napi-build-utils@1.0.2: - resolution: - { - integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - } - requiresBuild: true - dev: false - optional: true - /natural-compare@1.4.0: resolution: { @@ -5100,26 +4817,14 @@ packages: "@types/nlcst": 1.0.4 dev: false - /node-abi@3.55.0: + /nlcst-to-string@4.0.0: resolution: { - integrity: sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ== + integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA== } - engines: { node: ">=10" } - requiresBuild: true dependencies: - semver: 7.6.0 + "@types/nlcst": 2.0.3 dev: false - optional: true - - /node-addon-api@6.1.0: - resolution: - { - integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== - } - requiresBuild: true - dev: false - optional: true /node-releases@2.0.14: resolution: @@ -5143,10 +4848,10 @@ packages: } dev: false - /npm-run-path@5.2.0: + /npm-run-path@5.3.0: resolution: { - integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg== + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: @@ -5169,6 +4874,7 @@ packages: } dependencies: wrappy: 1.0.2 + dev: true /onetime@5.1.2: resolution: @@ -5190,36 +4896,36 @@ packages: mimic-fn: 4.0.0 dev: false - /optionator@0.9.3: + /optionator@0.9.4: resolution: { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== } engines: { node: ">= 0.8.0" } dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 dev: true - /ora@7.0.1: + /ora@8.0.1: resolution: { - integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw== + integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ== } - engines: { node: ">=16" } + engines: { node: ">=18" } dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 cli-spinners: 2.9.2 is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - stdin-discarder: 0.1.0 - string-width: 6.1.0 + is-unicode-supported: 2.0.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.1.0 strip-ansi: 7.1.0 dev: false @@ -5298,18 +5004,18 @@ packages: engines: { node: ">=6" } dev: false - /pagefind@1.0.4: + /pagefind@1.1.0: resolution: { - integrity: sha512-oRIizYe+zSI2Jw4zcMU0ebDZm27751hRFiSOBLwc1OIYMrsZKk+3m8p9EVaOmc6zZdtqwwdilNUNxXvBeHcP9w== + integrity: sha512-1nmj0/vfYcMxNEQj0YDRp6bTVv9hI7HLdPhK/vBBYlrnwjATndQvHyicj5Y7pUHrpCFZpFnLVQXIF829tpFmaw== } hasBin: true optionalDependencies: - "@pagefind/darwin-arm64": 1.0.4 - "@pagefind/darwin-x64": 1.0.4 - "@pagefind/linux-arm64": 1.0.4 - "@pagefind/linux-x64": 1.0.4 - "@pagefind/windows-x64": 1.0.4 + "@pagefind/darwin-arm64": 1.1.0 + "@pagefind/darwin-x64": 1.1.0 + "@pagefind/linux-arm64": 1.1.0 + "@pagefind/linux-x64": 1.1.0 + "@pagefind/windows-x64": 1.1.0 dev: false /parent-module@1.0.1: @@ -5349,11 +5055,18 @@ packages: unist-util-visit-children: 2.0.2 dev: false - /parse5@6.0.1: + /parse-latin@7.0.0: resolution: { - integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ== } + dependencies: + "@types/nlcst": 2.0.3 + "@types/unist": 3.0.2 + nlcst-to-string: 4.0.0 + unist-util-modify-children: 4.0.0 + unist-util-visit-children: 3.0.0 + vfile: 6.0.1 dev: false /parse5@7.1.2: @@ -5402,10 +5115,10 @@ packages: } dev: false - /path-to-regexp@6.2.1: + /path-to-regexp@6.2.2: resolution: { - integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== + integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw== } dev: false @@ -5420,10 +5133,10 @@ packages: is-reference: 3.0.2 dev: false - /picocolors@1.0.0: + /picocolors@1.0.1: resolution: { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== } dev: false @@ -5453,7 +5166,7 @@ packages: find-up: 4.1.0 dev: false - /postcss-nested@6.0.1(postcss@8.4.35): + /postcss-nested@6.0.1(postcss@8.4.38): resolution: { integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== @@ -5462,14 +5175,14 @@ packages: peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 dev: false - /postcss-selector-parser@6.0.15: + /postcss-selector-parser@6.1.0: resolution: { - integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== } engines: { node: ">=4" } dependencies: @@ -5477,46 +5190,22 @@ packages: util-deprecate: 1.0.2 dev: false - /postcss@8.4.35: + /postcss@8.4.38: resolution: { - integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== + integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== } engines: { node: ^10 || ^12 || >=14 } dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.0.1 + source-map-js: 1.2.0 dev: false - /prebuild-install@7.1.1: + /preferred-pm@3.1.3: resolution: { - integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== - } - engines: { node: ">=10" } - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 1.0.2 - node-abi: 3.55.0 - pump: 3.0.0 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.1 - tunnel-agent: 0.6.0 - dev: false - optional: true - - /preferred-pm@3.1.2: - resolution: - { - integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q== + integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w== } engines: { node: ">=10" } dependencies: @@ -5544,22 +5233,22 @@ packages: fast-diff: 1.3.0 dev: true - /prettier-plugin-astro@0.13.0: + /prettier-plugin-astro@0.14.0: resolution: { - integrity: sha512-5HrJNnPmZqTUNoA97zn4gNQv9BgVhv+et03314WpQ9H9N8m2L9OSV798olwmG2YLXPl1iSstlJCR1zB3x5xG4g== + integrity: sha512-7jRGJsexaRIyUzTk8uzXlP45cw6DQ5Ci4bTe0xCBCcuO1Fff8jJy9oI+kRCQKSdDFTSAArMSg8GpvzlKBtSaZA== } engines: { node: ^14.15.0 || >=16.0.0 } dependencies: "@astrojs/compiler": 1.8.2 - prettier: 3.2.5 + prettier: 3.3.2 sass-formatter: 0.7.9 dev: true - /prettier@3.2.5: + /prettier@3.3.2: resolution: { - integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== } engines: { node: ">=14" } hasBin: true @@ -5584,25 +5273,13 @@ packages: sisteransi: 1.0.5 dev: false - /property-information@6.4.1: + /property-information@6.5.0: resolution: { - integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w== + integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== } dev: false - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - } - requiresBuild: true - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - optional: true - /punycode@2.3.1: resolution: { @@ -5617,42 +5294,6 @@ packages: integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } - /queue-tick@1.0.1: - resolution: - { - integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== - } - requiresBuild: true - dev: false - optional: true - - /rc@1.2.8: - resolution: - { - integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - } - hasBin: true - requiresBuild: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: false - optional: true - - /readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - } - engines: { node: ">= 6" } - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: false - /readdirp@3.6.0: resolution: { @@ -5663,6 +5304,15 @@ packages: picomatch: 2.3.1 dev: false + /rehype-expressive-code@0.35.3: + resolution: + { + integrity: sha512-kj43Rg+WzYUs8RRr6XyBr60pnrIZEgbmn9yJoV6qka1UDpcx7r8icn6Q2uSAgaLtlEUy+HCPgQJraOZrA53LOQ== + } + dependencies: + expressive-code: 0.35.3 + dev: false + /rehype-external-links@3.0.0: resolution: { @@ -5677,6 +5327,35 @@ packages: unist-util-visit: 5.0.0 dev: false + /rehype-format@5.0.0: + resolution: + { + integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg== + } + dependencies: + "@types/hast": 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-is-element: 3.0.0 + hast-util-phrasing: 3.0.1 + hast-util-whitespace: 3.0.0 + html-whitespace-sensitive-tag-names: 3.0.0 + rehype-minify-whitespace: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + + /rehype-minify-whitespace@6.0.0: + resolution: + { + integrity: sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA== + } + dependencies: + "@types/hast": 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-is-element: 3.0.0 + hast-util-whitespace: 3.0.0 + unist-util-is: 6.0.0 + dev: false + /rehype-parse@9.0.0: resolution: { @@ -5695,7 +5374,7 @@ packages: } dependencies: "@types/hast": 3.0.4 - hast-util-raw: 9.0.2 + hast-util-raw: 9.0.3 vfile: 6.0.1 dev: false @@ -5706,7 +5385,7 @@ packages: } dependencies: "@types/hast": 3.0.4 - hast-util-to-html: 9.0.0 + hast-util-to-html: 9.0.1 unified: 11.0.4 dev: false @@ -5728,7 +5407,7 @@ packages: integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 mdast-util-directive: 3.0.0 micromark-extension-directive: 3.0.0 unified: 11.0.4 @@ -5736,24 +5415,13 @@ packages: - supports-color dev: false - /remark-expressive-code@0.32.4: - resolution: - { - integrity: sha512-khV7fVBpVDOyz9EXU+6MFwLj7BtY3DLVlNMMJYQcfp9ksLMxG/i83rIJbMUZCRof9bDBmFFlrF0VDvqJ0/MNeQ== - } - dependencies: - expressive-code: 0.32.4 - hast-util-to-html: 8.0.4 - unist-util-visit: 4.1.2 - dev: false - /remark-gfm@4.0.0: resolution: { integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 mdast-util-gfm: 3.0.0 micromark-extension-gfm: 3.0.0 remark-parse: 11.0.0 @@ -5781,8 +5449,8 @@ packages: integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== } dependencies: - "@types/mdast": 4.0.3 - mdast-util-from-markdown: 2.0.0 + "@types/mdast": 4.0.4 + mdast-util-from-markdown: 2.0.1 micromark-util-types: 2.0.0 unified: 11.0.4 transitivePeerDependencies: @@ -5796,8 +5464,8 @@ packages: } dependencies: "@types/hast": 3.0.4 - "@types/mdast": 4.0.3 - mdast-util-to-hast: 13.0.2 + "@types/mdast": 4.0.4 + mdast-util-to-hast: 13.2.0 unified: 11.0.4 vfile: 6.0.1 dev: false @@ -5814,13 +5482,26 @@ packages: unist-util-visit: 5.0.0 dev: false + /remark-smartypants@3.0.1: + resolution: + { + integrity: sha512-qyshfCl2eLO0i0558e79ZJsfojC5wjnYLByjt0FmjJQN6aYwcRxpoj784LZJSoWCdnA2ubh5rLNGb8Uur/wDng== + } + engines: { node: ">=16.0.0" } + dependencies: + retext: 9.0.0 + retext-smartypants: 6.1.0 + unified: 11.0.4 + unist-util-visit: 5.0.0 + dev: false + /remark-stringify@11.0.0: resolution: { integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== } dependencies: - "@types/mdast": 4.0.3 + "@types/mdast": 4.0.4 mdast-util-to-markdown: 2.1.0 unified: 11.0.4 dev: false @@ -5868,6 +5549,17 @@ packages: unified: 10.1.2 dev: false + /retext-latin@4.0.0: + resolution: + { + integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA== + } + dependencies: + "@types/nlcst": 2.0.3 + parse-latin: 7.0.0 + unified: 11.0.4 + dev: false + /retext-smartypants@5.2.0: resolution: { @@ -5880,6 +5572,17 @@ packages: unist-util-visit: 4.1.2 dev: false + /retext-smartypants@6.1.0: + resolution: + { + integrity: sha512-LDPXg95346bqFZnDMHo0S7Rq5p64+B+N8Vz733+wPMDtwb9rCOs9LIdIEhrUOU+TAywX9St+ocQWJt8wrzivcQ== + } + dependencies: + "@types/nlcst": 2.0.3 + nlcst-to-string: 4.0.0 + unist-util-visit: 5.0.0 + dev: false + /retext-stringify@3.1.0: resolution: { @@ -5891,6 +5594,17 @@ packages: unified: 10.1.2 dev: false + /retext-stringify@4.0.0: + resolution: + { + integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA== + } + dependencies: + "@types/nlcst": 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.4 + dev: false + /retext@8.1.0: resolution: { @@ -5903,6 +5617,18 @@ packages: unified: 10.1.2 dev: false + /retext@9.0.0: + resolution: + { + integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA== + } + dependencies: + "@types/nlcst": 2.0.3 + retext-latin: 4.0.0 + retext-stringify: 4.0.0 + unified: 11.0.4 + dev: false + /reusify@1.0.4: resolution: { @@ -5915,34 +5641,38 @@ packages: { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 dev: true - /rollup@4.12.0: + /rollup@4.18.0: resolution: { - integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q== + integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg== } engines: { node: ">=18.0.0", npm: ">=8.0.0" } hasBin: true dependencies: "@types/estree": 1.0.5 optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.12.0 - "@rollup/rollup-android-arm64": 4.12.0 - "@rollup/rollup-darwin-arm64": 4.12.0 - "@rollup/rollup-darwin-x64": 4.12.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 - "@rollup/rollup-linux-arm64-gnu": 4.12.0 - "@rollup/rollup-linux-arm64-musl": 4.12.0 - "@rollup/rollup-linux-riscv64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-musl": 4.12.0 - "@rollup/rollup-win32-arm64-msvc": 4.12.0 - "@rollup/rollup-win32-ia32-msvc": 4.12.0 - "@rollup/rollup-win32-x64-msvc": 4.12.0 + "@rollup/rollup-android-arm-eabi": 4.18.0 + "@rollup/rollup-android-arm64": 4.18.0 + "@rollup/rollup-darwin-arm64": 4.18.0 + "@rollup/rollup-darwin-x64": 4.18.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.18.0 + "@rollup/rollup-linux-arm-musleabihf": 4.18.0 + "@rollup/rollup-linux-arm64-gnu": 4.18.0 + "@rollup/rollup-linux-arm64-musl": 4.18.0 + "@rollup/rollup-linux-powerpc64le-gnu": 4.18.0 + "@rollup/rollup-linux-riscv64-gnu": 4.18.0 + "@rollup/rollup-linux-s390x-gnu": 4.18.0 + "@rollup/rollup-linux-x64-gnu": 4.18.0 + "@rollup/rollup-linux-x64-musl": 4.18.0 + "@rollup/rollup-win32-arm64-msvc": 4.18.0 + "@rollup/rollup-win32-ia32-msvc": 4.18.0 + "@rollup/rollup-win32-x64-msvc": 4.18.0 fsevents: 2.3.3 dev: false @@ -5961,13 +5691,6 @@ packages: } dev: true - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - } - dev: false - /sass-formatter@0.7.9: resolution: { @@ -5977,10 +5700,10 @@ packages: suf-log: 2.5.3 dev: true - /sax@1.3.0: + /sax@1.4.1: resolution: { - integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== } /section-matter@1.0.0: @@ -6002,67 +5725,46 @@ packages: hasBin: true dev: false - /semver@7.6.0: + /semver@7.6.2: resolution: { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== } engines: { node: ">=10" } hasBin: true - dependencies: - lru-cache: 6.0.0 dev: false - /sharp@0.32.6: + /sharp@0.33.4: resolution: { - integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== + integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q== } - engines: { node: ">=14.15.0" } + engines: { libvips: ">=8.15.2", node: ^18.17.0 || ^20.3.0 || >=21.0.0 } requiresBuild: true dependencies: color: 4.2.3 - detect-libc: 2.0.2 - node-addon-api: 6.1.0 - prebuild-install: 7.1.1 - semver: 7.6.0 - simple-get: 4.0.1 - tar-fs: 3.0.5 - tunnel-agent: 0.6.0 - dev: false - optional: true - - /sharp@0.33.2: - resolution: - { - integrity: sha512-WlYOPyyPDiiM07j/UO+E720ju6gtNtHjEGg5vovUk1Lgxyjm2LFO+37Nt/UI3MMh2l6hxTWQWi7qk3cXJTutcQ== - } - engines: { libvips: ">=8.15.1", node: ^18.17.0 || ^20.3.0 || >=21.0.0 } - requiresBuild: true - dependencies: - color: 4.2.3 - detect-libc: 2.0.2 - semver: 7.6.0 + detect-libc: 2.0.3 + semver: 7.6.2 optionalDependencies: - "@img/sharp-darwin-arm64": 0.33.2 - "@img/sharp-darwin-x64": 0.33.2 - "@img/sharp-libvips-darwin-arm64": 1.0.1 - "@img/sharp-libvips-darwin-x64": 1.0.1 - "@img/sharp-libvips-linux-arm": 1.0.1 - "@img/sharp-libvips-linux-arm64": 1.0.1 - "@img/sharp-libvips-linux-s390x": 1.0.1 - "@img/sharp-libvips-linux-x64": 1.0.1 - "@img/sharp-libvips-linuxmusl-arm64": 1.0.1 - "@img/sharp-libvips-linuxmusl-x64": 1.0.1 - "@img/sharp-linux-arm": 0.33.2 - "@img/sharp-linux-arm64": 0.33.2 - "@img/sharp-linux-s390x": 0.33.2 - "@img/sharp-linux-x64": 0.33.2 - "@img/sharp-linuxmusl-arm64": 0.33.2 - "@img/sharp-linuxmusl-x64": 0.33.2 - "@img/sharp-wasm32": 0.33.2 - "@img/sharp-win32-ia32": 0.33.2 - "@img/sharp-win32-x64": 0.33.2 + "@img/sharp-darwin-arm64": 0.33.4 + "@img/sharp-darwin-x64": 0.33.4 + "@img/sharp-libvips-darwin-arm64": 1.0.2 + "@img/sharp-libvips-darwin-x64": 1.0.2 + "@img/sharp-libvips-linux-arm": 1.0.2 + "@img/sharp-libvips-linux-arm64": 1.0.2 + "@img/sharp-libvips-linux-s390x": 1.0.2 + "@img/sharp-libvips-linux-x64": 1.0.2 + "@img/sharp-libvips-linuxmusl-arm64": 1.0.2 + "@img/sharp-libvips-linuxmusl-x64": 1.0.2 + "@img/sharp-linux-arm": 0.33.4 + "@img/sharp-linux-arm64": 0.33.4 + "@img/sharp-linux-s390x": 0.33.4 + "@img/sharp-linux-x64": 0.33.4 + "@img/sharp-linuxmusl-arm64": 0.33.4 + "@img/sharp-linuxmusl-x64": 0.33.4 + "@img/sharp-wasm32": 0.33.4 + "@img/sharp-win32-ia32": 0.33.4 + "@img/sharp-win32-x64": 0.33.4 dev: false /shebang-command@2.0.0: @@ -6081,29 +5783,13 @@ packages: } engines: { node: ">=8" } - /shikiji-core@0.9.19: + /shiki@1.6.4: resolution: { - integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw== - } - dev: false - - /shikiji@0.8.7: - resolution: - { - integrity: sha512-j5usxwI0yHkDTHOuhuSJl9+wT5CNYeYO82dJMSJBlJ/NYT5SIebGcPoL6y9QOyH15wGrJC4LOP2nz5k8mUDGRQ== + integrity: sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg== } dependencies: - hast-util-to-html: 9.0.0 - dev: false - - /shikiji@0.9.19: - resolution: - { - integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg== - } - dependencies: - shikiji-core: 0.9.19 + "@shikijs/core": 1.6.4 dev: false /signal-exit@3.0.7: @@ -6121,28 +5807,6 @@ packages: engines: { node: ">=14" } dev: false - /simple-concat@1.0.1: - resolution: - { - integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - } - requiresBuild: true - dev: false - optional: true - - /simple-get@4.0.1: - resolution: - { - integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== - } - requiresBuild: true - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - dev: false - optional: true - /simple-swizzle@0.2.2: resolution: { @@ -6159,10 +5823,10 @@ packages: } dev: false - /sitemap@7.1.1: + /sitemap@7.1.2: resolution: { - integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw== } engines: { node: ">=12.0.0", npm: ">=5.6.0" } hasBin: true @@ -6170,13 +5834,13 @@ packages: "@types/node": 17.0.45 "@types/sax": 1.2.7 arg: 5.0.2 - sax: 1.3.0 + sax: 1.4.1 dev: false - /source-map-js@1.0.2: + /source-map-js@1.2.0: resolution: { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== } engines: { node: ">=0.10.0" } dev: false @@ -6203,29 +5867,20 @@ packages: } dev: false - /stdin-discarder@0.1.0: + /stdin-discarder@0.2.2: resolution: { - integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ== + integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - bl: 5.1.0 + engines: { node: ">=18" } dev: false - /streamx@2.16.1: + /stream-replace-string@2.0.0: resolution: { - integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== + integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w== } - requiresBuild: true - dependencies: - fast-fifo: 1.3.2 - queue-tick: 1.0.1 - optionalDependencies: - bare-events: 2.2.0 dev: false - optional: true /string-width@4.2.3: resolution: @@ -6251,18 +5906,6 @@ packages: strip-ansi: 7.1.0 dev: false - /string-width@6.1.0: - resolution: - { - integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ== - } - engines: { node: ">=16" } - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 10.3.0 - strip-ansi: 7.1.0 - dev: false - /string-width@7.1.0: resolution: { @@ -6275,19 +5918,10 @@ packages: strip-ansi: 7.1.0 dev: false - /string_decoder@1.3.0: + /stringify-entities@4.0.4: resolution: { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - } - dependencies: - safe-buffer: 5.2.1 - dev: false - - /stringify-entities@4.0.3: - resolution: - { - integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== + integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== } dependencies: character-entities-html4: 2.1.0 @@ -6337,16 +5971,6 @@ packages: engines: { node: ">=12" } dev: false - /strip-json-comments@2.0.1: - resolution: - { - integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - } - engines: { node: ">=0.10.0" } - requiresBuild: true - dev: false - optional: true - /strip-json-comments@3.1.1: resolution: { @@ -6371,13 +5995,13 @@ packages: inline-style-parser: 0.1.1 dev: false - /style-to-object@1.0.5: + /style-to-object@1.0.6: resolution: { - integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ== + integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA== } dependencies: - inline-style-parser: 0.2.2 + inline-style-parser: 0.2.3 dev: false /suf-log@2.5.3: @@ -6425,67 +6049,9 @@ packages: engines: { node: ^14.18.0 || >=16.0.0 } dependencies: "@pkgr/core": 0.1.1 - tslib: 2.6.2 + tslib: 2.6.3 dev: true - /tar-fs@2.1.1: - resolution: - { - integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - } - requiresBuild: true - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - dev: false - optional: true - - /tar-fs@3.0.5: - resolution: - { - integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg== - } - requiresBuild: true - dependencies: - pump: 3.0.0 - tar-stream: 3.1.7 - optionalDependencies: - bare-fs: 2.1.5 - bare-path: 2.1.0 - dev: false - optional: true - - /tar-stream@2.2.0: - resolution: - { - integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - } - engines: { node: ">=6" } - requiresBuild: true - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - optional: true - - /tar-stream@3.1.7: - resolution: - { - integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== - } - requiresBuild: true - dependencies: - b4a: 1.6.6 - fast-fifo: 1.3.2 - streamx: 2.16.1 - dev: false - optional: true - /text-table@0.2.0: resolution: { @@ -6525,10 +6091,10 @@ packages: } dev: false - /tsconfck@3.0.2: + /tsconfck@3.1.0: resolution: { - integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q== + integrity: sha512-CMjc5zMnyAjcS9sPLytrbFmj89st2g+JYtY/c02ug4Q+CZaAtCgbyviI0n1YvjZE/pzoc6FbNsINS13DOL1B9w== } engines: { node: ^18 || >=20 } hasBin: true @@ -6539,23 +6105,12 @@ packages: optional: true dev: false - /tslib@2.6.2: + /tslib@2.6.3: resolution: { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== } - /tunnel-agent@0.6.0: - resolution: - { - integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - } - requiresBuild: true - dependencies: - safe-buffer: 5.2.1 - dev: false - optional: true - /type-check@0.4.0: resolution: { @@ -6619,6 +6174,16 @@ packages: vfile: 6.0.1 dev: false + /unist-util-find-after@5.0.0: + resolution: + { + integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== + } + dependencies: + "@types/unist": 3.0.2 + unist-util-is: 6.0.0 + dev: false + /unist-util-is@5.2.1: resolution: { @@ -6647,6 +6212,16 @@ packages: array-iterate: 2.0.1 dev: false + /unist-util-modify-children@4.0.0: + resolution: + { + integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw== + } + dependencies: + "@types/unist": 3.0.2 + array-iterate: 2.0.1 + dev: false + /unist-util-position-from-estree@2.0.0: resolution: { @@ -6656,15 +6231,6 @@ packages: "@types/unist": 3.0.2 dev: false - /unist-util-position@4.0.4: - resolution: - { - integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== - } - dependencies: - "@types/unist": 2.0.10 - dev: false - /unist-util-position@5.0.0: resolution: { @@ -6684,17 +6250,6 @@ packages: unist-util-visit: 5.0.0 dev: false - /unist-util-remove@4.0.0: - resolution: - { - integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg== - } - dependencies: - "@types/unist": 3.0.2 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 - dev: false - /unist-util-stringify-position@3.0.3: resolution: { @@ -6722,6 +6277,15 @@ packages: "@types/unist": 2.0.10 dev: false + /unist-util-visit-children@3.0.0: + resolution: + { + integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA== + } + dependencies: + "@types/unist": 3.0.2 + dev: false + /unist-util-visit-parents@5.1.3: resolution: { @@ -6764,18 +6328,18 @@ packages: unist-util-visit-parents: 6.0.1 dev: false - /update-browserslist-db@1.0.13(browserslist@4.23.0): + /update-browserslist-db@1.0.16(browserslist@4.23.1): resolution: { - integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== } hasBin: true peerDependencies: browserslist: ">= 4.21.0" dependencies: - browserslist: 4.23.0 + browserslist: 4.23.1 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 dev: false /uri-js@4.4.1: @@ -6794,16 +6358,6 @@ packages: } dev: false - /vfile-location@4.1.0: - resolution: - { - integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== - } - dependencies: - "@types/unist": 2.0.10 - vfile: 5.3.7 - dev: false - /vfile-location@5.0.2: resolution: { @@ -6857,10 +6411,10 @@ packages: vfile-message: 4.0.2 dev: false - /vite@5.1.3: + /vite@5.3.0: resolution: { - integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew== + integrity: sha512-hA6vAVK977NyW1Qw+fLvqSo7xDPej7von7C3DwwqPRmnnnK36XEBC/J3j1V5lP8fbt7y0TgTKJbpNGSwM+Bdeg== } engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true @@ -6888,14 +6442,14 @@ packages: terser: optional: true dependencies: - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 + esbuild: 0.21.5 + postcss: 8.4.38 + rollup: 4.18.0 optionalDependencies: fsevents: 2.3.3 dev: false - /vitefu@0.2.5(vite@5.1.3): + /vitefu@0.2.5(vite@5.3.0): resolution: { integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q== @@ -6906,7 +6460,7 @@ packages: vite: optional: true dependencies: - vite: 5.1.3 + vite: 5.3.0 dev: false /web-namespaces@2.0.1: @@ -6935,10 +6489,10 @@ packages: path-exists: 4.0.0 dev: false - /which-pm@2.1.1: + /which-pm@2.2.0: resolution: { - integrity: sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ== + integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw== } engines: { node: ">=8.15" } dependencies: @@ -6966,6 +6520,14 @@ packages: string-width: 5.1.2 dev: false + /word-wrap@1.2.5: + resolution: + { + integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + } + engines: { node: ">=0.10.0" } + dev: true + /wrap-ansi@8.1.0: resolution: { @@ -6983,6 +6545,7 @@ packages: { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + dev: true /xml-js@1.6.11: resolution: @@ -6991,7 +6554,7 @@ packages: } hasBin: true dependencies: - sax: 1.3.0 + sax: 1.4.1 dev: true /yallist@3.1.1: @@ -7001,13 +6564,6 @@ packages: } dev: false - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - } - dev: false - /yargs-parser@21.1.1: resolution: { @@ -7031,10 +6587,21 @@ packages: engines: { node: ">=12.20" } dev: false - /zod@3.22.4: + /zod-to-json-schema@3.23.0(zod@3.23.8): resolution: { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== + integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag== + } + peerDependencies: + zod: ^3.23.3 + dependencies: + zod: 3.23.8 + dev: false + + /zod@3.23.8: + resolution: + { + integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== } dev: false diff --git a/docs/src/content/docs/guides/troubleshooting.md b/docs/src/content/docs/guides/troubleshooting.md new file mode 100644 index 00000000..77ca1796 --- /dev/null +++ b/docs/src/content/docs/guides/troubleshooting.md @@ -0,0 +1,19 @@ +--- +title: Troubleshooting +description: A guide to troubleshooting common issues with mods +--- + +## My slide reels aren't updating when I change them + +Certain images (such as slide reels) get modified by New Horizons before usage, to save on resources NH will cache +the modified version of these images on the file system to be recalled later for easier access. If you are changing +an image you'll need to clear the cache located in the `SlideReelsCache` folder of your mod's directory to see changes. To do this simply delete the folder and restart the game. + +## My planet is flying away at light speed and also I have anglerfish + +Be sure to disable `hasFluidDetector` (previous had to enable `invulnerableToSun`). The anglerfish have fluid volumes in their mouths for killing you +which interact poorly with the fluid detector and can mess up the movement of the planet. + +## My Nomai text isn't updating + +Either clear the .nhcache files or enable Debug mode to always regenerate the text cache. \ No newline at end of file