From 5cfa71787e6e9937cc515a08dc48dc2b19802255 Mon Sep 17 00:00:00 2001 From: solareon <769465+solareon@users.noreply.github.com> Date: Sat, 22 Jun 2024 17:23:50 +0200 Subject: [PATCH 01/34] feat(ui): initial UI redesign more ui stuff rewrite progress rework group icons --- .editorconfig | 5 + README.md | 224 ++++++++++++++++++++++++-- web/.gitignore | 21 +++ web/dist/.gitkeep | 1 + web/dist/assets/index-b237b9f1.css | 1 + web/dist/assets/index-d0b56479.js | 40 +++++ web/dist/icon.svg | 10 ++ web/dist/index.html | 21 +++ web/dist/screenshot-dark.png | Bin 0 -> 32253 bytes web/dist/screenshot-light.png | Bin 0 -> 32340 bytes web/index.html | 19 +++ web/package.json | 36 +++++ web/postcss.config.js | 6 + web/public/.gitkeep | 1 + web/public/icon.svg | 10 ++ web/public/screenshot-dark.png | Bin 0 -> 32253 bytes web/public/screenshot-light.png | Bin 0 -> 32340 bytes web/src/App.css | 119 ++++++++++++++ web/src/App.tsx | 124 ++++++++++++++ web/src/components/CreateGroup.tsx | 94 +++++++++++ web/src/components/DataHandler.tsx | 16 ++ web/src/components/GroupDashboard.tsx | 173 ++++++++++++++++++++ web/src/components/GroupJob.tsx | 54 +++++++ web/src/components/GroupList.tsx | 7 + web/src/components/Header.tsx | 16 ++ web/src/components/JoinGroup.tsx | 89 ++++++++++ web/src/components/PlayerList.tsx | 69 ++++++++ web/src/components/Tooltip.tsx | 22 +++ web/src/hooks/useNuiEvent.ts | 49 ++++++ web/src/index.css | 8 + web/src/index.tsx | 26 +++ web/src/storage/GroupJobStepStore.ts | 16 ++ web/src/storage/GroupStore.ts | 44 +++++ web/src/storage/PlayerDataStore.ts | 20 +++ web/src/types/Group.ts | 11 ++ web/src/types/GroupJobStep.ts | 5 + web/src/types/Member.ts | 5 + web/src/utils/misc.ts | 6 + web/tailwind.config.js | 28 ++++ web/tsconfig.json | 27 ++++ web/vite.config.ts | 24 +++ 41 files changed, 1433 insertions(+), 14 deletions(-) create mode 100644 web/.gitignore create mode 100644 web/dist/.gitkeep create mode 100644 web/dist/assets/index-b237b9f1.css create mode 100644 web/dist/assets/index-d0b56479.js create mode 100644 web/dist/icon.svg create mode 100644 web/dist/index.html create mode 100644 web/dist/screenshot-dark.png create mode 100644 web/dist/screenshot-light.png create mode 100644 web/index.html create mode 100644 web/package.json create mode 100644 web/postcss.config.js create mode 100644 web/public/.gitkeep create mode 100644 web/public/icon.svg create mode 100644 web/public/screenshot-dark.png create mode 100644 web/public/screenshot-light.png create mode 100644 web/src/App.css create mode 100644 web/src/App.tsx create mode 100644 web/src/components/CreateGroup.tsx create mode 100644 web/src/components/DataHandler.tsx create mode 100644 web/src/components/GroupDashboard.tsx create mode 100644 web/src/components/GroupJob.tsx create mode 100644 web/src/components/GroupList.tsx create mode 100644 web/src/components/Header.tsx create mode 100644 web/src/components/JoinGroup.tsx create mode 100644 web/src/components/PlayerList.tsx create mode 100644 web/src/components/Tooltip.tsx create mode 100644 web/src/hooks/useNuiEvent.ts create mode 100644 web/src/index.css create mode 100644 web/src/index.tsx create mode 100644 web/src/storage/GroupJobStepStore.ts create mode 100644 web/src/storage/GroupStore.ts create mode 100644 web/src/storage/PlayerDataStore.ts create mode 100644 web/src/types/Group.ts create mode 100644 web/src/types/GroupJobStep.ts create mode 100644 web/src/types/Member.ts create mode 100644 web/src/utils/misc.ts create mode 100644 web/tailwind.config.js create mode 100644 web/tsconfig.json create mode 100644 web/vite.config.ts diff --git a/.editorconfig b/.editorconfig index 9c97eb2..463c03f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,4 +6,9 @@ insert_final_newline = false indent_style = space charset = utf-8 trim_trailing_whitespace = true +indent_size = 2 +indent_style = space + +[*.lua] indent_size = 4 +indent_style = space \ No newline at end of file diff --git a/README.md b/README.md index 7fde35b..176efd6 100644 --- a/README.md +++ b/README.md @@ -18,66 +18,262 @@ Download the [release version](https://github.com/solareon/slrn_groups/release) # Exports (server side only) -Both `export.slrn_groups` and `exports['qb-phone']` are supported. +Both `exports.slrn_groups` and `exports['qb-phone']` are supported. + +# Utility Exports + +## NotifyGroup + +This export is used to notify the entire group about specific objectives or events. These are typically ox_lib notifications + +### PARAMETERS +- groupID (string): The identifier of the group. +- message (string): The message to be sent to the group. +- notifyType (string): The type of notification. + +### USAGE ```lua copy -exports.slrn_groups:NotifyGroup(groupID, msg, type) +local group = exports.slrn_groups:GetGroupByMembers(source) +exports.slrn_groups:NotifyGroup(groupID, 'A message', 'success') ``` +## pNotifyGroup + +This export is used to notify the entire group about a specific objective, utilizing the built-in LB-Phone notification type. + +### PARAMETERS +- group (string): The identifier of the group. +- header (string): The header/title of the notification. +- msg (string): The detailed message for the notification. + +### USAGE + ```lua copy +local group = exports.slrn_groups:GetGroupByMembers(source) +local header = "Garbage Job" +local message = "Head to the location marked and pick up trash!" exports.slrn_groups:pNotifyGroup(groupID, header, msg) ``` +## CreateBlipForGroup + +An export to make blips that sync across group members. + +Find all the FiveM related blip data you will need for this here: +https://docs.fivem.net/docs/game-references/blips/ + +### PARAMETERS +- group (string): The identifier of the group. +- name (string): The name/identifier for the blip. +- data (table): The data table containing blip details. + +### USAGE +Do not copy paste this as the blip table might be broken only this as a reference + ```lua copy -exports.slrn_groups:CreateBlipForGroup(groupID, name, data) +local group = exports.slrn_groups:GetGroupByMembers(src) +local blip = { + -- NOTE YOU CAN ONLY USE ONE OF ENTITY NETID RADIUS AS THEY ALL DO THE SAME + -- Picking none of these 3 will make it a normal blip by default + entity = 9421, -- Use this if you have an entity spawned server side + netId = 9421, -- Use this if you have a entity server side and you have the netId + radius = 200, -- How big do you want the radius of the blip to be + + coords = vector4(231, 244, 92, 1.41) -- Just the coords for the blip + color = 49, -- just a red colour + alpha = 255, -- This makes the blip kinda see through if u lower it + sprite = 57, -- Just a circle icon, + scale = 0.7, -- How big do u want the blip to be? + label = "Garbage Route", -- The label for the blip + + -- Route stuff -- + route = true, -- Will set a route for the job (Note a route is not a waypoint they cant remove it) + routeColor = 49, -- just a red to finish off the routeColor +} +exports.slrn_groups:CreateBlipForGroup(group, "Garbage", blip) ``` +## RemoveBlipForGroup + +An export to remove blips across all group members + +### PARAMETERS +- group (string): The identifier of the group. +- name (string): The name/identifier for the blip to be removed. + +### USAGE + ```lua copy -exports.slrn_groups:RemoveBlipForGroup(groupID, name) +local group = exports['qb-phone']:GetGroupByMembers(src) +exports.slrn_groups:RemoveBlipForGroup(group, "Garbage") ``` +## GetGroupByMembers + +An export to get the players current group. If the player has no group it will return nil. + +### PARAMETERS +- src (number): The source ID of the player. + +### USAGE ```lua copy -exports.slrn_groups:GetGroupByMembers(src) +local group = exports.slrn_groups:GetGroupByMembers(src) +print(group) -- Will either print the group ID or print nil. ``` +## getGroupMembers + +An export to get all the group members source ID + +### PARAMETERS +- group (string): The identifier of the group. + +### USAGE ```lua copy -exports.slrn_groups:getGroupMembers(groupID) +local group = exports.slrn_groups:GetGroupByMembers(src) +local members = exports.slrn_groups:getGroupMembers(groupID) +print(json.encode(members)) -- Will print the table for the group members ``` +## getGroupSize + +An export to ge the current group size.\ +This can be used if u want players to be a specific number to start a job. + +### PARAMETERS +- group (string): The identifier of the group. + +### USAGE ```lua copy -exports.slrn_groups:getGroupSize(groupID) +local group = exports.slrn_groups:GetGroupByMembers(src) +local size = exports.slrn_groups:getGroupSize(groupID) +print(size) -- Will print how many people are in the group ``` +## GetGroupLeader +An export to get the current groups leader.\ +This can be used to make sure only the group leader can start a job. + +### PARAMETERS +- group (string): The identifier of the group. + +### USAGE ```lua copy -exports.slrn_groups:GetGroupLeader(groupID) +local group = exports.slrn_groups:GetGroupByMembers(src) +local leader = exports.slrn_groups:GetGroupLeader(group) +print(leader) -- Will print the group leader source ID ``` +## DestroyGroup + +An export to destroy a group. + +### PARAMETERS +- group (string): The identifier of the group. + +### USAGE ```lua copy +local group = exports.slrn_groups:GetGroupByMembers(src) exports.slrn_groups:DestroyGroup(groupID) ``` +## isGroupLeader + +An export to check if a player is the group leader + +### PARAMETERS +- src (number): The source ID of the player. +- group (string): The identifier of the group. + +### USAGE ```lua copy -exports.slrn_groups:isGroupLeader(src, groupID) +local group = exports.slrn_groups:GetGroupByMembers(src) +local leader = exports.slrn_groups:isGroupLeader(src, group) +print(leader) -- Will print true if the source ID is the group leader ``` +## isGroupTemp + +An export to return if a group was created temporarily + +### PARAMETERS +- group (string): The identifier of the group. + +### USAGE ```lua copy -exports.slrn_groups:setJobStatus(groupID, status, stages) +exports.slrn_groups:isGroupTemp(groupID) ``` +## CreateGroup + +An export to create a group by a calling resource + +### PARAMETERS +- src (number): The identifier of the player source. +- name (string): The group name +- password (string): The group password (optional) + +### RETURNS +- groupId (number): id of the group for later use + +### USAGE ```lua copy -exports.slrn_groups:getJobStatus(groupID) +exports.slrn_groups:CreateGroup(src, name, password) ``` +# Job Status + +All exports used to modify or get the group current job statuses, you need to use this to AVOID groups doing 2 jobs at the same time etc. + +## setJobStatus + +An export to set the groups job to something specific. + +### PARAMETERS +- group (string): The identifier of the group. +- status (string): The name/identifier of the job status. +- stages (table): A table containing stages for the job. + +### USAGE ```lua copy -exports.slrn_groups:resetJobStatus(groupID) +local group = exports.slrn_groups:GetGroupByMembers(src) +local Stages = { + [1] = {name = "Head to the area located on your GPS", isDone = false , id = 1}, + [2] = {name = "Find the vehicle I emailed you!", isDone = false , id = 2}, + [3] = {name = "Head to the scrapping location marked on your GPS!", isDone = false , id = 3}, + [4] = {name = "Dissasemble the vehicle for parts!", isDone = false , id = 4}, + [5] = {name = "Break down the rest of the car to get rid of the evidence!", isDone = false , id = 4}, + [6] = {name = "Get out of there before you get seen!", isDone = false , id = 5}, +} +exports.slrn_groups:setJobStatus(group, status, stages) ``` +## getJobStatus + +An export to get the current job the group is doing + +### PARAMETERS +- group (string): The identifier of the group. + +### USAGE ```lua copy -exports.slrn_groups:isGroupTemp(groupID) +local group = exports.slrn_groups:GetGroupByMembers(src) +local job = exports.slrn_groups:getJobStatus(group) +print(job) -- If you followed above step it will print Chop Shop ``` +## resetJobStatus + +An export to reset the current groups job status to be WAITING. + +### PARAMETERS +- group (string): The identifier of the group. + +### USAGE ```lua copy -exports.slrn_groups:CreateGroup(src, name, password) +local group = exports.slrn_groups:GetGroupByMembers(src) +exports.slrn_groups:resetJobStatus(group) ``` # Copyright diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..fa6be17 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,21 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-lock.yaml diff --git a/web/dist/.gitkeep b/web/dist/.gitkeep new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/web/dist/.gitkeep @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/web/dist/assets/index-b237b9f1.css b/web/dist/assets/index-b237b9f1.css new file mode 100644 index 0000000..efbd77e --- /dev/null +++ b/web/dist/assets/index-b237b9f1.css @@ -0,0 +1 @@ +*{margin:0;padding:0;box-sizing:border-box}.app{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background-color:var(--background-primary);font-family:Poppins,sans-serif}.app-wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem}.header,.button-wrapper{display:flex;flex-direction:column;text-align:center;gap:.2rem}.button-wrapper{gap:1rem}.title{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.subtitle{font-size:1rem;font-weight:400;color:var(--text-secondary)}button{width:14rem;height:3.25rem;background-color:var(--background-highlight);color:var(--text-primary);border:none;border-radius:.3rem;font-size:.8rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .25s ease-in-out;user-select:none}button:hover{filter:brightness(.8)}input{width:14rem;height:3.25rem;background-color:var(--background-highlight);color:var(--text-primary);border:none;border-radius:.3rem;padding:0 1rem;font-size:.8rem;font-weight:600;transition:all .25s ease-in-out;outline:none}.dev-wrapper{position:absolute;bottom:0;top:0;left:0;right:0;margin:auto;width:29rem;height:58.5rem}:root{--background-primary: #f5f5f5;--background-highlight: rgb(220, 220, 220);--text-primary: #000000;--text-secondary: #8e8e93}[data-theme=dark]{--background-primary: #000000;--background-highlight: rgb(20, 20, 20);--text-primary: #f2f2f7;--text-secondary: #6f6f6f}html,body{margin:0;padding:0;box-sizing:border-box;visibility:hidden} diff --git a/web/dist/assets/index-d0b56479.js b/web/dist/assets/index-d0b56479.js new file mode 100644 index 0000000..cc3b826 --- /dev/null +++ b/web/dist/assets/index-d0b56479.js @@ -0,0 +1,40 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();function lc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Lr={},oc={get exports(){return Lr},set exports(e){Lr=e}},tl={},Le={},ic={get exports(){return Le},set exports(e){Le=e}},T={};/** + * @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 Gn=Symbol.for("react.element"),uc=Symbol.for("react.portal"),sc=Symbol.for("react.fragment"),ac=Symbol.for("react.strict_mode"),cc=Symbol.for("react.profiler"),fc=Symbol.for("react.provider"),dc=Symbol.for("react.context"),pc=Symbol.for("react.forward_ref"),mc=Symbol.for("react.suspense"),vc=Symbol.for("react.memo"),hc=Symbol.for("react.lazy"),Ui=Symbol.iterator;function yc(e){return e===null||typeof e!="object"?null:(e=Ui&&e[Ui]||e["@@iterator"],typeof e=="function"?e:null)}var Gu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Xu=Object.assign,Zu={};function ln(e,t,n){this.props=e,this.context=t,this.refs=Zu,this.updater=n||Gu}ln.prototype.isReactComponent={};ln.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")};ln.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Ju(){}Ju.prototype=ln.prototype;function Ho(e,t,n){this.props=e,this.context=t,this.refs=Zu,this.updater=n||Gu}var Wo=Ho.prototype=new Ju;Wo.constructor=Ho;Xu(Wo,ln.prototype);Wo.isPureReactComponent=!0;var $i=Array.isArray,qu=Object.prototype.hasOwnProperty,Qo={current:null},bu={key:!0,ref:!0,__self:!0,__source:!0};function es(e,t,n){var r,l={},o=null,i=null;if(t!=null)for(r in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(o=""+t.key),t)qu.call(t,r)&&!bu.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(u===1)l.children=n;else if(1>>1,G=C[H];if(0>>1;Hl(wl,z))ytl(er,wl)?(C[H]=er,C[yt]=z,H=yt):(C[H]=wl,C[ht]=z,H=ht);else if(ytl(er,z))C[H]=er,C[yt]=z,H=yt;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,u=i.now();e.unstable_now=function(){return i.now()-u}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,S=!1,M=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=n(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,t(s,P);else break;P=n(c)}}function h(C){if(S=!1,d(C),!w)if(n(s)!==null)w=!0,yl(E);else{var P=n(c);P!==null&&gl(h,P.startTime-C)}}function E(C,P){w=!1,S&&(S=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=n(s);m!==null&&(!(m.expirationTime>P)||C&&!Ne());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var G=H(m.expirationTime<=P);P=e.unstable_now(),typeof G=="function"?m.callback=G:m===n(s)&&r(s),d(P)}else r(s);m=n(s)}if(m!==null)var bn=!0;else{var ht=n(c);ht!==null&&gl(h,ht.startTime-P),bn=!1}return bn}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,L=-1;function Ne(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,t(c,C),n(s)===null&&C===n(c)&&(S?(f(N),N=-1):S=!0,gl(h,z-H))):(C.sortIndex=G,t(s,C),w||g||(w=!0,yl(E))),C},e.unstable_shouldYield=Ne,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(ns);(function(e){e.exports=ns})(Lc);/** + * @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 rs=Le,ye=Xl;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Zl=Object.prototype.hasOwnProperty,Rc=/^[: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]*$/,Vi={},Bi={};function Oc(e){return Zl.call(Bi,e)?!0:Zl.call(Vi,e)?!1:Rc.test(e)?Bi[e]=!0:(Vi[e]=!0,!1)}function Mc(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Dc(e,t,n,r){if(t===null||typeof t>"u"||Mc(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.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 se(e,t,n,r,l,o,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new se(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];b[t]=new se(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new se(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new se(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){b[e]=new se(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new se(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new se(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new se(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new se(e,5,!1,e.toLowerCase(),null,!1,!1)});var Yo=/[\-:]([a-z])/g;function Go(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(Yo,Go);b[t]=new se(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(Yo,Go);b[t]=new se(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(Yo,Go);b[t]=new se(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new se(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new se("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new se(e,1,!1,e.toLowerCase(),null,!0,!0)});function Xo(e,t,n,r){var l=b.hasOwnProperty(t)?b[t]:null;(l!==null?l.type!==0:r||!(2u||l[i]!==o[u]){var s=` +`+l[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{Cl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?gn(e):""}function Ic(e){switch(e.tag){case 5:return gn(e.type);case 16:return gn("Lazy");case 13:return gn("Suspense");case 19:return gn("SuspenseList");case 0:case 2:case 15:return e=_l(e.type,!1),e;case 11:return e=_l(e.type.render,!1),e;case 1:return e=_l(e.type,!0),e;default:return""}}function eo(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 Dt:return"Fragment";case Mt:return"Portal";case Jl:return"Profiler";case Zo:return"StrictMode";case ql:return"Suspense";case bl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case is:return(e.displayName||"Context")+".Consumer";case os:return(e._context.displayName||"Context")+".Provider";case Jo:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case qo:return t=e.displayName||null,t!==null?t:eo(e.type)||"Memo";case Je:t=e._payload,e=e._init;try{return eo(e(t))}catch{}}return null}function Fc(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 eo(t);case 8:return t===Zo?"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 ft(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ss(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function jc(e){var t=ss(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function rr(e){e._valueTracker||(e._valueTracker=jc(e))}function as(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ss(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Rr(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 to(e,t){var n=t.checked;return A({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Wi(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=ft(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function cs(e,t){t=t.checked,t!=null&&Xo(e,"checked",t,!1)}function no(e,t){cs(e,t);var n=ft(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ro(e,t.type,n):t.hasOwnProperty("defaultValue")&&ro(e,t.type,ft(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Qi(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ro(e,t,n){(t!=="number"||Rr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var wn=Array.isArray;function Qt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function On(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var En={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},Uc=["Webkit","ms","Moz","O"];Object.keys(En).forEach(function(e){Uc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),En[t]=En[e]})});function ms(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||En.hasOwnProperty(e)&&En[e]?(""+t).trim():t+"px"}function vs(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=ms(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var $c=A({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 io(e,t){if(t){if($c[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(y(62))}}function uo(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 so=null;function bo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ao=null,Kt=null,Yt=null;function Gi(e){if(e=Jn(e)){if(typeof ao!="function")throw Error(y(280));var t=e.stateNode;t&&(t=il(t),ao(e.stateNode,e.type,t))}}function hs(e){Kt?Yt?Yt.push(e):Yt=[e]:Kt=e}function ys(){if(Kt){var e=Kt,t=Yt;if(Yt=Kt=null,Gi(e),t)for(e=0;e>>=0,e===0?32:31-(Zc(e)/Jc|0)|0}var or=64,ir=4194304;function Sn(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 Ir(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,i=n&268435455;if(i!==0){var u=i&~l;u!==0?r=Sn(u):(o&=i,o!==0&&(r=Sn(o)))}else i=n&~l,i!==0?r=Sn(i):o!==0&&(r=Sn(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,o=t&-t,l>=o||l===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Xn(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function tf(e,t){var n=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 r=e.eventTimes;for(e=e.expirationTimes;0=_n),ru=String.fromCharCode(32),lu=!1;function js(e,t){switch(e){case"keyup":return Lf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Us(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var It=!1;function Of(e,t){switch(e){case"compositionend":return Us(t);case"keypress":return t.which!==32?null:(lu=!0,ru);case"textInput":return e=t.data,e===ru&&lu?null:e;default:return null}}function Mf(e,t){if(It)return e==="compositionend"||!ui&&js(e,t)?(e=Is(),kr=li=tt=null,It=!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:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=su(n)}}function Bs(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Bs(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Hs(){for(var e=window,t=Rr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Rr(e.document)}return t}function si(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 Bf(e){var t=Hs(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Bs(n.ownerDocument.documentElement,n)){if(r!==null&&si(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=au(n,o);var i=au(n,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ft=null,ho=null,Nn=null,yo=!1;function cu(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;yo||Ft==null||Ft!==Rr(r)||(r=Ft,"selectionStart"in r&&si(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Nn&&Un(Nn,r)||(Nn=r,r=Ur(ho,"onSelect"),0$t||(e.current=Co[$t],Co[$t]=null,$t--)}function D(e,t){$t++,Co[$t]=e.current,e.current=t}var dt={},le=mt(dt),fe=mt(!1),xt=dt;function qt(e,t){var n=e.type.contextTypes;if(!n)return dt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in n)l[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function de(e){return e=e.childContextTypes,e!=null}function Ar(){F(fe),F(le)}function yu(e,t,n){if(le.current!==dt)throw Error(y(168));D(le,t),D(fe,n)}function qs(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(y(108,Fc(e)||"Unknown",l));return A({},n,r)}function Vr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||dt,xt=le.current,D(le,e),D(fe,fe.current),!0}function gu(e,t,n){var r=e.stateNode;if(!r)throw Error(y(169));n?(e=qs(e,t,xt),r.__reactInternalMemoizedMergedChildContext=e,F(fe),F(le),D(le,e)):F(fe),D(fe,n)}var Ve=null,ul=!1,Ul=!1;function bs(e){Ve===null?Ve=[e]:Ve.push(e)}function ed(e){ul=!0,bs(e)}function vt(){if(!Ul&&Ve!==null){Ul=!0;var e=0,t=O;try{var n=Ve;for(O=1;e>=i,l-=i,Be=1<<32-Oe(t)+l|n<N?(B=x,x=null):B=x.sibling;var L=p(f,x,d[N],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&t(f,x),a=o(L,a,N),_===null?E=L:_.sibling=L,_=L,x=B}if(N===d.length)return n(f,x),j&>(f,N),E;if(x===null){for(;NN?(B=x,x=null):B=x.sibling;var Ne=p(f,x,L.value,h);if(Ne===null){x===null&&(x=B);break}e&&x&&Ne.alternate===null&&t(f,x),a=o(Ne,a,N),_===null?E=Ne:_.sibling=Ne,_=Ne,x=B}if(L.done)return n(f,x),j&>(f,N),E;if(x===null){for(;!L.done;N++,L=d.next())L=m(f,L.value,h),L!==null&&(a=o(L,a,N),_===null?E=L:_.sibling=L,_=L);return j&>(f,N),E}for(x=r(f,x);!L.done;N++,L=d.next())L=g(x,f,N,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?N:L.key),a=o(L,a,N),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(sn){return t(f,sn)}),j&>(f,N),E}function M(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===Dt&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Dt){if(_.tag===7){n(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Je&&xu(E)===_.type){n(f,_.sibling),a=l(_,d.props),a.ref=vn(f,_,d),a.return=f,f=a;break e}n(f,_);break}else t(f,_);_=_.sibling}d.type===Dt?(a=_t(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=Tr(d.type,d.key,d.props,null,f.mode,h),h.ref=vn(f,a,d),h.return=f,f=h)}return i(f);case Mt:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{n(f,a);break}else t(f,a);a=a.sibling}a=Kl(d,f.mode,h),a.return=f,f=a}return i(f);case Je:return _=d._init,M(f,a,_(d._payload),h)}if(wn(d))return w(f,a,d,h);if(cn(d))return S(f,a,d,h);pr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(f,a.sibling),a=l(a,d),a.return=f,f=a):(n(f,a),a=Ql(d,f.mode,h),a.return=f,f=a),i(f)):n(f,a)}return M}var en=ua(!0),sa=ua(!1),qn={},$e=mt(qn),Bn=mt(qn),Hn=mt(qn);function Et(e){if(e===qn)throw Error(y(174));return e}function yi(e,t){switch(D(Hn,t),D(Bn,e),D($e,qn),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:oo(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=oo(t,e)}F($e),D($e,t)}function tn(){F($e),F(Bn),F(Hn)}function aa(e){Et(Hn.current);var t=Et($e.current),n=oo(t,e.type);t!==n&&(D(Bn,e),D($e,n))}function gi(e){Bn.current===e&&(F($e),F(Bn))}var U=mt(0);function Yr(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)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 $l=[];function wi(){for(var e=0;e<$l.length;e++)$l[e]._workInProgressVersionPrimary=null;$l.length=0}var _r=Xe.ReactCurrentDispatcher,Al=Xe.ReactCurrentBatchConfig,Pt=0,$=null,K=null,X=null,Gr=!1,Pn=!1,Wn=0,nd=0;function ee(){throw Error(y(321))}function Si(e,t){if(t===null)return!1;for(var n=0;nn?n:4,e(!0);var r=Al.transition;Al.transition={};try{e(!1),t()}finally{O=n,Al.transition=r}}function xa(){return xe().memoizedState}function ld(e,t,n){var r=at(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Na(e))Pa(t,n);else if(n=ra(e,t,n,r),n!==null){var l=ie();Me(n,e,r,l),za(n,t,r)}}function od(e,t,n){var r=at(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Na(e))Pa(t,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,u=o(i,n);if(l.hasEagerState=!0,l.eagerState=u,De(u,i)){var s=t.interleaved;s===null?(l.next=l,vi(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=ra(e,t,l,r),n!==null&&(l=ie(),Me(n,e,r,l),za(n,t,r))}}function Na(e){var t=e.alternate;return e===$||t!==null&&t===$}function Pa(e,t){Pn=Gr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function za(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ti(e,n)}}var Xr={readContext:_e,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},id={readContext:_e,useCallback:function(e,t){return Fe().memoizedState=[e,t===void 0?null:t],e},useContext:_e,useEffect:Pu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,xr(4194308,4,Sa.bind(null,t,e),n)},useLayoutEffect:function(e,t){return xr(4194308,4,e,t)},useInsertionEffect:function(e,t){return xr(4,2,e,t)},useMemo:function(e,t){var n=Fe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Fe();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ld.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var t=Fe();return e={current:e},t.memoizedState=e},useState:Nu,useDebugValue:_i,useDeferredValue:function(e){return Fe().memoizedState=e},useTransition:function(){var e=Nu(!1),t=e[0];return e=rd.bind(null,e[1]),Fe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=$,l=Fe();if(j){if(n===void 0)throw Error(y(407));n=n()}else{if(n=t(),Z===null)throw Error(y(349));Pt&30||da(r,t,n)}l.memoizedState=n;var o={value:n,getSnapshot:t};return l.queue=o,Pu(ma.bind(null,r,o,e),[e]),r.flags|=2048,Kn(9,pa.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Fe(),t=Z.identifierPrefix;if(j){var n=He,r=Be;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Wn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[je]=t,e[Vn]=r,ja(e,t,!1,!1),t.stateNode=e;e:{switch(i=uo(n,r),n){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lrn&&(t.flags|=128,r=!0,hn(o,!1),t.lanes=4194304)}else{if(!r)if(e=Yr(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),hn(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!j)return te(t),null}else 2*W()-o.renderingStartTime>rn&&n!==1073741824&&(t.flags|=128,r=!0,hn(o,!1),t.lanes=4194304);o.isBackwards?(i.sibling=t.child,t.child=i):(n=o.last,n!==null?n.sibling=i:t.child=i,o.last=i)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=W(),t.sibling=null,n=U.current,D(U,r?n&1|2:n&1),t):(te(t),null);case 22:case 23:return Li(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?me&1073741824&&(te(t),t.subtreeFlags&6&&(t.flags|=8192)):te(t),null;case 24:return null;case 25:return null}throw Error(y(156,t.tag))}function md(e,t){switch(ci(t),t.tag){case 1:return de(t.type)&&Ar(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return tn(),F(fe),F(le),wi(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return gi(t),null;case 13:if(F(U),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(y(340));bt()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return F(U),null;case 4:return tn(),null;case 10:return mi(t.type._context),null;case 22:case 23:return Li(),null;case 24:return null;default:return null}}var vr=!1,re=!1,vd=typeof WeakSet=="function"?WeakSet:Set,k=null;function Ht(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){V(e,t,r)}else n.current=null}function Io(e,t,n){try{n()}catch(r){V(e,t,r)}}var Fu=!1;function hd(e,t){if(go=Fr,e=Hs(),si(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var i=0,u=-1,s=-1,c=0,v=0,m=e,p=null;t:for(;;){for(var g;m!==n||l!==0&&m.nodeType!==3||(u=i+l),m!==o||r!==0&&m.nodeType!==3||(s=i+r),m.nodeType===3&&(i+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break t;if(p===n&&++c===l&&(u=i),p===o&&++v===r&&(s=i),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(wo={focusedElem:e,selectionRange:n},Fr=!1,k=t;k!==null;)if(t=k,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,k=e;else for(;k!==null;){t=k;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var S=w.memoizedProps,M=w.memoizedState,f=t.stateNode,a=f.getSnapshotBeforeUpdate(t.elementType===t.type?S:ze(t.type,S),M);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(t,t.return,h)}if(e=t.sibling,e!==null){e.return=t.return,k=e;break}k=t.return}return w=Fu,Fu=!1,w}function zn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Io(t,n,o)}l=l.next}while(l!==r)}}function cl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Fo(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Aa(e){var t=e.alternate;t!==null&&(e.alternate=null,Aa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[je],delete t[Vn],delete t[Eo],delete t[qf],delete t[bf])),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 Va(e){return e.tag===5||e.tag===3||e.tag===4}function ju(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Va(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 jo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=$r));else if(r!==4&&(e=e.child,e!==null))for(jo(e,t,n),e=e.sibling;e!==null;)jo(e,t,n),e=e.sibling}function Uo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Uo(e,t,n),e=e.sibling;e!==null;)Uo(e,t,n),e=e.sibling}var J=null,Te=!1;function Ze(e,t,n){for(n=n.child;n!==null;)Ba(e,t,n),n=n.sibling}function Ba(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(nl,n)}catch{}switch(n.tag){case 5:re||Ht(n,t);case 6:var r=J,l=Te;J=null,Ze(e,t,n),J=r,Te=l,J!==null&&(Te?(e=J,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):J.removeChild(n.stateNode));break;case 18:J!==null&&(Te?(e=J,n=n.stateNode,e.nodeType===8?jl(e.parentNode,n):e.nodeType===1&&jl(e,n),Fn(e)):jl(J,n.stateNode));break;case 4:r=J,l=Te,J=n.stateNode.containerInfo,Te=!0,Ze(e,t,n),J=r,Te=l;break;case 0:case 11:case 14:case 15:if(!re&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&Io(n,t,i),l=l.next}while(l!==r)}Ze(e,t,n);break;case 1:if(!re&&(Ht(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){V(n,t,u)}Ze(e,t,n);break;case 21:Ze(e,t,n);break;case 22:n.mode&1?(re=(r=re)||n.memoizedState!==null,Ze(e,t,n),re=r):Ze(e,t,n);break;default:Ze(e,t,n)}}function Uu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new vd),t.forEach(function(r){var l=xd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Pe(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=i),r&=~o}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*gd(r/1960))-r,10e?16:e,nt===null)var r=!1;else{if(e=nt,nt=null,qr=0,R&6)throw Error(y(331));var l=R;for(R|=4,k=e.current;k!==null;){var o=k,i=o.child;if(k.flags&16){var u=o.deletions;if(u!==null){for(var s=0;sW()-zi?Ct(e,0):Pi|=n),pe(e,t)}function Za(e,t){t===0&&(e.mode&1?(t=ir,ir<<=1,!(ir&130023424)&&(ir=4194304)):t=1);var n=ie();e=Ye(e,t),e!==null&&(Xn(e,t,n),pe(e,n))}function _d(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Za(e,n)}function xd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(t),Za(e,n)}var Ja;Ja=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||fe.current)ce=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ce=!1,dd(e,t,n);ce=!!(e.flags&131072)}else ce=!1,j&&t.flags&1048576&&ea(t,Hr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Nr(e,t),e=t.pendingProps;var l=qt(t,le.current);Xt(t,n),l=ki(null,t,r,e,l,n);var o=Ei();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,de(r)?(o=!0,Vr(t)):o=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,hi(t),l.updater=sl,t.stateNode=l,l._reactInternals=t,zo(t,r,e,n),t=Ro(null,t,r,!0,o,n)):(t.tag=0,j&&o&&ai(t),oe(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Nr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Pd(r),e=ze(r,e),l){case 0:t=Lo(null,t,r,e,n);break e;case 1:t=Mu(null,t,r,e,n);break e;case 11:t=Ru(null,t,r,e,n);break e;case 14:t=Ou(null,t,r,ze(r.type,e),n);break e}throw Error(y(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Lo(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Mu(e,t,r,l,n);case 3:e:{if(Da(t),e===null)throw Error(y(387));r=t.pendingProps,o=t.memoizedState,l=o.element,la(e,t),Kr(t,r,null,n);var i=t.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){l=nn(Error(y(423)),t),t=Du(e,t,r,n,l);break e}else if(r!==l){l=nn(Error(y(424)),t),t=Du(e,t,r,n,l);break e}else for(ve=it(t.stateNode.containerInfo.firstChild),he=t,j=!0,Re=null,n=sa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(bt(),r===l){t=Ge(e,t,n);break e}oe(e,t,r,n)}t=t.child}return t;case 5:return aa(t),e===null&&xo(t),r=t.type,l=t.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,So(r,l)?i=null:o!==null&&So(r,o)&&(t.flags|=32),Ma(e,t),oe(e,t,i,n),t.child;case 6:return e===null&&xo(t),null;case 13:return Ia(e,t,n);case 4:return yi(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=en(t,null,r,n):oe(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Ru(e,t,r,l,n);case 7:return oe(e,t,t.pendingProps,n),t.child;case 8:return oe(e,t,t.pendingProps.children,n),t.child;case 12:return oe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,i=l.value,D(Wr,r._currentValue),r._currentValue=i,o!==null)if(De(o.value,i)){if(o.children===l.children&&!fe.current){t=Ge(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var u=o.dependencies;if(u!==null){i=o.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=We(-1,n&-n),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),No(o.return,n,t),u.lanes|=n;break}s=s.next}}else if(o.tag===10)i=o.type===t.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(y(341));i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),No(i,n,t),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===t){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}oe(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Xt(t,n),l=_e(l),r=r(l),t.flags|=1,oe(e,t,r,n),t.child;case 14:return r=t.type,l=ze(r,t.pendingProps),l=ze(r.type,l),Ou(e,t,r,l,n);case 15:return Ra(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Nr(e,t),t.tag=1,de(r)?(e=!0,Vr(t)):e=!1,Xt(t,n),ia(t,r,l),zo(t,r,l,n),Ro(null,t,r,!0,e,n);case 19:return Fa(e,t,n);case 22:return Oa(e,t,n)}throw Error(y(156,t.tag))};function qa(e,t){return _s(e,t)}function Nd(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ee(e,t,n,r){return new Nd(e,t,n,r)}function Oi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Pd(e){if(typeof e=="function")return Oi(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Jo)return 11;if(e===qo)return 14}return 2}function ct(e,t){var n=e.alternate;return n===null?(n=Ee(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Tr(e,t,n,r,l,o){var i=2;if(r=e,typeof e=="function")Oi(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Dt:return _t(n.children,l,o,t);case Zo:i=8,l|=8;break;case Jl:return e=Ee(12,n,t,l|2),e.elementType=Jl,e.lanes=o,e;case ql:return e=Ee(13,n,t,l),e.elementType=ql,e.lanes=o,e;case bl:return e=Ee(19,n,t,l),e.elementType=bl,e.lanes=o,e;case us:return dl(n,l,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case os:i=10;break e;case is:i=9;break e;case Jo:i=11;break e;case qo:i=14;break e;case Je:i=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return t=Ee(i,n,t,l),t.elementType=e,t.type=r,t.lanes=o,t}function _t(e,t,n,r){return e=Ee(7,e,r,t),e.lanes=n,e}function dl(e,t,n,r){return e=Ee(22,e,r,t),e.elementType=us,e.lanes=n,e.stateNode={isHidden:!1},e}function Ql(e,t,n){return e=Ee(6,e,null,t),e.lanes=n,e}function Kl(e,t,n){return t=Ee(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zd(e,t,n,r,l){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=Nl(0),this.expirationTimes=Nl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Nl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Mi(e,t,n,r,l,o,i,u,s){return e=new zd(e,t,n,u,s),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Ee(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hi(o),e}function Td(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}t(),e.exports=ge})(Tc);var Ku=Gl;Yl.createRoot=Ku.createRoot,Yl.hydrateRoot=Ku.hydrateRoot;const nc=!(window!=null&&window.invokeNative),Dd=()=>{const[e,t]=Le.useState("light"),[n,r]=Le.useState("N"),[l,o]=Le.useState("Notification text"),i=Le.useRef(null),{setPopUp:u,setContextMenu:s,selectGIF:c,selectGallery:v,selectEmoji:m,fetchNui:p,sendNotification:g,getSettings:w,onSettingsChange:S,colorPicker:M,useCamera:f}=window;return Le.useEffect(()=>{if(nc){document.getElementsByTagName("html")[0].style.visibility="visible",document.getElementsByTagName("body")[0].style.visibility="visible";return}else w().then(a=>t(a.display.theme)),S(a=>t(a.display.theme));p("getDirection").then(a=>r(a)),window.addEventListener("message",a=>{var d;((d=a.data)==null?void 0:d.type)==="updateDirection"&&r(a.data.direction)})},[]),Le.useEffect(()=>{l===""&&o("Notification text")},[l]),ne(Id,{children:ne("div",{className:"app",ref:i,"data-theme":e,children:kl("div",{className:"app-wrapper",children:[kl("div",{className:"header",children:[ne("div",{className:"title",children:"Custom App Template"}),ne("div",{className:"subtitle",children:"React TS"}),ne("a",{className:"subtitle",children:n})]}),kl("div",{className:"button-wrapper",children:[ne("button",{id:"button",onClick:()=>{u({title:"Popup Menu",description:"Confirm your choice",buttons:[{title:"Cancel",color:"red",cb:()=>{console.log("Cancel")}},{title:"Confirm",color:"blue",cb:()=>{console.log("Confirm")}}]})},children:"Popup Menu"}),ne("button",{id:"context",onClick:()=>{s({title:"Context menu",buttons:[{title:"Phone Notification",color:"blue",cb:()=>{g({title:l})}},{title:"GTA Notification",color:"red",cb:()=>{p("drawNotification",{message:l})}}]})},children:"Context menu"}),ne("button",{id:"gif",onClick:()=>{c(a=>{u({title:"Selected GIF",attachment:{src:a},buttons:[{title:"OK"}]})})},children:"Gif Selector"}),ne("button",{id:"gallery",onClick:()=>{v({includeVideos:!0,includeImages:!0,cb:a=>{u({title:"Selected media",attachment:a,buttons:[{title:"OK"}]})}})},children:"Gallery Selector"}),ne("button",{id:"emoji",onClick:()=>{m(a=>{u({title:"Selected emoji",description:a,buttons:[{title:"OK"}]})})},children:"Emoji Selector"}),ne("button",{id:"colorpicker",onClick:()=>{M(a=>{u({title:"Selected color",description:a,buttons:[{title:"OK"}]})})},children:"Color Picker"}),ne("button",{id:"camreacomponent",onClick:()=>{f(a=>{u({title:"Media taken",attachment:{src:a},buttons:[{title:"OK"}]})},{default:{type:"Photo",flash:!1,camera:"rear"},permissions:{toggleFlash:!0,flipCamera:!0,takePhoto:!0,takeVideo:!0,takeLandscapePhoto:!0}})},children:"Camera Component"}),ne("input",{placeholder:"Notification text",onChange:a=>o(a.target.value)})]})]})})})},Id=({children:e})=>nc?ne("div",{className:"dev-wrapper",children:e}):e;const Yu=!(window!=null&&window.invokeNative),Fd=Yl.createRoot(document.getElementById("root"));if(window.name===""||Yu){const e=()=>{Fd.render(ne(Ec.StrictMode,{children:ne(Dd,{})}))};Yu?e():window.addEventListener("message",t=>{t.data==="componentsLoaded"&&e()})} diff --git a/web/dist/icon.svg b/web/dist/icon.svg new file mode 100644 index 0000000..1b8880f --- /dev/null +++ b/web/dist/icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/web/dist/index.html b/web/dist/index.html new file mode 100644 index 0000000..27a3ca6 --- /dev/null +++ b/web/dist/index.html @@ -0,0 +1,21 @@ + + + + + + + + LB Phone | App Template - React TS + + + + + + + + + +
+ + + diff --git a/web/dist/screenshot-dark.png b/web/dist/screenshot-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3387f61e2b07f139fe7a857d98534e087a4723 GIT binary patch literal 32253 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 literal 0 HcmV?d00001 diff --git a/web/dist/screenshot-light.png b/web/dist/screenshot-light.png new file mode 100644 index 0000000000000000000000000000000000000000..c93ceaba34727fa5584000f00b3da4820c9127a9 GIT binary patch literal 32340 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 literal 0 HcmV?d00001 diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..97f6cf0 --- /dev/null +++ b/web/index.html @@ -0,0 +1,19 @@ + + + + + + + + SLRN Groups + + + + + + + +
+ + + diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..e92b524 --- /dev/null +++ b/web/package.json @@ -0,0 +1,36 @@ +{ + "name": "lb-phone-app-template-react", + "version": "2.0.0", + "private": true, + "homepage": "./", + "dependencies": { + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.2", + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "@vitejs/plugin-react": "^4.3.1", + "clsx": "^2.1.1", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "vite": "^5.3.1", + "zustand": "^4.5.2" + }, + "scripts": { + "start": "vite", + "dev": "vite dev", + "build": "vite build", + "serve": "vite preview" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "devDependencies": { + "autoprefixer": "^10.4.19", + "postcss": "^8.4.38", + "tailwindcss": "^3.4.4" + } +} diff --git a/web/postcss.config.js b/web/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/web/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/web/public/.gitkeep b/web/public/.gitkeep new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/web/public/.gitkeep @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/web/public/icon.svg b/web/public/icon.svg new file mode 100644 index 0000000..1b8880f --- /dev/null +++ b/web/public/icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/web/public/screenshot-dark.png b/web/public/screenshot-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3387f61e2b07f139fe7a857d98534e087a4723 GIT binary patch literal 32253 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 literal 0 HcmV?d00001 diff --git a/web/public/screenshot-light.png b/web/public/screenshot-light.png new file mode 100644 index 0000000000000000000000000000000000000000..c93ceaba34727fa5584000f00b3da4820c9127a9 GIT binary patch literal 32340 zcmeFZXH-+$+b@csAPS-jwsecof| zkFl|_@!q|2%Z!bU-I$H-h~QC9@EN3@iW>Nf`_Ua+C>z^x0oI>GY}vWzz$Xtu&Ghxy zDh7lX!9Nar=o;&?u~jD>-+yp~jSaDQ_m-~3lS3=`-yO#`g5syCV}~{w=Ewlmb4) zhaX|f9t9*-0%OmuhOne=PK_Y%U%kQ3Uw(}An6nHBrrMH%;LjS=)lc3kf!>R_MpPG|2ODI84=KQ4a|BbKSJ z_T$k_*hmiHcj;=#RZYl~pU+6MDW?UOpnX5$b zpC_}OrQDuUY4a#2=8O*WUB|=Cj~-fO`#(jQ1&3zj`C`N-j*-K#Exl4sv|h!H2n*-x zu;G+^3&KuAW7=8t?zbbE8k@?Wh25$`2W4Z08eZ4-BpxHZ(5k zxc4}!30z0IV(j8GIe5V_0YkIqB?6s5JwJ08dQthabldb1Ir)X0t1{7Fbk-yJesd0q z_lmOZu488xFoY1kz~ne;-whv5Q+!PFD$cWV)_)8hXf~UGyRK)HL2+*2i>&s^0@u0q z5im;~9PzSUcB9fj)(({Zurfx}( zLoUP}Tk&N6l4JfII_Ae!;t=sm0Og5{m{UU8LN@3mCnkw9-q>ERxxfC!P2tG^G=C&$ zJ0H2X=%y}T#4S0C34I`YTR&7Td}X7r=HL*~@dRwoFxwD07~JF+zDXeL@Mi{|S#wF! z8h4)6Dp8w<_G(23e&Y=S1hj)V# z9Yq-n`Wa(beQsmK?j5 z@w!}y@LHpEyd#A$5T5H-TrS@q1gQ+_LC`QxB2U8EM^KDO6mJ_t3+&F+W#n#L#Hana z0OnlkbRE_)JgpJUSncz*auq7|J&-EBx)GV2d+Q;aP^#pIS% zwugB-_bP(@s57z8>{M&7&Z=DgG?VC4>cFiphgdWe&tQli%tWM~ZCm)W-_KSIGpGGZ z!N}GcTV$Nmdy`MgBAugv+dcX9^}bG#aA8ZU)f#J%PJB4~J{NrT! zuNu=$dT&~ba-&<8bPnBDjxb~RWp8`A7!nH3r>cjp*euUxyoaWX;?a7i;>{9MM5#mY zm}Ng%UE<ymBIAT)|m@R zvZ&wlwSVP4PM*!jgu=T*Q=MpOP7(*(P6w8qU5!X1rf;JJV>Dt@Ey8@@#`4D+aywl$ zV?RG4okTH}H#))pPZ=2PyxXaWYM9cD$_$42GZTDlw(5eStVky*!1FG?EPZkIIfQ}}{r0Md< z5*TZtYTS&o$e(A6Qf+i7uacA*J;WV9;y6$Dk5(8o>*b`s`D_BC)Vi%SHGP%Dy_Z*d!w$UYu`n0nle6+WF z*33S8xj`A@>z$5(W9H`CaWAQR`*-f_fuc0iGvkGHT9{6){MN&@-XJ+TSP&;NwZFgO zp@XYC+s41X18VNvYog1&T`%m|;JYO4soxGwJ*|HyC}VMVy+>%_g;d40fN&hnJ?%Xi zY%&T|hYC#zSRm8#$r2v9k8f{=4`g;fiQ0!UKv51+pUZT~u3WTP@Y`FmMo(?sKLFR@ zvKh(_*{c(%V^ZV}YJLP_WJom_St_qItR14!ldpP3mGUiWD+mPYDnUk}= zwGbQZ2ETl<@a@*ZJ0EeRs9ciY-qfux_3hx4j`X@u{t%}^T6P57!q**9q7e*i1fJS# zDBJX2I;KwQtmBgho8jo%>4v!Y!Di5L#J^w@Z+VuczQC9=Moo=1Hl4+iOyRxzaS^+5 zVle$EgYl8rWHP;-EG3@%NDsDM<^*Y9ez>{j`zKAdF2fcG7FXZbfedP%8qa>pktJ1qv ze5g~?Vo?s~!2S)KU+*6AfJs$5=q|Ial%3BHUvqVSQLMdPl2V*4)?K)zAv#l@{uXW* zMO)vUNlHr)67@qSrhe-RN4VqOEhl{Yv#?~iH%$s72TFW;z+O>6wsa%`NnceWkb6v# zfld1qOq^`WEyBR#jnrbzLfA*Eb{nOcm&4oXk2W>Xn;QLWl=8`<1R*t5UFl&p#B}6H z*L~O6sd-R5!IHt*jhziU?EGW#}lrrj7s2$=!P1enneV%RTHyt)4JFfx}C?cR)RvkrZ_ zdy%%@cE!xAG__;>$Gmo^BR$@HgN6mWh2n$W@#!a)Tt^&$vzuDcw3c<0HYu|?5S*hp zq3Mzx+tZ9o-YS$sco}T_sQ0|NoteO!gnV$BBf%u5;Jet#@^h0Vw5C8(Y0Yw}xG6k2 zZ0RdWLI6#63?aa<;^|p7s-R3Xo+WQ*$&e}O%GGMiJ zbAU7*%_pmIxxh=v@TkEN@v*mB)E~92yWiyeU&A{UAYqGzBXj6(!Bc|Q^WB_wYBE$f zY8%HZTGs4N+*o)sN8L~9Q?CD`)2%;9Ok_P~ds&BgxZrype|Cs}r_AaWQ74COn`l`$ z*YF(k;y=wsCOZ0B6u%S+VNay72a8_NBAxE{eL>pc?h! zoPV0!@#e5f@2P1r-R}(8?;Ikx8)~TfiWC=`cusZh5F-xU9foxdHg(j97I_Bdy)A+{ zTP`{~F1XqFXddl|pU0hSc5ngcIWlptoG8fxY1#fQ4g_jDHBIzjLlm{I{C&05-oM$+ z_d|WiYM$E{tca{e(wd!>Nzmtn#ER@sD|RBN-GjZU&IGraPF{fnpCq+^?~iZ|qZE(2yX#k;_9`Qa_bY zG$UxkR6}yLaTZYm|499%93&PrNRLfO5N$Ne@A;OgTzZy!W4*T*D5tZk(O$3tVG(r4$q z?3@L!q%t>h5e*N&y>KTK?F;{&R-A1ryeZ*^ok`L`QpiDkbMy_xYB!B?-A-K@ef5!3 z>Cq&nW5B%Kc~u-0E(4|Xh^y)7Y&;ilR}_ydY4aCDZyBO3@);{08LTZBkT?=8rsa5N zv7~$V2OPV|0@tRANstpUMMu(Whs@0Se}9#weKBB*&`w-y)F)SWi5OQ+j zi&aB2w#A2na*Bok8NY$C{3dFm3X&|2W?4c z;uS3E=7ltHRTY(e6vUXNwF*8+@Mh`=U1{P5f96!F$zH6f#%i4eC z5^%624yBRH{v3k4dEVyjl2@ZSD%Ojm7h{zTyByWH-D|XmLNt_g6rmaEZ?Pc$A(%pRSlV z<0X3cCA;BWLhb6;W}`HP>ro^7o?XhTe*w~0o;-;MWx(1$L#{u@Zt=C@v%Ahw<$(Oz zUrHDXC(;S-&N9-sVF7bmlJcL&1z7wQerMoTuf&h4%vr50YLSAGybd75;%EjA4XJ3` znQ~8eo5-h#^o1*s?>aNjjT}BcO$Ma8SCsKxls0v`p(Lgdp7DeAXwNt^xs9uyYVZH# z%V2%G3>iMJftlB)HnDH6dYOjX!FmiGhv5ZOC_wA%(!vGY4X<$iE#+{4Z@t?~fBw(3 zfrD5cRYgTJRvW4TATA@CPy3TFK*jwM_`z_(X1sNj-yN3v;C%5q+aE^?xY^!B{g;Y_ zp1}YAW&eXj^Z(Tac~HmJae31TFig@*r~O~4%OR6)8I*qFet*B|gh))$g`rqpq27rJ z8ybr!?IXG`#ifdCE#7q-E44i0ECCq*ZX5+r@5jBta$(Tt%daR>c34NvK31w%}D|Gh1 z==dg;n&pa?GwGrQUeD=(-C9+EBKZ&CWhro@Lv8{^fiygkfv2!)38_zM z&|w%gp&CGNU^Sg|a4P-4<*Xk^-}{jAViqV(?U9YepPw){QREaY%y4t?axbfxNMN-X zi>7ijGc(UfJ%6lU^=0gBlm0#~Cq17RN{EjvkpjX)Q^5FV%68Krq5{74PV~Z)aR2b> zNUmdSdLysXj(z^~EMzn_X9Ef(B*oO7I>4%?UE=ekQ>m*Ie9U`eFkyT_!E472NSFT*?4^GlyK4}8tVfJtkHe1D~ z_q)C*Bm_`6ujRYnmRv;XHc(;(kKSO&R;?Q*odWQ8IzWPL@ckLlfVGy*0gVin@F*xy z0~UF!&8hT?;4JchK~;+;gu5XYn_p%PH1xFh3Ep4Xd~}vS_NAIsNGw&5L?;hez&1b46+Hx7ro_;1iQ87<%&QSb6dW#HFOh5 zFH#tIk4+V|bzVzJHe;>jA2!)@IC^v~u2tW^oi^vLBN{ZM+domOS^53@=eW0718;kM z@;3aqpE@xq8JMN9GI1yL1Ds}eXaqG>4f488aYrgTxg~!ycV2nMK7@#%N?_+BT*2*# z?w*^RV|CVkZH$j_IJqs9McsP=^y(9AYzaZlBJxl$-u4Y4boJ!Cl-1V3$6V@7CKshW zoRWh2;cJ+9g@#Ce2FK68Wkd|P)QfV~To8;)_3J$dBwSG^Z1pmGe1;GvG@X^S?fJHG zrrZgQ&TrQ3l(e}69lApb{h$2wOCC zy1@)M*a_%YrG^u1L(#!T7VDkj>_2xa_j@bjO%GQ_4hH<{&~`&R00227z#BsJ%ku2# z6hFVZ5hsd#;z(eL$X|8=F;<(=&b{7|WU8!p6RYB@;~Fm4wl%!*JhqU$w+RR0WvB^k zFhtH)AB_#ZteJ$SwvjJY4NhjIhZ9L_9HBF>l}UX_NMR6)br>T$T951-x|X#)Bj#;3SfVvY zlK4C-0=cOvrhRP-B8KG)H;I;IBtBl<;hCzer+2t*KyLlGDu#Nmc)c-n9lBq6u#L{H zooB&UQ`**RQ>Z$}(rQ3NxVgeY@QAS*ujY(@d*O@MrYk`G=^T>O*M3D>d1uiv*Ajkh z8Tmzsa8HbVEmmdcHJT2h48FRlLHz;EG5uP? z^Kbe*lYGEbJT<&mQG4N~swkusChGQd`797&z?NOi|>_6mfV|(zFEqb`Q?2$r$S$yN3PA6&b2fH6~-_j zUeKUwZ#;l8KF8CY&7jbM7TNDZV~JCU76YGIL@H;KwVwI;CW2Bdzbq8@M)sR-#iw5{ zN~^Nw^A@itp6;X~h*aKH{)Cmrpim?@64_p3{i^TjE37*?yU)DOT-cTz$nfgZtA3JVS%iscNTRmAug2h8VZ-u-((P7KL zjPaMneF6G)_Ts599hiHIQsVD3aTIRY+hzaWL*iU3KjbbwkmVY)>bI$S5a^7#o+bQa z-u(RVq;k>5*@%s^#z$5@yi1gXzEU{T=F#s4H|hL3yPdhvkYo02uUlVxIKHiCB6;!y zw@P{I-0HcOEcU?kJmYt%kCKnsp$(Sx3`sxvnA3djjPv?TYq91}y=w3;YN-e+zOgUk zBelK~vHEc>rF1zIfelS#RXHWumV1@qm4|ELf1L~A^sFQ-Ex`?rC~U&}3%y4J;1VyB zz&4m$Ya!?Fn4%&pz1Gjrb?i?3-WDl`W2QH@7M9e^raU>{7{s+@@Gg&A^NM9X{NaAB z4!zbrIjB-uu}Le#qGZa{-)qZUmORfDvCfs_ZIIryR9co@(SpRG)&{4d{q>x+4;_r? zFwARZ)USy|>~Gv8r{HQG(g(l3211C=_{uv+T2LNB@ho?xZ3H<|i(J6ts0}=t9K?^b z`P`)uhxy{W*5;)Ff^Tvd3Jb9MLrpu674NAhSTuVufiPcBYa_rii)(3u7PHsotsi!FNM`=>0rrSloNw4$p;)Rnq!+iNOUHw!PiRP)=&w(tI8*@`BPsL4>AQji&U&((zc=!%-$ z?GfC9{`oN^dx~Ed`GMjMLsK@WP^j1?M@?+IuxAi}Q^X z9#*3G{+NmotR3$kXVFz7%0JA{ABM6PN{-8`Kiw438Cmb)^{1YPq`_kBTDi7so1jla zxyMV>b7a3eoBNw0rfNP?2VcBCLK`f}wqcXhMUmCB*PAKYCTe!ngUjTCeY9(cCplYs=0|*=fT$67x;(nNe>mso#WfhjhqRXW$FZR%a}N-S#04!*9x&F91tlo z#NmBHWs8!>PtxvC_)5=YGNUtgZkO`Hy7eLDda{c{XC@PPS?)>#5utP_yeA7$%Mf+J z-S@J4cqZ)Rj9#y9QR9AowDtL4JbeSj-(#M}2Xu=M#~=5U^E!;8q!y<(83^j2mck2l z@1~VdN9Tooq0_6X-Q~hR=+CefF@?hC!pkDKMB$H=)*Dc8{d}2@!bBK>IR7ZDBr)GOQHfQX$X{)ETIAP7l zCo6rzFOgK18V4z9w;4shcO#e7kP^$8CG4+CmoWetc_qN~{%B66Te=A_aZiWR);d`B zMOFwx@@m`2@vYkA%5bTJ5e8=#U-$~o8B;1&ue)IjdG4-?#DO6r>`(%ucqOM<^-Y&B# z?9(>?@`}^@p5?`aFrDbm_io6KNG@zsH*(>^>;*rpLz&ZA2)lpt6@FhImZO+sX1wSv zW!E-LdhOk5w0yxzp_jQ7N`Ir&bf&j6L5M!Eog#3Y!o2f^5WYy&dMb#?JT@v%3ro_a z-@wlAAhFc4@uF9Qwx6K&pax;zAT(C0Hy!BxpH)Q7yq3~>L*{svsW;|ru;dlIu#@|y zPGFbGpQRsB`&vwespK+r3A&BNx?>TQf-{H0t#1EkFSQbKgt7@b)PCZDehP_ofFy{t?3 znFy8fPe9`GH@vcN-l~>^7CnK#j=xMX7~xOZkYRLAzJDp}(Z7WhwX`1S?Oy!qwG}2O z7(K%IdVi!S{GD~DFppgX=fsH|(v#$nX&umahc@E z^{q{o`rSXXV*rbgh%Mr&TcyI?rRdUlxC;L;r?FV(G!$e9Oj@*OUb){0zec9!dJ`(W zlVPs{?df^`5NICOyMnWgOtG77Lk(F&?`DiNoPgWA6gW~V4!=Y~{8j}kYGEt1Uju*4gLA<{y9fzI6gFqo{@qa6O5WqWGkD-l*0hHuC|chic(cOL z>1nq!z$YB1H8=8SD|R*%48K9>AZO zk(YBnQ*nDdrtbRGAN;8i13bwC#j6C`?Z7vg#*;di-VlFiWYN?cw<~n;$GA<^k7)Di zow$`XSUmUfeeN(pVh1#>g<|-4G9dQ7@E+|xuN4*O z();E#^Oah%Qj*z#Vl!Z?ob4WpgJ#B8<#+7r#1cO#Fqy8 z)8>%_>hr0n-RCIJ9b@eevk{j>wZn*^G*r(IH$y+85xurG2(2nZNhjQCa~}bSxuwp| zMMk0=>_Y9@PFpHgjHr|)d0%^ICnVCt^E2?nM&kR8R3!18S#eUtOH)$xi{c$sPq>W@ z?@20V-Mosoq$xM5P$1q}YK7L#3X1+$iSI_sb~Gx&NGYy!&+dLJkxJPoy^eP3ooAfz z6)YPQTH$|RGeBs%KfF+f%P>W*W<<_0vkoMP~B^*7G@Wbld6 zo+{dN3uGZ(BoaJc0O%He^~3w96c@|#z8MQCOVT79>l&-#`j(*E^+{JTR@uCI_U6Tx zIYV_ZB!QkIXB~ztj=L)jh>@25$;O1X@k+&ctmPkmmURM2JB;d)@aeoVJ2Gld+#7Ev zu8x}uS=GoeW?>$0JCGb$`rVlnj+KAt*)-K>yO(L8u0=fE@SEuo6YMQ?Qx<yxmP;+n+F zePflXU9kTgm_26W1Lty6BQ{IwoX&NBmMSFjL>ZyN_x7N@YevfhpXI1`pM9V@qdHzk z?7%U*z9&{n>}HX)hd)wl>6QqJuo<^ui3U!7!TELPHKz-&*4|p+_Yg<^tlTLR9$sj~ zN43=$Pc|5llB-YBf|@P(JOxJyH`ZWICQW{%|!Yx7ab=(MTld!i5T&$uTIdWn4F}r>R*{(caXoJ+jOZJgr zc|}##hFy{=!_(fcz;TzRB?BSg*E!3%7uyQZl?~J^x;6ZGJO_cc+9|zo{Hd%&Gp( z5gp_=*Eb&02hlh?Vz%_cz8j112|7S+YEKY~H$qVn(y@LI{do=(b^AR&c#$ruWjy9m zx_hPiP_SC!wDgl})SB^o>R+SJaPY5z8wi}-ZK<^vXy{B7r;wH&2$T%RiZU-$x< zfov1r>ZF4=(I>K1Z&F#3;&|_kFl-<|(2e$IanM*c6V z?(dE`YY2+Uk-msBJ)7uj;l14Ank||$g8Hgh9p>%~35azLlT{CHsxQ3Zz=(u@^r{dQ z3a^9j)S{$-OJ}aWQdOJ*l-MRVUnxBS>Bk`W$RNGaA5Rz8q4kiwOf@_^Nx121V0#93 zUow>{vs$%l$f$&qq(~{K)-rDWMj~?~aG}6dPRe@Cfh7*JLXNd?8ip?;#T5D3)iVr; z&%J>Ed{?}2!w%T##2WYh9d2WlpMINjUBLMX4FFkBIt#O6K!|j#RofKStKHwul`c}i zo&E{@rZQ5r=>8+yw!OQgLOHEAnz~Wx4K@7ME0)(|9FuypcW3LpxK_zZ3)x(Zy}OOn z!NKRrK4K;>-C7tHLSGF{O+s#^11&g5ywa4kLOfuMKX=2X0;ybFcg69?Q;&L{W81TIjlvk-S zx9#fnf{OUIyVg$4uWKA!TTM!>2Vnyn{kyq9M865rjZ|NDU0mJ{fl9cieLx$`03itv z)v+|8fc@!Pf6xQX{R9OCy_$K@Bzu$0quz1G`&!!yE!2MJ^>PL5DoRdB4OyIw7$NxjvTgBj8u%E}#2)p1?EYR+AI)*um?mP)+ zZkqazXB`_Y)(*DL3fQb?*h{&5Q%ncggpIb-c(8hlIz!JP3J{(a8iRdulA8y}_a3zU zc~Q^ipNhMm(!97u;OmC{*RyZ(A@)+~Zaf1VeDDIn@T~;mZhU0gD;`e}vF5;N0c=05 zx^>+3Rqbp($T+Gb)%xSDvnxK)&YLQua5|!9Btz`1u^OUIa6M1bT6U7l6tQHEQH$8D z?r+#i3}ru~lO{Hy`~Jo2YJ-wM*N)K6wK~N^?ve_E)YJ`Ah!bPUTAWLc3=S_>g-*i$ zA+8mtSX+>oif`0XAb2oKWjC7`nsh2pUvnPzO4ND#P4`B)7)Wgt9IZLs9*~XWg$>*DM9L}#<+w_VxYaAbu%^Ac44i& z$)*p7Dz)cCq7XaObfCzQNSQ9})g^zqscsk{xus>me)(hgPVsR`mpC)O7e+<9Bsrbo z!!P2)m(otA#cKYP^r+!YaXXV!Si@MX0S^R)jfWX@8;*JT44ymOAXC5{BA+EL;gT_Y zt@u~apccyS?^~T3+c}XpYM&SDntl`GNayMi+_Ig2SbGnL+SYp9NfghX9QSc;lGa(# z=B|e!0>j&(d^R^gMEr9dRJGnoGKcn@v%mkhtS5>tk!FlLcNP+#ErqRr=E{L(p2>MO z#r!ybMYO3fOSWKj$(N)-+RNk3c$7_d4U3MyvMlbQR>YrqXt~U)T(V>M5?ClPfQlWP zl$S*56RZ8$qW6&^sz+~l1i2*^^o4G%g`z739q?(#jKva-T+ruazV3LSR-5Ltiwxz6 zg4hB1d=yOs3vwtaIj}4{!S%L5?Qj*k_D_kFgb)(B?{wPQ*FMX7i}p9?oV81l?nvw%+%vh0j3@+-Vy z(8_z<7rBMirO16srUC7>e${q=tq#HsXo=17M-0;>AtBsGS;4IgMFMNu!2^gxFfVmV z_m`ZLX;rD@zcGX2QR8Z9k@U$LH$&QRhKRQ;Yaf}0PwDpW z`LNp9k5J-#oa|<5@rwBlo?3Fm`D6k2M1@HBN;ReOU@rh*3K1_R;nU-pIyVsii=?o6 zj;im(J*x_b$sZoyUc3t2-x!ny-g;O1t5-jhHlE38+JFfPZRMaWkU_NbWRK;~ergL0 zct|hCF=Twmjo*y0T@jjr53#po#gij32}v1&oBaol|D5{=o+CxZBk42{Ft!8sx{!F( z_dEYQF<>;b}gZrj<9^C z_GZ>#dUbVmV86}j(-?oY=7(6L7WHN7uz_h%fRgHtn!|D&q^zTKeAi~v4- zM&PG!#?qmmZ1y+774?HWgLpHJSth8o#Y=oN+i_@$g=i>EgLrIEqZWO#i}yk|0{n)I z(^6K-5G3Av)I)o-Y0jt}%zgxPMozPB>QaT}0~Bvd;Gv-3Sett-iAR48Xs799J8#Pn z1NVm%OgHL^FKFIR2)o_1+K`mNasVacF6?YkXoEWPkDJik5d90=eP&Xp%Pbnh%B&Wr zFv^^4Uyd4gwBET$n-$j?+s{`T1!=-U{xtIgCAW@R6r-P&kIjDER&rU3+BE3Zsmz#< zAl%p9sm6(qx7BDa+Y%iTHP$981AY@ac|L3WB2;0uZe;WocaadAH@Ge< z!;8&~9gXZ`!v%5LZ2=iLd?*p3&D=2kCksM4B6qzyK5@;Wp&sO|@qMbmiE@?&`>IR} zlnxS;j+TFv9a&wikI~oJBllYuyzkxoo?zleVb!W?p0ACwdL90q|4JW2V<7g3k>a2nUXO6w2B6iV?qSD(y&S`KzA)yN{T zeK?n?bEE+Hswwtr;RTJR8bKRz?kWl={KJx3SIGMeyrp+|zfCxHq zyFAv-og!fJB;?S!TVPXxT(&mx@T;JAAO{kc`c0POyV6c63LbHxL;i}3i_6Rrwx-y9spU*&uCk8<1EA~0N4`qV%GaaFz?($c^t?Lixw z5IKHCd{j6~3=jkPL+dfZ0#IL9m_T->m`i3*&mlM@@wvKcO)IytQHm~+&4@Jd*U(pG zb;A=+ON50^WoO>T3U>r0Cj3jE|7ZRUmbnTl@+l6vvyhFBM;)E(!lk1KR~D_1vCG6bN5Tb%u-opeh6_=+hi4r3Gcl7g?@)Ad@z)mJnclew~#}{qbZbVPp-uSeS9b_iG&JF&dyF z=PEAK`^Ozb=iBLPIh4?y9zDNhOKXUV{6}_;GXP^=kjViV=BQ;fljO3SojtSTJJWmm~AK(X&cdS3G}@2KoAkipvj9S zK}YZFr?DcfBk2KBro|}a-p7W5aM+9x(Ix~`tad5}xmLb@NCQy%5H@{L#Fi_YcW{{$ zxL^>2EB=ws_UPxcvnGT})yx%;YbJfH9gsZkC!16|s7+5zG1YG3j%0 z;4_!#kNs9K?vjn-j^d8#x)AE1KAU_qmOurOFp=vgTZx$;4iAXZUWs}kP0!*Tny*I| zy40~58kC+FoY1=CZ+MP1Ae4hPM}S7$#wm*iGcu~5B?}~Um%%^`Dlk0i>qYL%o0e@^ zm0eyaQ$3R?>nP`ZTuE`hU7{wXTaoCvH=L2q2cPChf#jAD4rz!1S`_)7^6F8Q%8^SZ}uq_Lx{0)@u!xG%fEir<+@4`et5_H>*a zy|M9C0MHD65mw;Wi{tZ^==ZqCH@VL&PAypq{Lb&qZ*ds{w+#pw@@hHGmF45SSX@5Z z%G|CDK)R#q$I2U|0<}r?-ArRoZ@D)2B~IfiK)@f2d^?5@{Q1zS^eSxL* z0`2R|9wC3*Lv+rl4Vm`w@bKZ0od(?`l@GtTd?O@*c!4=rY=LlpE%=%1S)|>fe=q#r zm-m$5wWj&>XTzK|4$WiPewIx=+QP~w(Y%)UV>UX17VY(wN2=sml_}c-E46y~h{}k~M_TgJVH3AV1M3VlU%hjBPCS zLLZ;>iGOR5H$=dWVDAW`lhF|mXl7pj7n9Wgf&~vO z;~jyi$IRKy!;M^FLV`j!5ArqHI6#hpL67zb6m!oR9&LrmsDBx(_(i2 z-0g%<&3{JzIJ$+|xJdS(JcxqEU)$ zlSSr#E)uILDi}4-vbD>0eH9k6C4eRGc@w}^6zF@)^I>-GRjv*TR&O+V=X1jO2J4CZ zE2!hY10?5DpZ1o@FsJl|6-a^K|2zvO0@Y5m4o=nkU;vL)TSW%IF!t{7_yus~QVPBM-k=kM!deFD!cxWze=rHa+?kRdLxH2aMciP(Fejxnc;+lO%irM!k7XW zW;2a3ph1?-fP~nZEA)hj-}+O}^6xRdW>)95@LmITSI{Y=$xfOslBoqI8d8M(KRu{< zU?P9#3jzxXRms>VSUJ}ir6@iTFg7?i{1ttQ2k#*|qx z*D9pwZ-_4L7x47$lzB?j+15AzylesJ%c$1&a!ppS=_Z-j!q=SfAjzqg9QjS(Givps zt{5-;eKmUawPBHR6-{f#V)%m-h@GcgdS`#=u8n7zaybAG^$uVPCgsw5HJ+gU-%145Nys>=(FGqPy-Qlu3*ICi+UbtZu zCbMkn&=jnK)ftN%GUhYgHsNQ6|BuZ+i#zAPH+wbwdnMiw^3)l+h|P690beel_&$Px zPMb}{-EQdwd0*VV(KFY|ww?2zet;oZb=#)J3$wzkS2<`;GO!x%-r?%oqvqmLuCGp} z$=44}A<`m=lYHFZmw?Hk0H6k4!NBd~=^`JlD1TN=eKQoY8r)^%XIj!+hYzeSA5hd- z@8HNOHPiF`+t>bawsB@&!m|k~_mkt0R~!a{G94jfR!Q#f{HD2hmHo@EJ|5EL+J+Qe zc$)X-wbGa)2ybW5h68fP<+=6SHVx}NvbGa(*`||flbtb%E0zD**CkCsD1D`_qTf;Q zDB;4Wqt7L(R@EcWA2qt!W-Qd+uAW&M8~8bTK?wTmxwxv%NQV=Uvk=(44YO6j5U+jn z$%SGKHjQNr+sf+IpC2wv=gWT&aq=sx?VBn!(>U6;%3KM74isl2P+fx|x6sb`3un1} zg;F(dY%P(QuGQ9#nkn8ij$I%w1oh-73AiYU_%J6;G*W z1$H_YS=_Pd-o!M|4f9%+*^fQfbTsxf=nzutLXD$EF^!4OwWu?V7V%4f=@wJKZScIiP)I)p5BI89GZTQ5SfkGk8 z2Fs&aUc^weyL<98<_p2;WdH*bhdqnvB~C{TRK%3vRG*Uqxy`i^q4l*fgGHBCweS)4 zyL}$oN;FFe#$4Xg0KRSrAB0~UUb|jJI5w(xu7QlB>T4{+DlKZx1isOfAM2i&n0OMI z$R+aR4Vye3oL(oJc8mYjC7peGVG@8O7C2&oBGx#)l+_2h^_W-H)e7Yo5q=X@1t0Aj zP42O$mmmJ1;xnEKkkILSUT-T87uEY<&pahbi=M~16imltUm1CCD0^CrEkD`iVPb-G z09a;Mo)lU2rC9Cf>Wyvh@T*d8MV0}fiZ zT-i$LWp!86rZrGSCH{%m1C!a76}=6d%koggqDe9V5*dzRi$h(DvO0G{8RaP^H%b82 zxatPX*UVP`na%`~aX^@P)2|m&y+%{>-yxys`Eiwu?ZGY0#2ZT=D06D)CgG5Y2j=PJ zlcC>RMEBbKqeb2kclzp(&h&d;QGZ_JT?D4-cQyHMK=Xxw2Hjc{vN}~G^SdT%l5^zz zj!-~rb?&3Txmo6%gyH8m^RLiQgg@~-OpDUI6^@_k`ox+jpH>r^9ISluO)8suq>2G7 z&F=R<5rEoWucMswx+90)r_>A$-*XDZ2j9%NJ27E($iKq7^mY@X;?N@?kC0d>VzZei z<=7-ExT0te(_zhq9GO4{4Sv3ya&c6(mC+p34AJ3M0>pKyP8P)qM&$+qLY&TOt$m%~ zl}Dfw-G7uNF%B6fOl5ERD7;T>`8*vpvA1a!cN&|uXr?w0S@1(#xgk>ya zA?aARiRET4jL;!&s;a0uGiAK)kI)c!m3Z2dxt|*1q z^1`^2)rfHDCjCvdA*@d`WVtBEztk?2eYi@&v7-TumcHx;RMtTRklHzF{OR+fPsFeH zD?e(nmegZ#nu=cwDwAmAPvt*6rJ#;qGKu=kLOIJ_@w5+mV-*KL-1n<69Adp1s8}Y) zjX!-(vY>=F0gR0-bzICjX4N2t+Xn)$Rf69V=VJ7U8=jv_Lpu6EzdHqnK=s9>E_+=( z8-4hx#X~!<^(258{~4yr2r`s$=N99>R(-GFolpoLFgqhLq-vm&5a*~d9|=RL{@4(7 zLq^Pe11`WOne$9O2nyW#`))vVHm2b^RK~I#U@&BjRD~2TVqgpEj{V!8GT90`wKSk-#eyJOEx4HhU z7N!yv)6vvd@Ee!#qd(NwKFwqkq3MJ-rML^BKNQqCrSL&*1rl^cx^hNL;T`$B<&Z<0 zhMrM>z7H?5AjiZmUiJ|h)rGiimTPbp6ZiGFgSkUrLNqe90;eJZGTiM|Fi_2d{Y{Sx zRxO`DUXUl!&n-Io6$}4mq%Loy=OvUoccW22{=c>N<>658eg9)gsZ=LvA!)NDSu#jM zv`Lmu_MK!IV`daa2#M55mSV_Gg^(r2OlC0TgfRAPW(+y9n^9!MH2QtM?sLxlyRZ9q zUC-~n?&o@*=X$R5pFd`X`I`B@U!T|Zra&KOUvM&37eVWrF<{%D9*kG4xu4ir!-{I{ z&=Wn+nMI3Zv36f)gJy)H9W~u_J+i4--n4Do?QCp3udM0R?CXjN`1bA(vROmv83Wts z2RM6aC8;F?TkA{%95ctVt1|AQ0N=4Y1wNQ^N=4+eGQ%q~58jR1GjvcGlTv|D$)fcY z4{d$Q@X*4YE8_UKo_fuuJ#6^ee!p^;yW<1Nlup6utKuKGzGj<54H^ohva5z_i`}CR zU^({pE($%w6kS#)Uc6^Und|~aen}sPMG_Ue(8f;OUT|HyPJBd=(e&5s1=R3=`|N$O zA!-nakT#Ui5E>p~Mgt{D`=q3lU|Qu*o;-m}MnF-tu`G3TuzY>h>7y`2q1fuJ(t!oa zhKSC{7F4hkz6t>lNWaYPKJO%Kgd8Y20c*9xI=WMI?o4lm-&BmQQu0&&$dWYI`DVM8BA11 zXv>;7L4?Lhu?Mrf=RoNQj})gp*Uc=!G9w87$N}A+#i`}gJ{=Q98xJe4<11Qb>aspH zcyp3OjqXl($FNt!ZMh@6+^(mQ@fXbdU4Rl$c*A2nxQy=Vaybm~4CsIwuU;Yx!=xS~{pm!DD)YRJ6A ztt}94YQXCq=jK{DKB&eZ`MoGCEpU5E{xviTb;0xAzN0(7BIAQ z&^M-K?%J!91;~10x?lHYvl68A`O2I{i_#zq(Q=__MTRMw4AOC}*OMmKpr)^>#fO5a zRkeE-LW8MD#~#5iE(>dtyJt2|?+JC$1eFL6;fBKJAeKBE>TOF%PQ%m&o;><;l*FMU z^NYuz(3bZp-yh8*RiVKUvz~t@jy)cOx#LO$4+m^KWPS#L;t+ayO@{{nJaP~dE?bI> zFxJ=8Hz$`64)>XoBFmkQh!sF{X5kBHwTl+)3UwL#En4Zow;|w2D|eS5USzG3>y_r8 zoXHQJPeUtTj<23bMXu_M3^!>5Mj&n3PU2aR)RE+&d^Ne=qee@ZDz}0qio4zzG#Db3DltJ9j&R4k2UpB&H%ccji}7({wBo#G{#K2Hpa9 zcWM+#;vnP&N91_NLm}w>K6QKvVY22g4aGp*_G%zF@U>p=6$uTjSv)WuRrx(r<(#lg zpp!I=YDv6Dn^!qJi;C#+Cf%>-04zhn#VyL6e>--+@B`0Wc90RVkl)HXs(kd+`NpI< z;z;N?;MXzy=k1Qs=q*k5H}-cQMEqJ2qelOj+!zKq*g{PYww%he!_-tFUYTl+Cw>?= zOG!mAtHL-IjlK9}_;*xUbBD{JBV!L%V-7uH2Tc^Z^MsATpm*|h$iz?v-WJPKE%;sU zxgLGEEl4Wk&cX*OS7W}4!#k4z2vZoeinmpjy)Z-E%=os{m6m75!=o>%`hL zc46nH3Zx_$DIhr9cp3I(b6 z<)QanVo-aJ6FsV2Jf5D2r1{m0ob=ppe0)GwF86too9J`*B8J#Nu(~bBgY+ec%$Rtw z1^tXxLLpr7Mt%p*LatlfH4AwLO(-iBbMK@#;HXZftk~GksQlJoQHIoZqhh67{jORQ1BqK*ki^{Zv zOUO<=lBbiaGMp~~&TYrO2fdj=Oq2m#sCv1VYe__+Wg^7;-ph-{sGpMlnk#|QA%+2J zMjq;fTMXs|&hNJZe#uKCh0N>S+uY*>lgyh*+*fvLX~?r5g3F2(MK+h&V6;4Iv`WyO z>P`?xRgWm~)vAv*THe34YnvxpA`^bJL5Ac_*6r>jig2?_V&Mkh8BIT9mRr2reI$B$ zdk}&>d;3eYVrJ7uzE2zzAP0}XS*)f5TaXbi&+b{Y`c{136Bh=(^w!C_Il>e(fc2Wj z!#l+L+Jr5?u5^i0>6x2q_!O$Cr8-)QLvN; zy_0NvjRwC-#7yQR-Km}s;v*azm#hA&DmcpS-lzUhNdqhKZ{TY4+TfQbIQZnzVJ(KKlAx4pEC(+{Vcmv@b65oe|22`y-xNoJ>oAtVx5a} z4qtDKe0U`G*_S``h$KL#BmoT_(}J?OR7wPh$1Lf?NX=?7va>t_AD6InBjhF+Ac>HS zU$q8l_kBU685_yW~WGE+~*#7UutP)*g zHQkGrC-rOGX|;cLx5J!R9tjJBw9nL8MoZ6hewO3fbk-W8h1cWh1dvifn3GTahVedt zND`MQ)5aLDcZToUz{%B8vHJ5ns52&MrN8(gNc3MGe|kmn7;yMqS_~-B1$SlOH{NWj zz0`|f_F2nZIsoTZFW+SN z<0n>Amx9Cmr2;xbh1{WIUQP&ymY)u$v2g^jz{SA_a`}wMlF$0r@oh9Bn-VwoF}__C zZ-c*uM3Th-iRRt5;*08@_%ILd;X^)euw9j0tsnujPs@HP6H5l3DOZ|79zNop~Yzl^f7w<5i~MHuwXJL`-t|1oJRERc6{$9_V1YWPP7fMu?Vp1x*b zSo!gY)QSOcxr3^J28jB>N9T#y@JI>Ii>)i;DmuHx24efBx0%HHF>^O}lQFwn&wjSF z`^i>r%a>FLB8(e=f7}~F;a4F2)M`c)vKptc19-aPGkA$6lalqg2hma1%B#o>O|V86 zvww|dzA<9$&E8suCbM^!NBbcCHeMq-ysV*X0#2dbtEAMXG;-nbPh=j4A-gfgV<^e+ zK$}ty_zmkSfkl*_KoHPxK7Tm)bhF9)rzePys$DMctd8zDx))!s;NY&AR^&hs(P}v0 z8;^c9t3kQCY`*qhzC+XD;S&_K7smY9n{mszgwL&{lvajfXQGn*+neeFKMI59H3`p2 z=^5G4-yoO3NO)b9VqdPM_!m7s83!%R)Z7ih01vH;g;`kA-Ky8RJvyJ(SoTH{2V4hfn1;3`H3=EwWL56H zGmI8~}ueO_h4N8oh1sOleo^lSyte1#9@2DFDE=ZBnMx29!J1hnN+U zt2T2HiK1RR-?|4KVDdEWd;_WOPg&@uCzT1;SGS!W3<6=E>rBPx?AuAho6W7nN7;i( zC6S4bL#BmrXBs6&zBM8|s>au#j+lx4LQxso$&(k`E|AtW)Rrm`Lb zZh0~6qt6Q*bAJ=`&iHHg|4;BD{9c^@zm5m_JFxrbJpum#7gE*?Q5NG60Jv2JXnQD7 zwsF{lMXwwO1-fZi3N-&ik|Em`6s77?fINJOwC2;nQnGOws41NPvZ5AaQhn~`gW`Pd z{t8p%01cBx#Z!W^Jl5I?H`3gL)|mcSDUVLK&f0Z0IQqQA9mi$TfH9c`)n7O5_ca<3 z(hC3hk1#-U!;4V5koN2xuBlyp>t;m5r>YFlk!mL?=w6ZO(jg7Co|+xua)3ad`JLNx zyi}n{D(sGp9BlxS914lspXq{cGCyL<33Rk^M06a4rI}ab>w1-LECqocr80{cZ#Fk| zpgL~|_%6;RU-`J#yl_Xgb*h$iA(a2tpUMKS|7>o@E%8kS9l>d(?at2Gr>dB`~) z-id0SV%FM2g3bpw$XdY>@f6<0+nO#{-S}}scZrc{ zUIO^(*znnD5vK-zv-z>Fj;l;1EK!wFVI^TWxeLI_tVw0&lVrTxWe1!OZ38{HH^>IK&KkL(P zRzE8q*as?1ZWa0;(<4w*lY0c%Cl(TtPU`|n-XIld2L_n zWpI_YT2h)?b=qs&b>?NcWei+u9bJf~M^{1EsqWAr<;+6?)5SIZ33ohhBLf*A6D#l8Jb0++LPPd?UKtX@oC88N=$OPcK z@)PO6E<)`nmQ+&T!&nI9cghD6j{%BkX;o-mU@0=Ao)$M_h_ucvWKgXceMxW5s`{h) zQdy*lYyQYe*Jj8OIq|sOkCMBfI`xGclSNN$+CbP29Fgs$h@6cXKSBNk?F5_6z+*GLi=1M+6NPu*%d;Qg~1&A1FAba-BpD)KLZwAZ;t{UysO{N(+wO2qTSeqk z7l912M~gJ z5zN^_F`~0GI&o7Ol_9l9J!QTT7&TYp1h&e6o5qtyjrts?O}Y%3cBgXvh&8OY`s z_vpNql{tllY}!Y~#@`|!gZ;EBJ90zjO6)bfGxI`83CO(P{8q-3lka!3wzZ9Ys#LBO zCj5md{zv#5|H2giw4$i<4e$%x0%vaAk=Rq$TOgajz9334yDA@)8tzk79KrB-Ng=Iv z!zbNRzDwE=0vM|filnLMFVmt?88;lnm+ql=dPCGa9$AszVAfo#?sdodI;N%H#1nW2pCkPtHCXYQ$pOsTnt zkuu*fh#MxSMk8;H#b}t2SpYY%8D*8w2Blk|QPpHE1k^9$Y#|*xk7f-sKdpk+eE{2o)?kSQKyPdUb*)l`3p!6<;3 z_H5#K2V}b7vWTX39LUswHa&aUd3HwV-FmyKbWp_bL0=|O*bU{}5=vTIoy{Lo>Zrjf zcbA?7?}3XY{%sG;hY($(`88^g$?55r69hIA3-urgPLZA93|p^2iKy zAK|*$RZvv}A-~3QNH_N_WFDn~q~m6VjnF$ImL~|65Z`ZS$A&vj$Aqr__C@*j6I?Bw`+W_19zL1#8frxoHo%t~gl zxf4t4F3@6)jyEDEs`sZ+78}HO!NW%*Ws+(LX2`KjsD13!@8{(CiC(J4eR4CZ&KwX&INwe^0xfPKcMQ{Jhd{`$8o_*w11J^h06zx z4mPt;(x}e8uS%-s80Z~{b8foAHZ;?&Vj2IXsBUa2*Hn#+=K_|R}=A~6O{QMnpzEa5C_zP^K|^b+L}-TN!UYH<`~l9)0U+0`11%?`$& zH`Jo>uo(5Xy|Mn&me=VePaRQZ2Dy1w^4kMno1eK>{0&rFp42qZj0w?dN5ns#o+b{{ z_QJQxlExyh`A^HX_IfvXFQbZ_tSpNpdnIYfHHT#CRdG1;s_yX=z0b7RVeo5@dcTY= za&k7TM0VCrf&D&9?0_HGHuGWC0)CO1ByW*mRum!vbKpqa5`kD#4D&ZnwdT;}Tgq;p z*0iV&NH<{h!c;9p=!M<0PCr)j4k5|q^b+z)H&BQq&u6eYV4%9IsnYiX6<+xc+_#8Z zdtNiGJQ9%M1S$A|*MK)o`@wU7| znZ@E@j?KOE@9OONM~wvDO_pO8hZu#-><>qMDd;7DLhpi&7!wt(ko!U+11FYS@zyZwJ*UcY()s#RA zZoPE|jR3zC@d>HlldV|cY1${%FM?~-$$v-88DD5s!em}5yw0+@9znWGN-%W~x;vMg zLP~$`K5{XbU=vJn=}_Z_S?_TPxXUrhaZ}u>v*6e~I}}x|2LVy)AgkXpe3hy=toG{4 z+di!Hwx_ISP8x}hX~%ZYyG88PUT>e_x`FXOUB~;riu|6INvQY)d)5NXvA-bvsC-6~AaeR| z&`$s2Re7<2@CJm>e zJrAu*YEo;XQmJ?036TkC=SLvJQ{jD_)(F-Ml7;}hb5k*l=M_;_ix6DT0^Qwp-mk!Z z1Eyb(v9Z6K&hgC!av^iBQfZ(<^%T_hkDrwSV#kDsydxA5y^$+R$m_N^E|w?QjDCOO zn$0TMz}Zz^Gp=Sht|Ug3oPGmycfIkO8S{6$yTVKK9-AVDg}T|Yy}SYQkr8IVhIpmu zc-&2(SC~#`URmxSgGLCMGQY~vWA(_Z%l5#^$GD%wSS_ZI?J-2>;fpf zz7pMzL$lSRQ4%uqs%FHoY}Wj6>BvbYiZwhelFOXsqU=D2HVXw3u1X3{q)F>tJ56@# zNA2sqk8{2WPOus-2)li~OUZW=7>7saL2$1LzoU~pWPigccS}(KQ}_}nD`Fn!P6I+O z{Z^KJ@>PqT`1GMM9Z#rh%LvHVr-(4<-1Wa4CM7IU1@V#Q8ia9OR`k0E&Ox}*fmZ!B&) zgV$4R>3`gag#~reL|iRIP|@;UYb2Yml*iiN`Z1S}O}q9*f@2Mf4mT8KSm>LG_ZXbh zd}W&$RVArBtX|$#d>tR|mLt6tA1f#`yVm3ne~ zUW#Iwg6V=8&0|CtSzQJTA#lYiz-hdj-QazW;-j9%@;qm{A6j4#+8k6NS$qboWpXU1 zg86`@&ZmHtH}(!dz!`-`g_nVgdI0Z667drsM;}SM+l}Sn`_k_BO2UVW@4Zaz%XoKC zD5jJy&g|?LYPSq-bdrc9^}QHoF>P(aBvt_)XU}#CwW623G`{}+x+quiX~mg4iOm7*9zk1)PGF6j6JSTxR1G+IC4 zv9T`DP@8TL9o|`J-0>^g$2ctKN3J7z6y%osfz-9J#FfO(L@#SUfnodHD#1YK20ujpO)MoThJCN1m*p%v#9;I8W*%A9#tmc ztNPAcNT%Ew7PyEJD=X%A)2anKIm2wNoRg?X9QZcel{TmpYha%y_ZV*tQn(8Wl3poO z^}}K|*IgS&nkQ-eHvx(DjAzf|$B%dYk+$jT>f-->wpH93Z~61*pd~Li&%3dIRxY@| ze+FqP z=Y_vUz6!r+@Ka84QQes7?fIp$ZqNDM{9S^u9S;F0JPY25;B#Tv!5v^VbvOV?o6Z9t z??Di)`s*S8E3V7EdA=<{XAX=7)x>gnI>YnJur&gM)%fN1{^VA-{o5Y!6|Dr-IO+=Q zJ{d9XclsCULC?k>7FN_mp=oh{Yl?(Sy&!|SlHw~^^agQVlgo32*FTsbOt0M8X8nut z`X|M@{d@D~JB|C_9Paw{*2H+n9a|V7Wl?o-OqzDapE%i#BKKb=v|{e8+CZ nTC8l^2HP?C?|km=Io&=zbv_F={T(cUhh4s4a=t|0`QHBlFYBA0 literal 0 HcmV?d00001 diff --git a/web/src/App.css b/web/src/App.css new file mode 100644 index 0000000..e1d8eae --- /dev/null +++ b/web/src/App.css @@ -0,0 +1,119 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +/* * { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +.app { + height: 100vh; + width: 100%; + + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + + background-color: var(--background-primary); + + font-family: 'Poppins', sans-serif; +} + +.app-wrapper { + width: 100%; + height: 100%; + + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 3rem; +} + +.header, +.button-wrapper { + display: flex; + flex-direction: column; + text-align: center; + gap: 0.2rem; +} + +.button-wrapper { + gap: 1rem; +} + +.title { + font-size: 1.4rem; + font-weight: 700; + + color: var(--text-primary); +} + +.subtitle { + font-size: 1rem; + font-weight: 400; + + color: var(--text-secondary); +} + +button { + width: 14rem; + height: 3.25rem; + + background-color: var(--background-highlight); + color: var(--text-primary); + + border: none; + border-radius: 0.3rem; + + font-size: 0.8rem; + font-weight: 600; + text-transform: uppercase; + + cursor: pointer; + transition: all 0.25s ease-in-out; + + user-select: none; +} + +button:hover { + filter: brightness(0.8); +} + +input { + width: 14rem; + height: 3.25rem; + + background-color: var(--background-highlight); + color: var(--text-primary); + + border: none; + border-radius: 0.3rem; + + padding: 0 1rem; + + font-size: 0.8rem; + font-weight: 600; + + transition: all 0.25s ease-in-out; + + outline: none; +} */ + +/* Do not edit, this allows you to view changes easily in your browser */ +.dev-wrapper { + position: absolute; + + bottom: 0; + top: 0; + left: 0; + right: 0; + + margin: auto; + + width: 29rem; + height: 58.5rem; +} diff --git a/web/src/App.tsx b/web/src/App.tsx new file mode 100644 index 0000000..551d5bd --- /dev/null +++ b/web/src/App.tsx @@ -0,0 +1,124 @@ +import React, { useEffect, useRef, useState } from 'react'; +import GroupDashboard from './components/GroupDashboard'; +import PlayerList from './components/PlayerList'; +import GroupJob from './components/GroupJob'; +import { GroupJobStep } from './types/GroupJobStep'; +import { Group } from './types/Group'; +import { useNuiEvent } from './hooks/useNuiEvent'; +import './App.css'; + +const devMode = !window?.['invokeNative']; + +const App = () => { + const [theme, setTheme] = useState('light'); + const appDiv = useRef(null); + + const { + setPopUp, + fetchNui, + sendNotification, + getSettings, + onSettingsChange, + } = window as any; + const [currentPage, setCurrentPage] = useState('GroupDashboard'); + + useEffect(() => { + if (devMode) { + document.getElementsByTagName('html')[0].style.visibility = 'visible'; + document.getElementsByTagName('body')[0].style.visibility = 'visible'; + return; + } else { + getSettings().then((settings: any) => setTheme(settings.display.theme)); + onSettingsChange((settings: any) => setTheme(settings.display.theme)); + } + + }, [theme]); + + useNuiEvent('startJob', () => { + setCurrentPage('GroupJob'); + }); + + useNuiEvent('sendNotification', (data: any) => { + sendNotification(data); + }); + + useNuiEvent('phoneNotification', (data: any) => { + setPopUp({ + title: data.PhoneNotify.title, + description: data.PhoneNotify.text, + buttons: [ + { + title: data.PhoneNotify.deny, + color: 'red', + cb: () => { + $.post( + 'https://slrn_groups/AnsweredNotify', + JSON.stringify({ + type: 'failure', + }) + ); + }, + }, + { + title: data.PhoneNotify.accept, + color: 'blue', + cb: () => { + $.post( + 'https://slrn_groups/AnsweredNotify', + JSON.stringify({ + type: 'success', + }) + ); + }, + }, + ], + }); + }); + + const toggleTheme = () => { + setTheme(theme === 'dark' ? 'light' : 'dark'); + console.log(theme); + }; + + return ( + + +
+ {currentPage === 'GroupDashboard' && ( + + )} + {currentPage === 'PlayerList' && ( + + )} + {currentPage === 'GroupJob' && ( + + )} +
+
+ ); +}; + +const AppProvider: React.FC = ({ children }) => { + if (devMode) { + return ( +
+ {children} +
+ ); + } else return children; +}; + +export default App; diff --git a/web/src/components/CreateGroup.tsx b/web/src/components/CreateGroup.tsx new file mode 100644 index 0000000..769809f --- /dev/null +++ b/web/src/components/CreateGroup.tsx @@ -0,0 +1,94 @@ +import React, { useState, useEffect } from 'react'; + +const CreateGroup: React.FC = ({ onSelect, onClose }) => { + const [groupName, setGroupName] = useState(''); + const [disabledReason, setDisabledReason] = useState(''); + const [password, setPassword] = useState(''); + const [verifyPassword, setVerifyPassword] = useState(''); + const [isSubmitDisabled, setIsSubmitDisabled] = useState(true); + + useEffect(() => { + let reason = ''; + if (groupName === '') { + reason = 'Group name is required'; + } else if (password === '') { + reason = 'Password is required'; + } else if (password !== verifyPassword) { + reason = 'Passwords do not match'; + } + setDisabledReason(reason); + setIsSubmitDisabled(reason !== ''); + }, [password, verifyPassword, groupName]); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + const groupData = { groupName, password }; + onSelect(groupData); + }; + + return ( +
+
+
+

Create Group

+ +
+
+
+ + setGroupName(e.target.value)} + className='w-full p-2 rounded bg-gray-700 text-white' + /> +
+
+ + setPassword(e.target.value)} + className='w-full p-2 rounded bg-gray-700 text-white' + /> +
+
+ + setVerifyPassword(e.target.value)} + className='w-full p-2 rounded bg-gray-700 text-white' + /> +
+
+ + +
+ {disabledReason ? ( +
{disabledReason}
+ ) : ( +
 
+ )} +
+
+
+ ); +}; + +export default CreateGroup; diff --git a/web/src/components/DataHandler.tsx b/web/src/components/DataHandler.tsx new file mode 100644 index 0000000..1d27ade --- /dev/null +++ b/web/src/components/DataHandler.tsx @@ -0,0 +1,16 @@ +import React from 'react'; +import { useNuiEvent } from '../hooks/useNuiEvent'; +import { usePlayerDataStore } from '../storage/PlayerDataStore'; +import { useGroupStore } from '../storage/GroupStore'; + +const DataHandler: React.FC = () => { + const { setPlayerData } = usePlayerDataStore(); + const { setGroups } = useGroupStore(); + + useNuiEvent('setPlayerData', setPlayerData); + useNuiEvent('setGroups', setGroups); + + return null; // This component doesn't render anything +}; + +export default DataHandler; diff --git a/web/src/components/GroupDashboard.tsx b/web/src/components/GroupDashboard.tsx new file mode 100644 index 0000000..0f476af --- /dev/null +++ b/web/src/components/GroupDashboard.tsx @@ -0,0 +1,173 @@ +import React, { useState } from "react"; +import CreateGroup from "./CreateGroup"; +import JoinGroup from "./JoinGroup"; +import { Group } from "../types/Group"; +import { usePlayerDataStore } from "../storage/PlayerDataStore"; +import { useGroupStore } from "../storage/GroupStore"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { + faUsers, + faList, + faTrash, + faUserGroup, + faRightFromBracket, +} from "@fortawesome/free-solid-svg-icons"; + +const GroupDashboard = ({ setCurrentPage }) => { + const { groups, setGroups } = useGroupStore(); + const { playerData } = usePlayerDataStore(); + const [showCreateGroup, setShowCreateGroup] = useState(false); + const [selectedGroup, setSelectedGroup] = useState(null); + const inGroup = groups.some((group) => + group.members.some((member) => member.Player === playerData.source) + ); + + const createGroup = (groupData) => { + console.log(groupData); + const newGroup = { + id: groups.length + 1, + status: "open", + GName: groupData.groupName, + GPass: groupData.password, + Users: 1, + leader: playerData.source, + members: [ + { + name: playerData.name, + CID: playerData.citizenId, + Player: playerData.source, + }, + ], + stage: [], + ScriptCreated: false, + }; + console.log(newGroup); + setGroups([...groups, newGroup]); + }; + + const joinGroup = (groupData) => { + console.log(groupData); + }; + + const leaveGroup = (groupData) => { + console.log(groupData); + }; + + const removeGroup = (groupData) => { + console.log(groupData); + }; + + const renderIcons = (isLeader, isMember, users) => { + return ( + <> + setCurrentPage("PlayerList")} + /> + {isLeader && ( + removeGroup(element)} + /> + )} + {isMember && !isLeader && ( + leaveGroup(element)} + /> + )} + + {users} + + ); + }; + + return ( +
+
+ {!inGroup && ( +
+
+ Create a group or join an existing group +
+ +
+ )} +
+ {Object.keys(groups).map((key) => { + const element = groups[key]; + let isLeader = element.leader === playerData.source; + let isMember = element.members.some( + (member) => member.Player === playerData.source + ); + + return ( +
{ + if (!inGroup) { + setSelectedGroup(element); + } + }} + > +
+ + {element.GName} +
+
+ <> + {isLeader || isMember ? ( +
{renderIcons(isLeader, isMember, element.Users)}
+ ) : ( + <> + + {element.Users} + + )} + +
+
+ ); + })} +
+ {showCreateGroup && ( + { + createGroup(groupData); + setShowCreateGroup(false); + }} + onClose={() => setShowCreateGroup(false)} + /> + )} + {selectedGroup && ( + { + // Handle group joining logic here + joinGroup(groupData); + setSelectedGroup(null); + }} + onClose={() => { + setSelectedGroup(null); + }} + /> + )} +
+
+ ); +}; + +export default GroupDashboard; diff --git a/web/src/components/GroupJob.tsx b/web/src/components/GroupJob.tsx new file mode 100644 index 0000000..e935bcf --- /dev/null +++ b/web/src/components/GroupJob.tsx @@ -0,0 +1,54 @@ +import React, { useState } from 'react'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faCircle } from '@fortawesome/free-solid-svg-icons'; +import { useNuiEvent } from '../hooks/useNuiEvent'; +import { GroupJobStep } from '../types/GroupJobStep'; +import { useGroupJobStepStore } from '../storage/GroupJobStepStore'; + +interface GroupJobProps { + initialSteps: GroupJobStep[]; +} + +const GroupJob: React.FC = () => { + const { groupJobSteps } = useGroupJobStepStore(); + const [steps, setSteps] = useState(groupJobSteps); + + useNuiEvent('updateGroupJobStep', (data: { id: string; isDone: boolean }) => { + if (!data || !data.id) { + console.error('Invalid updateGroupJobStep data', data); + return; + } + setSteps((prevSteps) => + prevSteps.map((step) => + step.id === data.id ? { ...step, isDone: data.isDone } : step + ) + ); + }); + + return ( +
+
+
+ {steps.map((step) => ( +
+ + + +
+
+ {step.isDone ? '1 / 1' : '0 / 1'} +
+
{step.name}
+
+
+ ))} +
+
+
+ ); +}; + +export default GroupJob; diff --git a/web/src/components/GroupList.tsx b/web/src/components/GroupList.tsx new file mode 100644 index 0000000..821873b --- /dev/null +++ b/web/src/components/GroupList.tsx @@ -0,0 +1,7 @@ +import React from 'react'; + +const GroupList: React.FC = () => { + return
; +}; + +export default GroupList; diff --git a/web/src/components/Header.tsx b/web/src/components/Header.tsx new file mode 100644 index 0000000..4c1508e --- /dev/null +++ b/web/src/components/Header.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +const Header: React.FC = () => { + return ( +
+
+
Join a group or browse groups currently busy
+
+
+
CREATE GROUP
+
+
+ ); +}; + +export default Header; diff --git a/web/src/components/JoinGroup.tsx b/web/src/components/JoinGroup.tsx new file mode 100644 index 0000000..65089ab --- /dev/null +++ b/web/src/components/JoinGroup.tsx @@ -0,0 +1,89 @@ +import React, { useState, useEffect } from 'react'; + +const JoinGroup: React.FC = ({ + groupId, + groupName, + onSelect, + onClose, +}) => { + const [password, setPassword] = useState(''); + const [disabledReason, setDisabledReason] = useState(''); + const [isSubmitDisabled, setIsSubmitDisabled] = useState(true); + + useEffect(() => { + let reason = ''; + if (password === '') { + reason = 'Password is required'; + } + setDisabledReason(reason); + setIsSubmitDisabled(reason !== ''); + }, [password]); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + const groupData = { groupId, password }; + onSelect(groupData); + }; + + return ( +
+
+
+

Join Group

+ +
+
+
+ +
+ {groupName} +
+
+
+ + setPassword(e.target.value)} + className='w-full p-2 rounded bg-gray-700 text-white' + /> +
+
+ + +
+ {disabledReason ? ( +
{disabledReason}
+ ) : ( +
 
+ )} +
+
+
+ ); +}; + +export default JoinGroup; diff --git a/web/src/components/PlayerList.tsx b/web/src/components/PlayerList.tsx new file mode 100644 index 0000000..b9c3d9e --- /dev/null +++ b/web/src/components/PlayerList.tsx @@ -0,0 +1,69 @@ +import React, { useContext } from 'react'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faUser, faTrash } from '@fortawesome/free-solid-svg-icons'; +import { usePlayerDataStore } from '../storage/PlayerDataStore'; +import { useGroupStore } from '../storage/GroupStore'; + +const PlayerList: React.FC = ({ setCurrentPage }) => { + const { playerData } = usePlayerDataStore(); + const { groups, setGroups } = useGroupStore(); + const currentGroup = groups.find((group) => + group.members.some((member) => member.Player === playerData.source) + ); + const isLeader = currentGroup.leader === playerData.source; + + const removeGroupMember = (member) => { + console.log('Remove Member', member); + }; + + return ( +
+
+
+

Group Members

+
+
+ {currentGroup.members.map((member, index) => { + if (isLeader && member.Player !== playerData.source) { + return ( +
+
+ removeGroupMember(member)} + /> + +
+ {member.name} +
+ ); + } + return ( +
+ + {member.name} +
+ ); + })} +
+
+ +
+
+
+ ); +}; + +export default PlayerList; diff --git a/web/src/components/Tooltip.tsx b/web/src/components/Tooltip.tsx new file mode 100644 index 0000000..b939fe5 --- /dev/null +++ b/web/src/components/Tooltip.tsx @@ -0,0 +1,22 @@ +import React from 'react'; + +interface TooltipProps { + message: string; + children: React.ReactNode; +} + +const Tooltip: React.FC = ({ message, children }) => { + if (!message) return <>{children}; + + return ( +
+ {children} + +
+ ); +}; + +export default Tooltip; \ No newline at end of file diff --git a/web/src/hooks/useNuiEvent.ts b/web/src/hooks/useNuiEvent.ts new file mode 100644 index 0000000..d5d3d9a --- /dev/null +++ b/web/src/hooks/useNuiEvent.ts @@ -0,0 +1,49 @@ +import { MutableRefObject, useEffect, useRef } from 'react'; +import { noop } from '../utils/misc'; + +interface NuiMessageData { + action: string; + data: T; +} + +type NuiHandlerSignature = (data: T) => void; + +/** + * A hook that manage events listeners for receiving data from the client scripts + * @param action The specific `action` that should be listened for. + * @param handler The callback function that will handle data relayed by this hook + * + * @example + * useNuiEvent<{visibility: true, wasVisible: 'something'}>('setVisible', (data) => { + * // whatever logic you want + * }) + * + **/ + +export const useNuiEvent = ( + action: string, + handler: (data: T) => void, +) => { + const savedHandler: MutableRefObject> = useRef(noop); + + // Make sure we handle for a reactive handler + useEffect(() => { + savedHandler.current = handler; + }, [handler]); + + useEffect(() => { + const eventListener = (event: MessageEvent>) => { + const { action: eventAction, data } = event.data; + + if (savedHandler.current) { + if (eventAction === action) { + savedHandler.current(data); + } + } + }; + + window.addEventListener('message', eventListener); + // Remove Event Listener on component cleanup + return () => window.removeEventListener('message', eventListener); + }, [action]); +}; diff --git a/web/src/index.css b/web/src/index.css new file mode 100644 index 0000000..895fa15 --- /dev/null +++ b/web/src/index.css @@ -0,0 +1,8 @@ +html, +body { + margin: 0; + padding: 0; + + box-sizing: border-box; + visibility: hidden; /* DO NOT CHANGE, IMPORTANT!*/ +} diff --git a/web/src/index.tsx b/web/src/index.tsx new file mode 100644 index 0000000..46cee71 --- /dev/null +++ b/web/src/index.tsx @@ -0,0 +1,26 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' + +import './index.css' + +const devMode = !window?.['invokeNative'] +const root = ReactDOM.createRoot(document.getElementById('root')) + +if (window.name === '' || devMode) { + const renderApp = () => { + root.render( + + + + ) + } + + if (devMode) { + renderApp() + } else { + window.addEventListener('message', (event) => { + if (event.data === 'componentsLoaded') renderApp() + }) + } +} diff --git a/web/src/storage/GroupJobStepStore.ts b/web/src/storage/GroupJobStepStore.ts new file mode 100644 index 0000000..e552da1 --- /dev/null +++ b/web/src/storage/GroupJobStepStore.ts @@ -0,0 +1,16 @@ +import { create } from 'zustand'; +import { GroupJobStep } from '../types/GroupJobStep'; + +interface GroupJobStepStore { + groupJobSteps: GroupJobStep[]; + setGroupJobSteps: (groupJobSteps: GroupJobStep[]) => void; +} + +export const useGroupJobStepStore = create((set) => ({ + groupJobSteps: [ + { id: 1, name: 'Step 1', isDone: false }, + { id: 2, name: 'Step 2', isDone: false }, + { id: 3, name: 'Step 3', isDone: false }, + ], + setGroupJobSteps: (data) => set({ groupJobSteps: data }), +})); \ No newline at end of file diff --git a/web/src/storage/GroupStore.ts b/web/src/storage/GroupStore.ts new file mode 100644 index 0000000..28ab2e5 --- /dev/null +++ b/web/src/storage/GroupStore.ts @@ -0,0 +1,44 @@ +import { create } from 'zustand'; +import { Group } from '../types/Group'; +import { GroupJobStep } from '../types/GroupJobStep'; + +interface GroupStore { + groups: Group[]; + setGroups: (groups: Group[]) => void; +} + +const initialSteps: GroupJobStep[] = [ + { id: 1, name: 'Step 1', isDone: false }, + { id: 2, name: 'Step 2', isDone: false }, + { id: 3, name: 'Step 3', isDone: false }, +]; + +export const useGroupStore = create((set) => ({ + groups: [ + { + id: 1, + status: 'open', + GName: 'Larrys Group', + GPass: 'password', + Users: 3, + leader: 1, + members: [{ name: 'Larry', CID: 'ABCD1234', Player: 1 }, + { name: 'Barry', CID: 'EFGH5678', Player: 2 }, + { name: 'Harry', CID: 'IJKL9101', Player: 3 }], + stage: initialSteps, + ScriptCreated: false, + }, + { + id: 2, + status: 'open', + GName: 'Group 2', + GPass: 'password', + Users: 2, + leader: 2, + members: [{ name: 'Larry', CID: 'ABCD1234', Player: 3 }], + stage: initialSteps, + ScriptCreated: false, + }, + ], + setGroups: (groups) => set({ groups }), +})); diff --git a/web/src/storage/PlayerDataStore.ts b/web/src/storage/PlayerDataStore.ts new file mode 100644 index 0000000..923f13c --- /dev/null +++ b/web/src/storage/PlayerDataStore.ts @@ -0,0 +1,20 @@ +import { create } from 'zustand'; + +interface PlayerData { + source: number; + citizenId: string; +} + +interface PlayerDataStore { + playerData: PlayerData; + setPlayerData: (data: PlayerData) => void; +} + +export const usePlayerDataStore = create((set) => ({ + playerData: { + source: 1, + citizenId: 'ABCD1234', + name: 'Testicle', + }, + setPlayerData: (data) => set({ playerData: data }), +})); diff --git a/web/src/types/Group.ts b/web/src/types/Group.ts new file mode 100644 index 0000000..98c8bbf --- /dev/null +++ b/web/src/types/Group.ts @@ -0,0 +1,11 @@ +export type Group = { + id: number; + status: string; + GName: string; + GPass: string; + Users: number; + leader: number; + members: Member[]; + stage: GroupJobStep[]; + ScriptCreated: boolean; +}; diff --git a/web/src/types/GroupJobStep.ts b/web/src/types/GroupJobStep.ts new file mode 100644 index 0000000..ba192b4 --- /dev/null +++ b/web/src/types/GroupJobStep.ts @@ -0,0 +1,5 @@ +export type GroupJobStep = { + id: number; + name: string; + isDone: boolean; +}; diff --git a/web/src/types/Member.ts b/web/src/types/Member.ts new file mode 100644 index 0000000..a96692e --- /dev/null +++ b/web/src/types/Member.ts @@ -0,0 +1,5 @@ +export type Member = { + name: string; + CID: string; + Player: number; +}; \ No newline at end of file diff --git a/web/src/utils/misc.ts b/web/src/utils/misc.ts new file mode 100644 index 0000000..f0a087d --- /dev/null +++ b/web/src/utils/misc.ts @@ -0,0 +1,6 @@ +// Will return whether the current environment is in a regular browser +// and not CEF +export const isEnvBrowser = (): boolean => !(window as any).invokeNative; + +// Basic no operation function +export const noop = () => {}; diff --git a/web/tailwind.config.js b/web/tailwind.config.js new file mode 100644 index 0000000..49d40fa --- /dev/null +++ b/web/tailwind.config.js @@ -0,0 +1,28 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./src/**/*.{js,jsx,ts,tsx}"], + darkMode: ['selector', '[data-mode="dark"]'], + theme: { + extend: { + colors: { + 'background-primary-light': '#f5f5f5', + 'background-highlight-light': 'rgb(220, 220, 220)', + 'text-primary-light': '#000000', + 'text-secondary-light': '#8e8e93', + + // Dark theme colors + 'background-primary-dark': '#000000', + 'background-highlight-dark': 'rgb(20, 20, 20)', + 'text-primary-dark': '#f2f2f7', + 'text-secondary-dark': '#6f6f6f', + }, + fontFamily: { + poppins: ["Poppins", "sans-serif"], + }, + }, + }, + variants: { + extend: {}, + }, + plugins: [], +}; diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 0000000..6d4c715 --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "esnext", + "paths": { "*": ["./*"] }, + "types": ["vite/client"], + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": false, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "jsxImportSource": "react", + "noEmit": false, + "sourceMap": true, + "outDir": "../build/", + "experimentalDecorators": true + }, + "exclude": ["node_modules"], + "include": ["src"] +} diff --git a/web/vite.config.ts b/web/vite.config.ts new file mode 100644 index 0000000..4ba0865 --- /dev/null +++ b/web/vite.config.ts @@ -0,0 +1,24 @@ +import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite'; + +// https://vitejs.dev/config/ +export default defineConfig(( {command} ) => ({ + base: command === 'build' ? '/ui/dist' : undefined, + define: { + global: 'window' + }, + build: { + sourcemap: false + }, + optimizeDeps: { + esbuildOptions: { + mainFields: ['module', 'main'], + resolveExtensions: ['.js', '.jsx'] + } + }, + server: { + port: 3000, + open: true + }, + plugins: [react()], +})); From 2cf0e3710ed52341eaf77d8d01d6be29e1b4f798 Mon Sep 17 00:00:00 2001 From: Solareon <769465+solareon@users.noreply.github.com> Date: Tue, 25 Jun 2024 23:56:50 +0200 Subject: [PATCH 02/34] refactor(types): remove unused variables --- web/.gitignore | 2 + web/dist/assets/index-BmNeMFzf.js | 818 ++++++++++++++++++++++++++ web/dist/assets/index-Bw_vSpTC.css | 1 + web/dist/assets/index-b237b9f1.css | 1 - web/dist/assets/index-d0b56479.js | 40 -- web/dist/index.html | 9 +- web/src/components/GroupDashboard.tsx | 5 +- web/src/storage/GroupStore.ts | 23 +- web/src/types/Group.ts | 1 - web/src/utils/fetchReactNui.ts | 39 ++ 10 files changed, 887 insertions(+), 52 deletions(-) create mode 100644 web/dist/assets/index-BmNeMFzf.js create mode 100644 web/dist/assets/index-Bw_vSpTC.css delete mode 100644 web/dist/assets/index-b237b9f1.css delete mode 100644 web/dist/assets/index-d0b56479.js create mode 100644 web/src/utils/fetchReactNui.ts diff --git a/web/.gitignore b/web/.gitignore index fa6be17..2a994f0 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -19,3 +19,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-lock.yaml + +./dist/** \ No newline at end of file diff --git a/web/dist/assets/index-BmNeMFzf.js b/web/dist/assets/index-BmNeMFzf.js new file mode 100644 index 0000000..476f90e --- /dev/null +++ b/web/dist/assets/index-BmNeMFzf.js @@ -0,0 +1,818 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();function hl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vc={exports:{}},aa={},hc={exports:{}},I={};/** + * @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 jr=Symbol.for("react.element"),gp=Symbol.for("react.portal"),yp=Symbol.for("react.fragment"),wp=Symbol.for("react.strict_mode"),kp=Symbol.for("react.profiler"),xp=Symbol.for("react.provider"),Sp=Symbol.for("react.context"),Ep=Symbol.for("react.forward_ref"),Cp=Symbol.for("react.suspense"),Np=Symbol.for("react.memo"),Pp=Symbol.for("react.lazy"),Ps=Symbol.iterator;function _p(e){return e===null||typeof e!="object"?null:(e=Ps&&e[Ps]||e["@@iterator"],typeof e=="function"?e:null)}var gc={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},yc=Object.assign,wc={};function Rn(e,t,n){this.props=e,this.context=t,this.refs=wc,this.updater=n||gc}Rn.prototype.isReactComponent={};Rn.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")};Rn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function kc(){}kc.prototype=Rn.prototype;function gl(e,t,n){this.props=e,this.context=t,this.refs=wc,this.updater=n||gc}var yl=gl.prototype=new kc;yl.constructor=gl;yc(yl,Rn.prototype);yl.isPureReactComponent=!0;var _s=Array.isArray,xc=Object.prototype.hasOwnProperty,wl={current:null},Sc={key:!0,ref:!0,__self:!0,__source:!0};function Ec(e,t,n){var r,i={},a=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(a=""+t.key),t)xc.call(t,r)&&!Sc.hasOwnProperty(r)&&(i[r]=t[r]);var l=arguments.length-2;if(l===1)i.children=n;else if(1>>1,ie=_[Z];if(0>>1;Zi(ba,A))Dti(Wr,ba)?(_[Z]=Wr,_[Dt]=A,Z=Dt):(_[Z]=ba,_[Mt]=A,Z=Mt);else if(Dti(Wr,A))_[Z]=Wr,_[Dt]=A,Z=Dt;else break e}}return z}function i(_,z){var A=_.sortIndex-z.sortIndex;return A!==0?A:_.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var s=[],u=[],f=1,d=null,v=3,h=!1,g=!1,w=!1,T=typeof setTimeout=="function"?setTimeout:null,p=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 m(_){for(var z=n(u);z!==null;){if(z.callback===null)r(u);else if(z.startTime<=_)r(u),z.sortIndex=z.expirationTime,t(s,z);else break;z=n(u)}}function y(_){if(w=!1,m(_),!g)if(n(s)!==null)g=!0,_a(S);else{var z=n(u);z!==null&&Oa(y,z.startTime-_)}}function S(_,z){g=!1,w&&(w=!1,p(b),b=-1),h=!0;var A=v;try{for(m(z),d=n(s);d!==null&&(!(d.expirationTime>z)||_&&!Me());){var Z=d.callback;if(typeof Z=="function"){d.callback=null,v=d.priorityLevel;var ie=Z(d.expirationTime<=z);z=e.unstable_now(),typeof ie=="function"?d.callback=ie:d===n(s)&&r(s),m(z)}else r(s);d=n(s)}if(d!==null)var Hr=!0;else{var Mt=n(u);Mt!==null&&Oa(y,Mt.startTime-z),Hr=!1}return Hr}finally{d=null,v=A,h=!1}}var N=!1,P=null,b=-1,M=5,L=-1;function Me(){return!(e.unstable_now()-L_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return v},e.unstable_getFirstCallbackNode=function(){return n(s)},e.unstable_next=function(_){switch(v){case 1:case 2:case 3:var z=3;break;default:z=v}var A=v;v=z;try{return _()}finally{v=A}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,z){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var A=v;v=_;try{return z()}finally{v=A}},e.unstable_scheduleCallback=function(_,z,A){var Z=e.unstable_now();switch(typeof A=="object"&&A!==null?(A=A.delay,A=typeof A=="number"&&0Z?(_.sortIndex=A,t(u,_),n(s)===null&&_===n(u)&&(w?(p(b),b=-1):w=!0,Oa(y,A-Z))):(_.sortIndex=ie,t(s,_),g||h||(g=!0,_a(S))),_},e.unstable_shouldYield=Me,e.unstable_wrapCallback=function(_){var z=v;return function(){var A=v;v=z;try{return _.apply(this,arguments)}finally{v=A}}}})(Oc);_c.exports=Oc;var Dp=_c.exports;/** + * @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 Fp=W,Pe=Dp;function x(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),uo=Object.prototype.hasOwnProperty,$p=/^[: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]*$/,bs={},Ts={};function Up(e){return uo.call(Ts,e)?!0:uo.call(bs,e)?!1:$p.test(e)?Ts[e]=!0:(bs[e]=!0,!1)}function Hp(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Wp(e,t,n,r){if(t===null||typeof t>"u"||Hp(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.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 ge(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var ue={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ue[e]=new ge(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ue[t]=new ge(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ue[e]=new ge(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ue[e]=new ge(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){ue[e]=new ge(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ue[e]=new ge(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ue[e]=new ge(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ue[e]=new ge(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ue[e]=new ge(e,5,!1,e.toLowerCase(),null,!1,!1)});var xl=/[\-:]([a-z])/g;function Sl(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(xl,Sl);ue[t]=new ge(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(xl,Sl);ue[t]=new ge(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(xl,Sl);ue[t]=new ge(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ue[e]=new ge(e,1,!1,e.toLowerCase(),null,!1,!1)});ue.xlinkHref=new ge("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ue[e]=new ge(e,1,!1,e.toLowerCase(),null,!0,!0)});function El(e,t,n,r){var i=ue.hasOwnProperty(t)?ue[t]:null;(i!==null?i.type!==0:r||!(2l||i[o]!==a[l]){var s=` +`+i[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=l);break}}}finally{Aa=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Xn(e):""}function Vp(e){switch(e.tag){case 5:return Xn(e.type);case 16:return Xn("Lazy");case 13:return Xn("Suspense");case 19:return Xn("SuspenseList");case 0:case 2:case 15:return e=La(e.type,!1),e;case 11:return e=La(e.type.render,!1),e;case 1:return e=La(e.type,!0),e;default:return""}}function mo(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 on:return"Fragment";case an:return"Portal";case co:return"Profiler";case Cl:return"StrictMode";case fo:return"Suspense";case po:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case zc:return(e.displayName||"Context")+".Consumer";case Tc:return(e._context.displayName||"Context")+".Provider";case Nl:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Pl:return t=e.displayName||null,t!==null?t:mo(e.type)||"Memo";case vt:t=e._payload,e=e._init;try{return mo(e(t))}catch{}}return null}function Bp(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 mo(t);case 8:return t===Cl?"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 bt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Lc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Yp(e){var t=Lc(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Yr(e){e._valueTracker||(e._valueTracker=Yp(e))}function jc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Lc(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function zi(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 vo(e,t){var n=t.checked;return K({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function As(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=bt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ic(e,t){t=t.checked,t!=null&&El(e,"checked",t,!1)}function ho(e,t){Ic(e,t);var n=bt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?go(e,t.type,n):t.hasOwnProperty("defaultValue")&&go(e,t.type,bt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ls(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function go(e,t,n){(t!=="number"||zi(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Jn=Array.isArray;function kn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Gr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function pr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var tr={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},Gp=["Webkit","ms","Moz","O"];Object.keys(tr).forEach(function(e){Gp.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),tr[t]=tr[e]})});function Fc(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||tr.hasOwnProperty(e)&&tr[e]?(""+t).trim():t+"px"}function $c(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Fc(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Qp=K({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 ko(e,t){if(t){if(Qp[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(x(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(x(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(x(61))}if(t.style!=null&&typeof t.style!="object")throw Error(x(62))}}function xo(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 So=null;function _l(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Eo=null,xn=null,Sn=null;function Rs(e){if(e=Mr(e)){if(typeof Eo!="function")throw Error(x(280));var t=e.stateNode;t&&(t=fa(t),Eo(e.stateNode,e.type,t))}}function Uc(e){xn?Sn?Sn.push(e):Sn=[e]:xn=e}function Hc(){if(xn){var e=xn,t=Sn;if(Sn=xn=null,Rs(e),t)for(e=0;e>>=0,e===0?32:31-(am(e)/om|0)|0}var Qr=64,Kr=4194304;function Zn(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 Ii(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~i;l!==0?r=Zn(l):(a&=o,a!==0&&(r=Zn(a)))}else o=n&~i,o!==0?r=Zn(o):a!==0&&(r=Zn(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Ir(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-We(t),e[t]=n}function cm(e,t){var n=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 r=e.eventTimes;for(e=e.expirationTimes;0=rr),Bs=" ",Ys=!1;function uf(e,t){switch(e){case"keyup":return Dm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function cf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ln=!1;function $m(e,t){switch(e){case"compositionend":return cf(t);case"keypress":return t.which!==32?null:(Ys=!0,Bs);case"textInput":return e=t.data,e===Bs&&Ys?null:e;default:return null}}function Um(e,t){if(ln)return e==="compositionend"||!Il&&uf(e,t)?(e=lf(),wi=Al=wt=null,ln=!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:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Xs(n)}}function mf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vf(){for(var e=window,t=zi();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=zi(e.document)}return t}function Rl(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 Xm(e){var t=vf(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&mf(n.ownerDocument.documentElement,n)){if(r!==null&&Rl(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Js(n,a);var o=Js(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,sn=null,bo=null,ar=null,To=!1;function Zs(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;To||sn==null||sn!==zi(r)||(r=sn,"selectionStart"in r&&Rl(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ar&&wr(ar,r)||(ar=r,r=Di(bo,"onSelect"),0fn||(e.current=Ro[fn],Ro[fn]=null,fn--)}function F(e,t){fn++,Ro[fn]=e.current,e.current=t}var Tt={},pe=It(Tt),ke=It(!1),Qt=Tt;function On(e,t){var n=e.type.contextTypes;if(!n)return Tt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function xe(e){return e=e.childContextTypes,e!=null}function $i(){V(ke),V(pe)}function au(e,t,n){if(pe.current!==Tt)throw Error(x(168));F(pe,t),F(ke,n)}function Cf(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(x(108,Bp(e)||"Unknown",i));return K({},n,r)}function Ui(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Tt,Qt=pe.current,F(pe,e),F(ke,ke.current),!0}function ou(e,t,n){var r=e.stateNode;if(!r)throw Error(x(169));n?(e=Cf(e,t,Qt),r.__reactInternalMemoizedMergedChildContext=e,V(ke),V(pe),F(pe,e)):V(ke),F(ke,n)}var et=null,da=!1,Ga=!1;function Nf(e){et===null?et=[e]:et.push(e)}function sv(e){da=!0,Nf(e)}function Rt(){if(!Ga&&et!==null){Ga=!0;var e=0,t=D;try{var n=et;for(D=1;e>=o,i-=o,tt=1<<32-We(t)+i|n<b?(M=P,P=null):M=P.sibling;var L=v(p,P,m[b],y);if(L===null){P===null&&(P=M);break}e&&P&&L.alternate===null&&t(p,P),c=a(L,c,b),N===null?S=L:N.sibling=L,N=L,P=M}if(b===m.length)return n(p,P),Y&&Ft(p,b),S;if(P===null){for(;bb?(M=P,P=null):M=P.sibling;var Me=v(p,P,L.value,y);if(Me===null){P===null&&(P=M);break}e&&P&&Me.alternate===null&&t(p,P),c=a(Me,c,b),N===null?S=Me:N.sibling=Me,N=Me,P=M}if(L.done)return n(p,P),Y&&Ft(p,b),S;if(P===null){for(;!L.done;b++,L=m.next())L=d(p,L.value,y),L!==null&&(c=a(L,c,b),N===null?S=L:N.sibling=L,N=L);return Y&&Ft(p,b),S}for(P=r(p,P);!L.done;b++,L=m.next())L=h(P,p,b,L.value,y),L!==null&&(e&&L.alternate!==null&&P.delete(L.key===null?b:L.key),c=a(L,c,b),N===null?S=L:N.sibling=L,N=L);return e&&P.forEach(function($n){return t(p,$n)}),Y&&Ft(p,b),S}function T(p,c,m,y){if(typeof m=="object"&&m!==null&&m.type===on&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Br:e:{for(var S=m.key,N=c;N!==null;){if(N.key===S){if(S=m.type,S===on){if(N.tag===7){n(p,N.sibling),c=i(N,m.props.children),c.return=p,p=c;break e}}else if(N.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===vt&&uu(S)===N.type){n(p,N.sibling),c=i(N,m.props),c.ref=Gn(p,N,m),c.return=p,p=c;break e}n(p,N);break}else t(p,N);N=N.sibling}m.type===on?(c=Gt(m.props.children,p.mode,y,m.key),c.return=p,p=c):(y=_i(m.type,m.key,m.props,null,p.mode,y),y.ref=Gn(p,c,m),y.return=p,p=y)}return o(p);case an:e:{for(N=m.key;c!==null;){if(c.key===N)if(c.tag===4&&c.stateNode.containerInfo===m.containerInfo&&c.stateNode.implementation===m.implementation){n(p,c.sibling),c=i(c,m.children||[]),c.return=p,p=c;break e}else{n(p,c);break}else t(p,c);c=c.sibling}c=to(m,p.mode,y),c.return=p,p=c}return o(p);case vt:return N=m._init,T(p,c,N(m._payload),y)}if(Jn(m))return g(p,c,m,y);if(Hn(m))return w(p,c,m,y);ni(p,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,c!==null&&c.tag===6?(n(p,c.sibling),c=i(c,m),c.return=p,p=c):(n(p,c),c=eo(m,p.mode,y),c.return=p,p=c),o(p)):n(p,c)}return T}var Tn=bf(!0),Tf=bf(!1),Vi=It(null),Bi=null,mn=null,$l=null;function Ul(){$l=mn=Bi=null}function Hl(e){var t=Vi.current;V(Vi),e._currentValue=t}function Fo(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Cn(e,t){Bi=e,$l=mn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(we=!0),e.firstContext=null)}function Ie(e){var t=e._currentValue;if($l!==e)if(e={context:e,memoizedValue:t,next:null},mn===null){if(Bi===null)throw Error(x(308));mn=e,Bi.dependencies={lanes:0,firstContext:e}}else mn=mn.next=e;return t}var Ht=null;function Wl(e){Ht===null?Ht=[e]:Ht.push(e)}function zf(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Wl(t)):(n.next=i.next,i.next=n),t.interleaved=n,ot(e,r)}function ot(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var ht=!1;function Vl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Af(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function rt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Nt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,R&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,ot(e,n)}return i=r.interleaved,i===null?(t.next=t,Wl(r)):(t.next=i.next,i.next=t),r.interleaved=t,ot(e,n)}function xi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bl(e,n)}}function cu(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Yi(e,t,n,r){var i=e.updateQueue;ht=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var s=l,u=s.next;s.next=null,o===null?a=u:o.next=u,o=s;var f=e.alternate;f!==null&&(f=f.updateQueue,l=f.lastBaseUpdate,l!==o&&(l===null?f.firstBaseUpdate=u:l.next=u,f.lastBaseUpdate=s))}if(a!==null){var d=i.baseState;o=0,f=u=s=null,l=a;do{var v=l.lane,h=l.eventTime;if((r&v)===v){f!==null&&(f=f.next={eventTime:h,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var g=e,w=l;switch(v=t,h=n,w.tag){case 1:if(g=w.payload,typeof g=="function"){d=g.call(h,d,v);break e}d=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=w.payload,v=typeof g=="function"?g.call(h,d,v):g,v==null)break e;d=K({},d,v);break e;case 2:ht=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,v=i.effects,v===null?i.effects=[l]:v.push(l))}else h={eventTime:h,lane:v,tag:l.tag,payload:l.payload,callback:l.callback,next:null},f===null?(u=f=h,s=d):f=f.next=h,o|=v;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;v=l,l=v.next,v.next=null,i.lastBaseUpdate=v,i.shared.pending=null}}while(!0);if(f===null&&(s=d),i.baseState=s,i.firstBaseUpdate=u,i.lastBaseUpdate=f,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Jt|=o,e.lanes=o,e.memoizedState=d}}function fu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Ka.transition;Ka.transition={};try{e(!1),t()}finally{D=n,Ka.transition=r}}function Kf(){return Re().memoizedState}function dv(e,t,n){var r=_t(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Xf(e))Jf(t,n);else if(n=zf(e,t,n,r),n!==null){var i=ve();Ve(n,e,r,i),Zf(n,t,r)}}function pv(e,t,n){var r=_t(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Xf(e))Jf(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,l=a(o,n);if(i.hasEagerState=!0,i.eagerState=l,Be(l,o)){var s=t.interleaved;s===null?(i.next=i,Wl(t)):(i.next=s.next,s.next=i),t.interleaved=i;return}}catch{}finally{}n=zf(e,t,i,r),n!==null&&(i=ve(),Ve(n,e,r,i),Zf(n,t,r))}}function Xf(e){var t=e.alternate;return e===Q||t!==null&&t===Q}function Jf(e,t){or=Qi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Zf(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bl(e,n)}}var Ki={readContext:Ie,useCallback:ce,useContext:ce,useEffect:ce,useImperativeHandle:ce,useInsertionEffect:ce,useLayoutEffect:ce,useMemo:ce,useReducer:ce,useRef:ce,useState:ce,useDebugValue:ce,useDeferredValue:ce,useTransition:ce,useMutableSource:ce,useSyncExternalStore:ce,useId:ce,unstable_isNewReconciler:!1},mv={readContext:Ie,useCallback:function(e,t){return Ge().memoizedState=[e,t===void 0?null:t],e},useContext:Ie,useEffect:pu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ei(4194308,4,Vf.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ei(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ei(4,2,e,t)},useMemo:function(e,t){var n=Ge();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ge();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=dv.bind(null,Q,e),[r.memoizedState,e]},useRef:function(e){var t=Ge();return e={current:e},t.memoizedState=e},useState:du,useDebugValue:Zl,useDeferredValue:function(e){return Ge().memoizedState=e},useTransition:function(){var e=du(!1),t=e[0];return e=fv.bind(null,e[1]),Ge().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Q,i=Ge();if(Y){if(n===void 0)throw Error(x(407));n=n()}else{if(n=t(),oe===null)throw Error(x(349));Xt&30||Rf(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,pu(Df.bind(null,r,a,e),[e]),r.flags|=2048,_r(9,Mf.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Ge(),t=oe.identifierPrefix;if(Y){var n=nt,r=tt;n=(r&~(1<<32-We(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Nr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Ke]=t,e[Sr]=r,sd(e,t,!1,!1),t.stateNode=e;e:{switch(o=xo(n,r),n){case"dialog":U("cancel",e),U("close",e),i=r;break;case"iframe":case"object":case"embed":U("load",e),i=r;break;case"video":case"audio":for(i=0;iLn&&(t.flags|=128,r=!0,Qn(a,!1),t.lanes=4194304)}else{if(!r)if(e=Gi(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Qn(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!Y)return fe(t),null}else 2*q()-a.renderingStartTime>Ln&&n!==1073741824&&(t.flags|=128,r=!0,Qn(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=q(),t.sibling=null,n=G.current,F(G,r?n&1|2:n&1),t):(fe(t),null);case 22:case 23:return is(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ee&1073741824&&(fe(t),t.subtreeFlags&6&&(t.flags|=8192)):fe(t),null;case 24:return null;case 25:return null}throw Error(x(156,t.tag))}function Sv(e,t){switch(Dl(t),t.tag){case 1:return xe(t.type)&&$i(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return zn(),V(ke),V(pe),Gl(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Yl(t),null;case 13:if(V(G),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(x(340));bn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return V(G),null;case 4:return zn(),null;case 10:return Hl(t.type._context),null;case 22:case 23:return is(),null;case 24:return null;default:return null}}var ii=!1,de=!1,Ev=typeof WeakSet=="function"?WeakSet:Set,C=null;function vn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){X(e,t,r)}else n.current=null}function Qo(e,t,n){try{n()}catch(r){X(e,t,r)}}var Cu=!1;function Cv(e,t){if(zo=Ri,e=vf(),Rl(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var o=0,l=-1,s=-1,u=0,f=0,d=e,v=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(l=o+i),d!==a||r!==0&&d.nodeType!==3||(s=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(h=d.firstChild)!==null;)v=d,d=h;for(;;){if(d===e)break t;if(v===n&&++u===i&&(l=o),v===a&&++f===r&&(s=o),(h=d.nextSibling)!==null)break;d=v,v=d.parentNode}d=h}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ao={focusedElem:e,selectionRange:n},Ri=!1,C=t;C!==null;)if(t=C,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,C=e;else for(;C!==null;){t=C;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var w=g.memoizedProps,T=g.memoizedState,p=t.stateNode,c=p.getSnapshotBeforeUpdate(t.elementType===t.type?w:Fe(t.type,w),T);p.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(y){X(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,C=e;break}C=t.return}return g=Cu,Cu=!1,g}function lr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&Qo(t,n,a)}i=i.next}while(i!==r)}}function va(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Ko(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function fd(e){var t=e.alternate;t!==null&&(e.alternate=null,fd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ke],delete t[Sr],delete t[Io],delete t[ov],delete t[lv])),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 dd(e){return e.tag===5||e.tag===3||e.tag===4}function Nu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dd(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 Xo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Fi));else if(r!==4&&(e=e.child,e!==null))for(Xo(e,t,n),e=e.sibling;e!==null;)Xo(e,t,n),e=e.sibling}function Jo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Jo(e,t,n),e=e.sibling;e!==null;)Jo(e,t,n),e=e.sibling}var le=null,$e=!1;function pt(e,t,n){for(n=n.child;n!==null;)pd(e,t,n),n=n.sibling}function pd(e,t,n){if(Je&&typeof Je.onCommitFiberUnmount=="function")try{Je.onCommitFiberUnmount(la,n)}catch{}switch(n.tag){case 5:de||vn(n,t);case 6:var r=le,i=$e;le=null,pt(e,t,n),le=r,$e=i,le!==null&&($e?(e=le,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):le.removeChild(n.stateNode));break;case 18:le!==null&&($e?(e=le,n=n.stateNode,e.nodeType===8?Ya(e.parentNode,n):e.nodeType===1&&Ya(e,n),gr(e)):Ya(le,n.stateNode));break;case 4:r=le,i=$e,le=n.stateNode.containerInfo,$e=!0,pt(e,t,n),le=r,$e=i;break;case 0:case 11:case 14:case 15:if(!de&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&Qo(n,t,o),i=i.next}while(i!==r)}pt(e,t,n);break;case 1:if(!de&&(vn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){X(n,t,l)}pt(e,t,n);break;case 21:pt(e,t,n);break;case 22:n.mode&1?(de=(r=de)||n.memoizedState!==null,pt(e,t,n),de=r):pt(e,t,n);break;default:pt(e,t,n)}}function Pu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ev),t.forEach(function(r){var i=Lv.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function De(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~a}if(r=i,r=q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Pv(r/1960))-r,10e?16:e,kt===null)var r=!1;else{if(e=kt,kt=null,Zi=0,R&6)throw Error(x(331));var i=R;for(R|=4,C=e.current;C!==null;){var a=C,o=a.child;if(C.flags&16){var l=a.deletions;if(l!==null){for(var s=0;sq()-ns?Yt(e,0):ts|=n),Se(e,t)}function xd(e,t){t===0&&(e.mode&1?(t=Kr,Kr<<=1,!(Kr&130023424)&&(Kr=4194304)):t=1);var n=ve();e=ot(e,t),e!==null&&(Ir(e,t,n),Se(e,n))}function Av(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),xd(e,n)}function Lv(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(t),xd(e,n)}var Sd;Sd=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ke.current)we=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return we=!1,kv(e,t,n);we=!!(e.flags&131072)}else we=!1,Y&&t.flags&1048576&&Pf(t,Wi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ci(e,t),e=t.pendingProps;var i=On(t,pe.current);Cn(t,n),i=Kl(null,t,r,e,i,n);var a=Xl();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,xe(r)?(a=!0,Ui(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Vl(t),i.updater=ma,t.stateNode=i,i._reactInternals=t,Uo(t,r,e,n),t=Vo(null,t,r,!0,a,n)):(t.tag=0,Y&&a&&Ml(t),me(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ci(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Iv(r),e=Fe(r,e),i){case 0:t=Wo(null,t,r,e,n);break e;case 1:t=xu(null,t,r,e,n);break e;case 11:t=wu(null,t,r,e,n);break e;case 14:t=ku(null,t,r,Fe(r.type,e),n);break e}throw Error(x(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fe(r,i),Wo(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fe(r,i),xu(e,t,r,i,n);case 3:e:{if(ad(t),e===null)throw Error(x(387));r=t.pendingProps,a=t.memoizedState,i=a.element,Af(e,t),Yi(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=An(Error(x(423)),t),t=Su(e,t,r,n,i);break e}else if(r!==i){i=An(Error(x(424)),t),t=Su(e,t,r,n,i);break e}else for(Ce=Ct(t.stateNode.containerInfo.firstChild),Ne=t,Y=!0,Ue=null,n=Tf(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(bn(),r===i){t=lt(e,t,n);break e}me(e,t,r,n)}t=t.child}return t;case 5:return Lf(t),e===null&&Do(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,Lo(r,i)?o=null:a!==null&&Lo(r,a)&&(t.flags|=32),id(e,t),me(e,t,o,n),t.child;case 6:return e===null&&Do(t),null;case 13:return od(e,t,n);case 4:return Bl(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Tn(t,null,r,n):me(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fe(r,i),wu(e,t,r,i,n);case 7:return me(e,t,t.pendingProps,n),t.child;case 8:return me(e,t,t.pendingProps.children,n),t.child;case 12:return me(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,F(Vi,r._currentValue),r._currentValue=o,a!==null)if(Be(a.value,o)){if(a.children===i.children&&!ke.current){t=lt(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var s=l.firstContext;s!==null;){if(s.context===r){if(a.tag===1){s=rt(-1,n&-n),s.tag=2;var u=a.updateQueue;if(u!==null){u=u.shared;var f=u.pending;f===null?s.next=s:(s.next=f.next,f.next=s),u.pending=s}}a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),Fo(a.return,n,t),l.lanes|=n;break}s=s.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(x(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Fo(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}me(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Cn(t,n),i=Ie(i),r=r(i),t.flags|=1,me(e,t,r,n),t.child;case 14:return r=t.type,i=Fe(r,t.pendingProps),i=Fe(r.type,i),ku(e,t,r,i,n);case 15:return nd(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fe(r,i),Ci(e,t),t.tag=1,xe(r)?(e=!0,Ui(t)):e=!1,Cn(t,n),qf(t,r,i),Uo(t,r,i,n),Vo(null,t,r,!0,e,n);case 19:return ld(e,t,n);case 22:return rd(e,t,n)}throw Error(x(156,t.tag))};function Ed(e,t){return Kc(e,t)}function jv(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Le(e,t,n,r){return new jv(e,t,n,r)}function os(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Iv(e){if(typeof e=="function")return os(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Nl)return 11;if(e===Pl)return 14}return 2}function Ot(e,t){var n=e.alternate;return n===null?(n=Le(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function _i(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")os(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case on:return Gt(n.children,i,a,t);case Cl:o=8,i|=8;break;case co:return e=Le(12,n,t,i|2),e.elementType=co,e.lanes=a,e;case fo:return e=Le(13,n,t,i),e.elementType=fo,e.lanes=a,e;case po:return e=Le(19,n,t,i),e.elementType=po,e.lanes=a,e;case Ac:return ga(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Tc:o=10;break e;case zc:o=9;break e;case Nl:o=11;break e;case Pl:o=14;break e;case vt:o=16,r=null;break e}throw Error(x(130,e==null?e:typeof e,""))}return t=Le(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function Gt(e,t,n,r){return e=Le(7,e,r,t),e.lanes=n,e}function ga(e,t,n,r){return e=Le(22,e,r,t),e.elementType=Ac,e.lanes=n,e.stateNode={isHidden:!1},e}function eo(e,t,n){return e=Le(6,e,null,t),e.lanes=n,e}function to(e,t,n){return t=Le(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Rv(e,t,n,r,i){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=Ia(0),this.expirationTimes=Ia(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ia(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ls(e,t,n,r,i,a,o,l,s){return e=new Rv(e,t,n,l,s),t===1?(t=1,a===!0&&(t|=8)):t=0,a=Le(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Vl(a),e}function Mv(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_d)}catch(e){console.error(e)}}_d(),Pc.exports=_e;var Hv=Pc.exports,ju=Hv;so.createRoot=ju.createRoot,so.hydrateRoot=ju.hydrateRoot;const Wv=({onSelect:e,onClose:t})=>{const[n,r]=W.useState(""),[i,a]=W.useState(""),[o,l]=W.useState(""),[s,u]=W.useState(""),[f,d]=W.useState(!0);W.useEffect(()=>{let h="";n===""?h="Group name is required":o===""?h="Password is required":o!==s&&(h="Passwords do not match"),a(h),d(h!=="")},[o,s,n]);const v=h=>{h.preventDefault(),e({groupName:n,password:o})};return k.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-75 flex justify-center items-center",children:k.jsxs("div",{className:"bg-gray-800 p-6 rounded-lg shadow-md w-full max-w-md",children:[k.jsxs("div",{className:"flex justify-between items-center mb-4",children:[k.jsx("h2",{className:"text-white text-2xl",children:"Create Group"}),k.jsx("button",{onClick:t,className:"text-white text-lg",children:"×"})]}),k.jsxs("form",{onSubmit:v,children:[k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"groupName",className:"block text-white mb-2",children:"Group Name"}),k.jsx("input",{type:"text",id:"groupName",value:n,onChange:h=>r(h.target.value),className:"w-full p-2 rounded bg-gray-700 text-white"})]}),k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"password",className:"block text-white mb-2",children:"Password"}),k.jsx("input",{type:"password",id:"password",value:o,onChange:h=>l(h.target.value),className:"w-full p-2 rounded bg-gray-700 text-white"})]}),k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"verifyPassword",className:"block text-white mb-2",children:"Verify Password"}),k.jsx("input",{type:"password",id:"verifyPassword",value:s,onChange:h=>u(h.target.value),className:"w-full p-2 rounded bg-gray-700 text-white"})]}),k.jsxs("div",{className:"flex justify-end",children:[k.jsx("button",{type:"button",onClick:t,className:"mr-2 px-4 py-2 rounded bg-gray-700 text-white hover:bg-gray-600",children:"Cancel"}),k.jsx("button",{type:"submit",className:`px-4 py-2 rounded text-white ${f?"bg-gray-700 cursor-not-allowed":"bg-green-500 hover:bg-green-400"}`,disabled:f,children:"Submit"})]}),i?k.jsx("div",{className:"mt-4 text-red-500",children:i}):k.jsx("div",{className:"mt-4",children:" "})]})]})})},Vv=({groupId:e,groupName:t,onSelect:n,onClose:r})=>{const[i,a]=W.useState(""),[o,l]=W.useState(""),[s,u]=W.useState(!0);W.useEffect(()=>{let d="";i===""&&(d="Password is required"),l(d),u(d!=="")},[i]);const f=d=>{d.preventDefault(),n({groupId:e,password:i})};return k.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-75 flex justify-center items-center",children:k.jsxs("div",{className:"bg-gray-800 p-6 rounded-lg shadow-md w-full max-w-md",children:[k.jsxs("div",{className:"flex justify-between items-center mb-4",children:[k.jsx("h2",{className:"text-white text-2xl",children:"Join Group"}),k.jsx("button",{onClick:r,className:"text-white text-lg",children:"×"})]}),k.jsxs("form",{onSubmit:f,children:[k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"groupName",className:"block text-white mb-2",children:"Group Name"}),k.jsx("div",{className:"w-full p-2 rounded bg-gray-700 text-white",children:t})]}),k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"password",className:"block text-white mb-2",children:"Password"}),k.jsx("input",{type:"password",id:"password",value:i,onChange:d=>a(d.target.value),className:"w-full p-2 rounded bg-gray-700 text-white"})]}),k.jsxs("div",{className:"flex justify-end",children:[k.jsx("button",{type:"button",onClick:r,className:"mr-2 px-4 py-2 rounded bg-gray-700 text-white hover:bg-gray-600",children:"Cancel"}),k.jsx("button",{type:"submit",className:`px-4 py-2 rounded text-white ${s?"bg-gray-700 cursor-not-allowed":"bg-green-500 hover:bg-green-400"}`,disabled:s,children:"Submit"})]}),o?k.jsx("div",{className:"mt-4 text-red-500",children:o}):k.jsx("div",{className:"mt-4",children:" "})]})]})})};var Bv={BASE_URL:"/ui/dist",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const Iu=e=>{let t;const n=new Set,r=(f,d)=>{const v=typeof f=="function"?f(t):f;if(!Object.is(v,t)){const h=t;t=d??(typeof v!="object"||v===null)?v:Object.assign({},t,v),n.forEach(g=>g(t,h))}},i=()=>t,s={setState:r,getState:i,getInitialState:()=>u,subscribe:f=>(n.add(f),()=>n.delete(f)),destroy:()=>{(Bv?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,i,s);return s},Yv=e=>e?Iu(e):Iu;var Od={exports:{}},bd={},Td={exports:{}},zd={};/** + * @license React + * use-sync-external-store-shim.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 jn=W;function Gv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Qv=typeof Object.is=="function"?Object.is:Gv,Kv=jn.useState,Xv=jn.useEffect,Jv=jn.useLayoutEffect,Zv=jn.useDebugValue;function qv(e,t){var n=t(),r=Kv({inst:{value:n,getSnapshot:t}}),i=r[0].inst,a=r[1];return Jv(function(){i.value=n,i.getSnapshot=t,no(i)&&a({inst:i})},[e,n,t]),Xv(function(){return no(i)&&a({inst:i}),e(function(){no(i)&&a({inst:i})})},[e]),Zv(n),n}function no(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Qv(e,n)}catch{return!0}}function e0(e,t){return t()}var t0=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?e0:qv;zd.useSyncExternalStore=jn.useSyncExternalStore!==void 0?jn.useSyncExternalStore:t0;Td.exports=zd;var n0=Td.exports;/** + * @license React + * use-sync-external-store-shim/with-selector.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 Sa=W,r0=n0;function i0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var a0=typeof Object.is=="function"?Object.is:i0,o0=r0.useSyncExternalStore,l0=Sa.useRef,s0=Sa.useEffect,u0=Sa.useMemo,c0=Sa.useDebugValue;bd.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=l0(null);if(a.current===null){var o={hasValue:!1,value:null};a.current=o}else o=a.current;a=u0(function(){function s(h){if(!u){if(u=!0,f=h,h=r(h),i!==void 0&&o.hasValue){var g=o.value;if(i(g,h))return d=g}return d=h}if(g=d,a0(f,h))return g;var w=r(h);return i!==void 0&&i(g,w)?g:(f=h,d=w)}var u=!1,f,d,v=n===void 0?null:n;return[function(){return s(t())},v===null?void 0:function(){return s(v())}]},[t,n,r,i]);var l=o0(e,a[0],a[1]);return s0(function(){o.hasValue=!0,o.value=l},[l]),c0(l),l};Od.exports=bd;var f0=Od.exports;const d0=hl(f0);var Ad={BASE_URL:"/ui/dist",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:p0}=oa,{useSyncExternalStoreWithSelector:m0}=d0;let Ru=!1;const v0=e=>e;function h0(e,t=v0,n){(Ad?"production":void 0)!=="production"&&n&&!Ru&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),Ru=!0);const r=m0(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return p0(r),r}const Mu=e=>{(Ad?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?Yv(e):e,n=(r,i)=>h0(t,r,i);return Object.assign(n,t),n},fs=e=>e?Mu(e):Mu,Ld=fs(e=>({playerData:{source:1,citizenId:"ABCD1234",name:"Testicle"},setPlayerData:t=>e({playerData:t})})),Du=[{id:1,name:"Step 1",isDone:!1},{id:2,name:"Step 2",isDone:!1},{id:3,name:"Step 3",isDone:!1}],jd=fs(e=>({groups:[{id:1,status:"open",GName:"Larrys Group",GPass:"password",Users:3,leader:1,members:[{name:"Larry",CID:"ABCD1234",Player:1},{name:"Barry",CID:"EFGH5678",Player:2},{name:"Harry",CID:"IJKL9101",Player:3}],stage:Du,ScriptCreated:!1},{id:2,status:"open",GName:"Group 2",GPass:"password",Users:2,leader:2,members:[{name:"Larry",CID:"ABCD1234",Player:3}],stage:Du,ScriptCreated:!1}],setGroups:t=>e({groups:t})}));function Fu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function E(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1;i--){var a=n[i],o=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=a)}return B.head.insertBefore(t,r),e}}var H0="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Lr(){for(var e=12,t="";e-- >0;)t+=H0[Math.random()*62|0];return t}function Fn(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function gs(e){return e.classList?Fn(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(t){return t})}function Yd(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function W0(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(Yd(e[n]),'" ')},"").trim()}function Ea(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function ys(e){return e.size!==Xe.size||e.x!==Xe.x||e.y!==Xe.y||e.rotate!==Xe.rotate||e.flipX||e.flipY}function V0(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},a="translate(".concat(t.x*32,", ").concat(t.y*32,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)"),s={transform:"".concat(a," ").concat(o," ").concat(l)},u={transform:"translate(".concat(r/2*-1," -256)")};return{outer:i,inner:s,path:u}}function B0(e){var t=e.transform,n=e.width,r=n===void 0?rl:n,i=e.height,a=i===void 0?rl:i,o=e.startCentered,l=o===void 0?!1:o,s="";return l&&Fd?s+="translate(".concat(t.x/mt-r/2,"em, ").concat(t.y/mt-a/2,"em) "):l?s+="translate(calc(-50% + ".concat(t.x/mt,"em), calc(-50% + ").concat(t.y/mt,"em)) "):s+="translate(".concat(t.x/mt,"em, ").concat(t.y/mt,"em) "),s+="scale(".concat(t.size/mt*(t.flipX?-1:1),", ").concat(t.size/mt*(t.flipY?-1:1),") "),s+="rotate(".concat(t.rotate,"deg) "),s}var Y0=`:root, :host { + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid"; + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular"; + --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light"; + --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin"; + --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; + --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; +} + +svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { + overflow: visible; + box-sizing: content-box; +} + +.svg-inline--fa { + display: var(--fa-display, inline-block); + height: 1em; + overflow: visible; + vertical-align: -0.125em; +} +.svg-inline--fa.fa-2xs { + vertical-align: 0.1em; +} +.svg-inline--fa.fa-xs { + vertical-align: 0em; +} +.svg-inline--fa.fa-sm { + vertical-align: -0.0714285705em; +} +.svg-inline--fa.fa-lg { + vertical-align: -0.2em; +} +.svg-inline--fa.fa-xl { + vertical-align: -0.25em; +} +.svg-inline--fa.fa-2xl { + vertical-align: -0.3125em; +} +.svg-inline--fa.fa-pull-left { + margin-right: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-pull-right { + margin-left: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-li { + width: var(--fa-li-width, 2em); + top: 0.25em; +} +.svg-inline--fa.fa-fw { + width: var(--fa-fw-width, 1.25em); +} + +.fa-layers svg.svg-inline--fa { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; +} + +.fa-layers-counter, .fa-layers-text { + display: inline-block; + position: absolute; + text-align: center; +} + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -0.125em; + width: 1em; +} +.fa-layers svg.svg-inline--fa { + -webkit-transform-origin: center center; + transform-origin: center center; +} + +.fa-layers-text { + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + -webkit-transform-origin: center center; + transform-origin: center center; +} + +.fa-layers-counter { + background-color: var(--fa-counter-background-color, #ff253a); + border-radius: var(--fa-counter-border-radius, 1em); + box-sizing: border-box; + color: var(--fa-inverse, #fff); + line-height: var(--fa-counter-line-height, 1); + max-width: var(--fa-counter-max-width, 5em); + min-width: var(--fa-counter-min-width, 1.5em); + overflow: hidden; + padding: var(--fa-counter-padding, 0.25em 0.5em); + right: var(--fa-right, 0); + text-overflow: ellipsis; + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-counter-scale, 0.25)); + transform: scale(var(--fa-counter-scale, 0.25)); + -webkit-transform-origin: top right; + transform-origin: top right; +} + +.fa-layers-bottom-right { + bottom: var(--fa-bottom, 0); + right: var(--fa-right, 0); + top: auto; + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: bottom right; + transform-origin: bottom right; +} + +.fa-layers-bottom-left { + bottom: var(--fa-bottom, 0); + left: var(--fa-left, 0); + right: auto; + top: auto; + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: bottom left; + transform-origin: bottom left; +} + +.fa-layers-top-right { + top: var(--fa-top, 0); + right: var(--fa-right, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: top right; + transform-origin: top right; +} + +.fa-layers-top-left { + left: var(--fa-left, 0); + right: auto; + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: top left; + transform-origin: top left; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; +} + +.fa-xs { + font-size: 0.75em; + line-height: 0.0833333337em; + vertical-align: 0.125em; +} + +.fa-sm { + font-size: 0.875em; + line-height: 0.0714285718em; + vertical-align: 0.0535714295em; +} + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; +} + +.fa-xl { + font-size: 1.5em; + line-height: 0.0416666682em; + vertical-align: -0.125em; +} + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; +} +.fa-ul > li { + position: relative; +} + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; +} + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); +} + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); +} + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); +} + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); +} + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-reverse { + --fa-animation-direction: reverse; +} + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); +} + +@media (prefers-reduced-motion: reduce) { + .fa-beat, +.fa-bounce, +.fa-fade, +.fa-beat-fade, +.fa-flip, +.fa-pulse, +.fa-shake, +.fa-spin, +.fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: 0s; + transition-duration: 0s; + } +} +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); + } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); + } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } +} +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } +} +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); + } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); + } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); + } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); + } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); + } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); + } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); + } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); + } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } +} +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); + } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); + } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); + } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); + } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); + } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); + } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); +} + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, 0)); + transform: rotate(var(--fa-rotate-angle, 0)); +} + +.fa-stack { + display: inline-block; + vertical-align: middle; + height: 2em; + position: relative; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + z-index: var(--fa-stack-z-index, auto); +} + +.svg-inline--fa.fa-stack-1x { + height: 1em; + width: 1.25em; +} +.svg-inline--fa.fa-stack-2x { + height: 2em; + width: 2.5em; +} + +.fa-inverse { + color: var(--fa-inverse, #fff); +} + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; +} + +.fad.fa-inverse, +.fa-duotone.fa-inverse { + color: var(--fa-inverse, #fff); +}`;function Gd(){var e=$d,t=Ud,n=O.cssPrefix,r=O.replacementClass,i=Y0;if(n!==e||r!==t){var a=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),l=new RegExp("\\.".concat(t),"g");i=i.replace(a,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(l,".".concat(r))}return i}var Bu=!1;function ro(){O.autoAddCss&&!Bu&&(U0(Gd()),Bu=!0)}var G0={mixout:function(){return{dom:{css:Gd,insertCss:ro}}},hooks:function(){return{beforeDOMElementCreation:function(){ro()},beforeI2svg:function(){ro()}}}},ut=zt||{};ut[st]||(ut[st]={});ut[st].styles||(ut[st].styles={});ut[st].hooks||(ut[st].hooks={});ut[st].shims||(ut[st].shims=[]);var He=ut[st],Qd=[],Q0=function e(){B.removeEventListener("DOMContentLoaded",e),na=1,Qd.map(function(t){return t()})},na=!1;dt&&(na=(B.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(B.readyState),na||B.addEventListener("DOMContentLoaded",Q0));function K0(e){dt&&(na?setTimeout(e,0):Qd.push(e))}function Ur(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,a=i===void 0?[]:i;return typeof e=="string"?Yd(e):"<".concat(t," ").concat(W0(r),">").concat(a.map(Ur).join(""),"")}function Yu(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var io=function(t,n,r,i){var a=Object.keys(t),o=a.length,l=n,s,u,f;for(r===void 0?(s=1,f=t[a[0]]):(s=0,f=r);s=55296&&i<=56319&&n=55296&&r<=56319&&n>t+1&&(i=e.charCodeAt(t+1),i>=56320&&i<=57343)?(r-55296)*1024+i-56320+65536:r}function Gu(e){return Object.keys(e).reduce(function(t,n){var r=e[n],i=!!r.icon;return i?t[r.iconName]=r.icon:t[n]=r,t},{})}function ol(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.skipHooks,i=r===void 0?!1:r,a=Gu(t);typeof He.hooks.addPack=="function"&&!i?He.hooks.addPack(e,Gu(t)):He.styles[e]=E(E({},He.styles[e]||{}),a),e==="fas"&&ol("fa",t)}var pi,mi,vi,gn=He.styles,Z0=He.shims,q0=(pi={},re(pi,H,Object.values(zr[H])),re(pi,J,Object.values(zr[J])),pi),ws=null,Kd={},Xd={},Jd={},Zd={},qd={},e1=(mi={},re(mi,H,Object.keys(br[H])),re(mi,J,Object.keys(br[J])),mi);function t1(e){return~R0.indexOf(e)}function n1(e,t){var n=t.split("-"),r=n[0],i=n.slice(1).join("-");return r===e&&i!==""&&!t1(i)?i:null}var ep=function(){var t=function(a){return io(gn,function(o,l,s){return o[s]=io(l,a,{}),o},{})};Kd=t(function(i,a,o){if(a[3]&&(i[a[3]]=o),a[2]){var l=a[2].filter(function(s){return typeof s=="number"});l.forEach(function(s){i[s.toString(16)]=o})}return i}),Xd=t(function(i,a,o){if(i[o]=o,a[2]){var l=a[2].filter(function(s){return typeof s=="string"});l.forEach(function(s){i[s]=o})}return i}),qd=t(function(i,a,o){var l=a[2];return i[o]=o,l.forEach(function(s){i[s]=o}),i});var n="far"in gn||O.autoFetchSvg,r=io(Z0,function(i,a){var o=a[0],l=a[1],s=a[2];return l==="far"&&!n&&(l="fas"),typeof o=="string"&&(i.names[o]={prefix:l,iconName:s}),typeof o=="number"&&(i.unicodes[o.toString(16)]={prefix:l,iconName:s}),i},{names:{},unicodes:{}});Jd=r.names,Zd=r.unicodes,ws=Ca(O.styleDefault,{family:O.familyDefault})};$0(function(e){ws=Ca(e.styleDefault,{family:O.familyDefault})});ep();function ks(e,t){return(Kd[e]||{})[t]}function r1(e,t){return(Xd[e]||{})[t]}function Bt(e,t){return(qd[e]||{})[t]}function tp(e){return Jd[e]||{prefix:null,iconName:null}}function i1(e){var t=Zd[e],n=ks("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function At(){return ws}var xs=function(){return{prefix:null,iconName:null,rest:[]}};function Ca(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.family,r=n===void 0?H:n,i=br[r][e],a=Tr[r][e]||Tr[r][i],o=e in He.styles?e:null;return a||o||null}var Qu=(vi={},re(vi,H,Object.keys(zr[H])),re(vi,J,Object.keys(zr[J])),vi);function Na(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.skipLookups,i=r===void 0?!1:r,a=(t={},re(t,H,"".concat(O.cssPrefix,"-").concat(H)),re(t,J,"".concat(O.cssPrefix,"-").concat(J)),t),o=null,l=H;(e.includes(a[H])||e.some(function(u){return Qu[H].includes(u)}))&&(l=H),(e.includes(a[J])||e.some(function(u){return Qu[J].includes(u)}))&&(l=J);var s=e.reduce(function(u,f){var d=n1(O.cssPrefix,f);if(gn[f]?(f=q0[l].includes(f)?T0[l][f]:f,o=f,u.prefix=f):e1[l].indexOf(f)>-1?(o=f,u.prefix=Ca(f,{family:l})):d?u.iconName=d:f!==O.replacementClass&&f!==a[H]&&f!==a[J]&&u.rest.push(f),!i&&u.prefix&&u.iconName){var v=o==="fa"?tp(u.iconName):{},h=Bt(u.prefix,u.iconName);v.prefix&&(o=null),u.iconName=v.iconName||h||u.iconName,u.prefix=v.prefix||u.prefix,u.prefix==="far"&&!gn.far&&gn.fas&&!O.autoFetchSvg&&(u.prefix="fas")}return u},xs());return(e.includes("fa-brands")||e.includes("fab"))&&(s.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(s.prefix="fad"),!s.prefix&&l===J&&(gn.fass||O.autoFetchSvg)&&(s.prefix="fass",s.iconName=Bt(s.prefix,s.iconName)||s.iconName),(s.prefix==="fa"||o==="fa")&&(s.prefix=At()||"fas"),s}var a1=function(){function e(){g0(this,e),this.definitions={}}return w0(e,[{key:"add",value:function(){for(var n=this,r=arguments.length,i=new Array(r),a=0;a0&&f.forEach(function(d){typeof d=="string"&&(n[l][d]=u)}),n[l][s]=u}),n}}]),e}(),Ku=[],yn={},Pn={},o1=Object.keys(Pn);function l1(e,t){var n=t.mixoutsTo;return Ku=e,yn={},Object.keys(Pn).forEach(function(r){o1.indexOf(r)===-1&&delete Pn[r]}),Ku.forEach(function(r){var i=r.mixout?r.mixout():{};if(Object.keys(i).forEach(function(o){typeof i[o]=="function"&&(n[o]=i[o]),ta(i[o])==="object"&&Object.keys(i[o]).forEach(function(l){n[o]||(n[o]={}),n[o][l]=i[o][l]})}),r.hooks){var a=r.hooks();Object.keys(a).forEach(function(o){yn[o]||(yn[o]=[]),yn[o].push(a[o])})}r.provides&&r.provides(Pn)}),n}function ll(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i1?t-1:0),r=1;r0&&arguments[0]!==void 0?arguments[0]:{};return dt?(en("beforeI2svg",t),ct("pseudoElements2svg",t),ct("i2svg",t)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot;O.autoReplaceSvg===!1&&(O.autoReplaceSvg=!0),O.observeMutations=!0,K0(function(){f1({autoReplaceSvgRoot:n}),en("watch",t)})}},c1={icon:function(t){if(t===null)return null;if(ta(t)==="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:Bt(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&t.length===2){var n=t[1].indexOf("fa-")===0?t[1].slice(3):t[1],r=Ca(t[0]);return{prefix:r,iconName:Bt(r,n)||n}}if(typeof t=="string"&&(t.indexOf("".concat(O.cssPrefix,"-"))>-1||t.match(z0))){var i=Na(t.split(" "),{skipLookups:!0});return{prefix:i.prefix||At(),iconName:Bt(i.prefix,i.iconName)||i.iconName}}if(typeof t=="string"){var a=At();return{prefix:a,iconName:Bt(a,t)||t}}}},be={noAuto:s1,config:O,dom:u1,parse:c1,library:np,findIconDefinition:sl,toHtml:Ur},f1=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot,r=n===void 0?B:n;(Object.keys(He.styles).length>0||O.autoFetchSvg)&&dt&&O.autoReplaceSvg&&be.dom.i2svg({node:r})};function Pa(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(r){return Ur(r)})}}),Object.defineProperty(e,"node",{get:function(){if(dt){var r=B.createElement("div");return r.innerHTML=e.html,r.children}}}),e}function d1(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,o=e.transform;if(ys(o)&&n.found&&!r.found){var l=n.width,s=n.height,u={x:l/s/2,y:.5};i.style=Ea(E(E({},a),{},{"transform-origin":"".concat(u.x+o.x/16,"em ").concat(u.y+o.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}function p1(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,o=a===!0?"".concat(t,"-").concat(O.cssPrefix,"-").concat(n):a;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:E(E({},i),{},{id:o}),children:r}]}]}function Ss(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,o=e.transform,l=e.symbol,s=e.title,u=e.maskId,f=e.titleId,d=e.extra,v=e.watchable,h=v===void 0?!1:v,g=r.found?r:n,w=g.width,T=g.height,p=i==="fak",c=[O.replacementClass,a?"".concat(O.cssPrefix,"-").concat(a):""].filter(function(M){return d.classes.indexOf(M)===-1}).filter(function(M){return M!==""||!!M}).concat(d.classes).join(" "),m={children:[],attributes:E(E({},d.attributes),{},{"data-prefix":i,"data-icon":a,class:c,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(w," ").concat(T)})},y=p&&!~d.classes.indexOf("fa-fw")?{width:"".concat(w/T*16*.0625,"em")}:{};h&&(m.attributes[qt]=""),s&&(m.children.push({tag:"title",attributes:{id:m.attributes["aria-labelledby"]||"title-".concat(f||Lr())},children:[s]}),delete m.attributes.title);var S=E(E({},m),{},{prefix:i,iconName:a,main:n,mask:r,maskId:u,transform:o,symbol:l,styles:E(E({},y),d.styles)}),N=r.found&&n.found?ct("generateAbstractMask",S)||{children:[],attributes:{}}:ct("generateAbstractIcon",S)||{children:[],attributes:{}},P=N.children,b=N.attributes;return S.children=P,S.attributes=b,l?p1(S):d1(S)}function Xu(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.title,o=e.extra,l=e.watchable,s=l===void 0?!1:l,u=E(E(E({},o.attributes),a?{title:a}:{}),{},{class:o.classes.join(" ")});s&&(u[qt]="");var f=E({},o.styles);ys(i)&&(f.transform=B0({transform:i,startCentered:!0,width:n,height:r}),f["-webkit-transform"]=f.transform);var d=Ea(f);d.length>0&&(u.style=d);var v=[];return v.push({tag:"span",attributes:u,children:[t]}),a&&v.push({tag:"span",attributes:{class:"sr-only"},children:[a]}),v}function m1(e){var t=e.content,n=e.title,r=e.extra,i=E(E(E({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),a=Ea(r.styles);a.length>0&&(i.style=a);var o=[];return o.push({tag:"span",attributes:i,children:[t]}),n&&o.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),o}var ao=He.styles;function ul(e){var t=e[0],n=e[1],r=e.slice(4),i=ds(r,1),a=i[0],o=null;return Array.isArray(a)?o={tag:"g",attributes:{class:"".concat(O.cssPrefix,"-").concat(Vt.GROUP)},children:[{tag:"path",attributes:{class:"".concat(O.cssPrefix,"-").concat(Vt.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(O.cssPrefix,"-").concat(Vt.PRIMARY),fill:"currentColor",d:a[1]}}]}:o={tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:t,height:n,icon:o}}var v1={found:!1,width:512,height:512};function h1(e,t){!Hd&&!O.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))}function cl(e,t){var n=t;return t==="fa"&&O.styleDefault!==null&&(t=At()),new Promise(function(r,i){if(ct("missingIconAbstract"),n==="fa"){var a=tp(e)||{};e=a.iconName||e,t=a.prefix||t}if(e&&t&&ao[t]&&ao[t][e]){var o=ao[t][e];return r(ul(o))}h1(e,t),r(E(E({},v1),{},{icon:O.showMissingIcons&&e?ct("missingIconAbstract")||{}:{}}))})}var Ju=function(){},fl=O.measurePerformance&&li&&li.mark&&li.measure?li:{mark:Ju,measure:Ju},er='FA "6.5.2"',g1=function(t){return fl.mark("".concat(er," ").concat(t," begins")),function(){return rp(t)}},rp=function(t){fl.mark("".concat(er," ").concat(t," ends")),fl.measure("".concat(er," ").concat(t),"".concat(er," ").concat(t," begins"),"".concat(er," ").concat(t," ends"))},Es={begin:g1,end:rp},Oi=function(){};function Zu(e){var t=e.getAttribute?e.getAttribute(qt):null;return typeof t=="string"}function y1(e){var t=e.getAttribute?e.getAttribute(ms):null,n=e.getAttribute?e.getAttribute(vs):null;return t&&n}function w1(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(O.replacementClass)}function k1(){if(O.autoReplaceSvg===!0)return bi.replace;var e=bi[O.autoReplaceSvg];return e||bi.replace}function x1(e){return B.createElementNS("http://www.w3.org/2000/svg",e)}function S1(e){return B.createElement(e)}function ip(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.ceFn,r=n===void 0?e.tag==="svg"?x1:S1:n;if(typeof e=="string")return B.createTextNode(e);var i=r(e.tag);Object.keys(e.attributes||[]).forEach(function(o){i.setAttribute(o,e.attributes[o])});var a=e.children||[];return a.forEach(function(o){i.appendChild(ip(o,{ceFn:r}))}),i}function E1(e){var t=" ".concat(e.outerHTML," ");return t="".concat(t,"Font Awesome fontawesome.com "),t}var bi={replace:function(t){var n=t[0];if(n.parentNode)if(t[1].forEach(function(i){n.parentNode.insertBefore(ip(i),n)}),n.getAttribute(qt)===null&&O.keepOriginalSource){var r=B.createComment(E1(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(t){var n=t[0],r=t[1];if(~gs(n).indexOf(O.replacementClass))return bi.replace(t);var i=new RegExp("".concat(O.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){var a=r[0].attributes.class.split(" ").reduce(function(l,s){return s===O.replacementClass||s.match(i)?l.toSvg.push(s):l.toNode.push(s),l},{toNode:[],toSvg:[]});r[0].attributes.class=a.toSvg.join(" "),a.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",a.toNode.join(" "))}var o=r.map(function(l){return Ur(l)}).join(` +`);n.setAttribute(qt,""),n.innerHTML=o}};function qu(e){e()}function ap(e,t){var n=typeof t=="function"?t:Oi;if(e.length===0)n();else{var r=qu;O.mutateApproach===O0&&(r=zt.requestAnimationFrame||qu),r(function(){var i=k1(),a=Es.begin("mutate");e.map(i),a(),n()})}}var Cs=!1;function op(){Cs=!0}function dl(){Cs=!1}var ra=null;function ec(e){if(Wu&&O.observeMutations){var t=e.treeCallback,n=t===void 0?Oi:t,r=e.nodeCallback,i=r===void 0?Oi:r,a=e.pseudoElementsCallback,o=a===void 0?Oi:a,l=e.observeMutationsRoot,s=l===void 0?B:l;ra=new Wu(function(u){if(!Cs){var f=At();Fn(u).forEach(function(d){if(d.type==="childList"&&d.addedNodes.length>0&&!Zu(d.addedNodes[0])&&(O.searchPseudoElements&&o(d.target),n(d.target)),d.type==="attributes"&&d.target.parentNode&&O.searchPseudoElements&&o(d.target.parentNode),d.type==="attributes"&&Zu(d.target)&&~I0.indexOf(d.attributeName))if(d.attributeName==="class"&&y1(d.target)){var v=Na(gs(d.target)),h=v.prefix,g=v.iconName;d.target.setAttribute(ms,h||f),g&&d.target.setAttribute(vs,g)}else w1(d.target)&&i(d.target)})}}),dt&&ra.observe(s,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function C1(){ra&&ra.disconnect()}function N1(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce(function(r,i){var a=i.split(":"),o=a[0],l=a.slice(1);return o&&l.length>0&&(r[o]=l.join(":").trim()),r},{})),n}function P1(e){var t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=e.innerText!==void 0?e.innerText.trim():"",i=Na(gs(e));return i.prefix||(i.prefix=At()),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix||(i.prefix&&r.length>0&&(i.iconName=r1(i.prefix,e.innerText)||ks(i.prefix,al(e.innerText))),!i.iconName&&O.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data)),i}function _1(e){var t=Fn(e.attributes).reduce(function(i,a){return i.name!=="class"&&i.name!=="style"&&(i[a.name]=a.value),i},{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return O.autoA11y&&(n?t["aria-labelledby"]="".concat(O.replacementClass,"-title-").concat(r||Lr()):(t["aria-hidden"]="true",t.focusable="false")),t}function O1(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Xe,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function tc(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=P1(e),r=n.iconName,i=n.prefix,a=n.rest,o=_1(e),l=ll("parseNodeAttributes",{},e),s=t.styleParser?N1(e):[];return E({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:Xe,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:s,attributes:o}},l)}var b1=He.styles;function lp(e){var t=O.autoReplaceSvg==="nest"?tc(e,{styleParser:!1}):tc(e);return~t.extra.classes.indexOf(Wd)?ct("generateLayersText",e,t):ct("generateSvgReplacementMutation",e,t)}var Lt=new Set;hs.map(function(e){Lt.add("fa-".concat(e))});Object.keys(br[H]).map(Lt.add.bind(Lt));Object.keys(br[J]).map(Lt.add.bind(Lt));Lt=Fr(Lt);function nc(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!dt)return Promise.resolve();var n=B.documentElement.classList,r=function(d){return n.add("".concat(Vu,"-").concat(d))},i=function(d){return n.remove("".concat(Vu,"-").concat(d))},a=O.autoFetchSvg?Lt:hs.map(function(f){return"fa-".concat(f)}).concat(Object.keys(b1));a.includes("fa")||a.push("fa");var o=[".".concat(Wd,":not([").concat(qt,"])")].concat(a.map(function(f){return".".concat(f,":not([").concat(qt,"])")})).join(", ");if(o.length===0)return Promise.resolve();var l=[];try{l=Fn(e.querySelectorAll(o))}catch{}if(l.length>0)r("pending"),i("complete");else return Promise.resolve();var s=Es.begin("onTree"),u=l.reduce(function(f,d){try{var v=lp(d);v&&f.push(v)}catch(h){Hd||h.name==="MissingIcon"&&console.error(h)}return f},[]);return new Promise(function(f,d){Promise.all(u).then(function(v){ap(v,function(){r("active"),r("complete"),i("pending"),typeof t=="function"&&t(),s(),f()})}).catch(function(v){s(),d(v)})})}function T1(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;lp(e).then(function(n){n&&ap([n],t)})}function z1(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:sl(t||{}),i=n.mask;return i&&(i=(i||{}).icon?i:sl(i||{})),e(r,E(E({},n),{},{mask:i}))}}var A1=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.transform,i=r===void 0?Xe:r,a=n.symbol,o=a===void 0?!1:a,l=n.mask,s=l===void 0?null:l,u=n.maskId,f=u===void 0?null:u,d=n.title,v=d===void 0?null:d,h=n.titleId,g=h===void 0?null:h,w=n.classes,T=w===void 0?[]:w,p=n.attributes,c=p===void 0?{}:p,m=n.styles,y=m===void 0?{}:m;if(t){var S=t.prefix,N=t.iconName,P=t.icon;return Pa(E({type:"icon"},t),function(){return en("beforeDOMElementCreation",{iconDefinition:t,params:n}),O.autoA11y&&(v?c["aria-labelledby"]="".concat(O.replacementClass,"-title-").concat(g||Lr()):(c["aria-hidden"]="true",c.focusable="false")),Ss({icons:{main:ul(P),mask:s?ul(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:S,iconName:N,transform:E(E({},Xe),i),symbol:o,title:v,maskId:f,titleId:g,extra:{attributes:c,styles:y,classes:T}})})}},L1={mixout:function(){return{icon:z1(A1)}},hooks:function(){return{mutationObserverCallbacks:function(n){return n.treeCallback=nc,n.nodeCallback=T1,n}}},provides:function(t){t.i2svg=function(n){var r=n.node,i=r===void 0?B:r,a=n.callback,o=a===void 0?function(){}:a;return nc(i,o)},t.generateSvgReplacementMutation=function(n,r){var i=r.iconName,a=r.title,o=r.titleId,l=r.prefix,s=r.transform,u=r.symbol,f=r.mask,d=r.maskId,v=r.extra;return new Promise(function(h,g){Promise.all([cl(i,l),f.iconName?cl(f.iconName,f.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(w){var T=ds(w,2),p=T[0],c=T[1];h([n,Ss({icons:{main:p,mask:c},prefix:l,iconName:i,transform:s,symbol:u,maskId:d,title:a,titleId:o,extra:v,watchable:!0})])}).catch(g)})},t.generateAbstractIcon=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.transform,l=n.styles,s=Ea(l);s.length>0&&(i.style=s);var u;return ys(o)&&(u=ct("generateAbstractTransformGrouping",{main:a,transform:o,containerWidth:a.width,iconWidth:a.width})),r.push(u||a.icon),{children:r,attributes:i}}}},j1={mixout:function(){return{layer:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.classes,a=i===void 0?[]:i;return Pa({type:"layer"},function(){en("beforeDOMElementCreation",{assembler:n,params:r});var o=[];return n(function(l){Array.isArray(l)?l.map(function(s){o=o.concat(s.abstract)}):o=o.concat(l.abstract)}),[{tag:"span",attributes:{class:["".concat(O.cssPrefix,"-layers")].concat(Fr(a)).join(" ")},children:o}]})}}}},I1={mixout:function(){return{counter:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.title,a=i===void 0?null:i,o=r.classes,l=o===void 0?[]:o,s=r.attributes,u=s===void 0?{}:s,f=r.styles,d=f===void 0?{}:f;return Pa({type:"counter",content:n},function(){return en("beforeDOMElementCreation",{content:n,params:r}),m1({content:n.toString(),title:a,extra:{attributes:u,styles:d,classes:["".concat(O.cssPrefix,"-layers-counter")].concat(Fr(l))}})})}}}},R1={mixout:function(){return{text:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.transform,a=i===void 0?Xe:i,o=r.title,l=o===void 0?null:o,s=r.classes,u=s===void 0?[]:s,f=r.attributes,d=f===void 0?{}:f,v=r.styles,h=v===void 0?{}:v;return Pa({type:"text",content:n},function(){return en("beforeDOMElementCreation",{content:n,params:r}),Xu({content:n,transform:E(E({},Xe),a),title:l,extra:{attributes:d,styles:h,classes:["".concat(O.cssPrefix,"-layers-text")].concat(Fr(u))}})})}}},provides:function(t){t.generateLayersText=function(n,r){var i=r.title,a=r.transform,o=r.extra,l=null,s=null;if(Fd){var u=parseInt(getComputedStyle(n).fontSize,10),f=n.getBoundingClientRect();l=f.width/u,s=f.height/u}return O.autoA11y&&!i&&(o.attributes["aria-hidden"]="true"),Promise.resolve([n,Xu({content:n.innerHTML,width:l,height:s,transform:a,title:i,extra:o,watchable:!0})])}}},M1=new RegExp('"',"ug"),rc=[1105920,1112319];function D1(e){var t=e.replace(M1,""),n=J0(t,0),r=n>=rc[0]&&n<=rc[1],i=t.length===2?t[0]===t[1]:!1;return{value:al(i?t[0]:t),isSecondary:r||i}}function ic(e,t){var n="".concat(_0).concat(t.replace(":","-"));return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var a=Fn(e.children),o=a.filter(function(P){return P.getAttribute(il)===t})[0],l=zt.getComputedStyle(e,t),s=l.getPropertyValue("font-family").match(A0),u=l.getPropertyValue("font-weight"),f=l.getPropertyValue("content");if(o&&!s)return e.removeChild(o),r();if(s&&f!=="none"&&f!==""){var d=l.getPropertyValue("content"),v=~["Sharp"].indexOf(s[2])?J:H,h=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(s[2])?Tr[v][s[2].toLowerCase()]:L0[v][u],g=D1(d),w=g.value,T=g.isSecondary,p=s[0].startsWith("FontAwesome"),c=ks(h,w),m=c;if(p){var y=i1(w);y.iconName&&y.prefix&&(c=y.iconName,h=y.prefix)}if(c&&!T&&(!o||o.getAttribute(ms)!==h||o.getAttribute(vs)!==m)){e.setAttribute(n,m),o&&e.removeChild(o);var S=O1(),N=S.extra;N.attributes[il]=t,cl(c,h).then(function(P){var b=Ss(E(E({},S),{},{icons:{main:P,mask:xs()},prefix:h,iconName:m,extra:N,watchable:!0})),M=B.createElementNS("http://www.w3.org/2000/svg","svg");t==="::before"?e.insertBefore(M,e.firstChild):e.appendChild(M),M.outerHTML=b.map(function(L){return Ur(L)}).join(` +`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function F1(e){return Promise.all([ic(e,"::before"),ic(e,"::after")])}function $1(e){return e.parentNode!==document.head&&!~b0.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(il)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function ac(e){if(dt)return new Promise(function(t,n){var r=Fn(e.querySelectorAll("*")).filter($1).map(F1),i=Es.begin("searchPseudoElements");op(),Promise.all(r).then(function(){i(),dl(),t()}).catch(function(){i(),dl(),n()})})}var U1={hooks:function(){return{mutationObserverCallbacks:function(n){return n.pseudoElementsCallback=ac,n}}},provides:function(t){t.pseudoElements2svg=function(n){var r=n.node,i=r===void 0?B:r;O.searchPseudoElements&&ac(i)}}},oc=!1,H1={mixout:function(){return{dom:{unwatch:function(){op(),oc=!0}}}},hooks:function(){return{bootstrap:function(){ec(ll("mutationObserverCallbacks",{}))},noAuto:function(){C1()},watch:function(n){var r=n.observeMutationsRoot;oc?dl():ec(ll("mutationObserverCallbacks",{observeMutationsRoot:r}))}}}},lc=function(t){var n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t.toLowerCase().split(" ").reduce(function(r,i){var a=i.toLowerCase().split("-"),o=a[0],l=a.slice(1).join("-");if(o&&l==="h")return r.flipX=!0,r;if(o&&l==="v")return r.flipY=!0,r;if(l=parseFloat(l),isNaN(l))return r;switch(o){case"grow":r.size=r.size+l;break;case"shrink":r.size=r.size-l;break;case"left":r.x=r.x-l;break;case"right":r.x=r.x+l;break;case"up":r.y=r.y-l;break;case"down":r.y=r.y+l;break;case"rotate":r.rotate=r.rotate+l;break}return r},n)},W1={mixout:function(){return{parse:{transform:function(n){return lc(n)}}}},hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-transform");return i&&(n.transform=lc(i)),n}}},provides:function(t){t.generateAbstractTransformGrouping=function(n){var r=n.main,i=n.transform,a=n.containerWidth,o=n.iconWidth,l={transform:"translate(".concat(a/2," 256)")},s="translate(".concat(i.x*32,", ").concat(i.y*32,") "),u="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),f="rotate(".concat(i.rotate," 0 0)"),d={transform:"".concat(s," ").concat(u," ").concat(f)},v={transform:"translate(".concat(o/2*-1," -256)")},h={outer:l,inner:d,path:v};return{tag:"g",attributes:E({},h.outer),children:[{tag:"g",attributes:E({},h.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:E(E({},r.icon.attributes),h.path)}]}]}}}},oo={x:0,y:0,width:"100%",height:"100%"};function sc(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function V1(e){return e.tag==="g"?e.children:[e]}var B1={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-mask"),a=i?Na(i.split(" ").map(function(o){return o.trim()})):xs();return a.prefix||(a.prefix=At()),n.mask=a,n.maskId=r.getAttribute("data-fa-mask-id"),n}}},provides:function(t){t.generateAbstractMask=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.mask,l=n.maskId,s=n.transform,u=a.width,f=a.icon,d=o.width,v=o.icon,h=V0({transform:s,containerWidth:d,iconWidth:u}),g={tag:"rect",attributes:E(E({},oo),{},{fill:"white"})},w=f.children?{children:f.children.map(sc)}:{},T={tag:"g",attributes:E({},h.inner),children:[sc(E({tag:f.tag,attributes:E(E({},f.attributes),h.path)},w))]},p={tag:"g",attributes:E({},h.outer),children:[T]},c="mask-".concat(l||Lr()),m="clip-".concat(l||Lr()),y={tag:"mask",attributes:E(E({},oo),{},{id:c,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[g,p]},S={tag:"defs",children:[{tag:"clipPath",attributes:{id:m},children:V1(v)},y]};return r.push(S,{tag:"rect",attributes:E({fill:"currentColor","clip-path":"url(#".concat(m,")"),mask:"url(#".concat(c,")")},oo)}),{children:r,attributes:i}}}},Y1={provides:function(t){var n=!1;zt.matchMedia&&(n=zt.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){var r=[],i={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:E(E({},i),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var o=E(E({},a),{},{attributeName:"opacity"}),l={tag:"circle",attributes:E(E({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||l.children.push({tag:"animate",attributes:E(E({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:E(E({},o),{},{values:"1;0;1;1;0;1;"})}),r.push(l),r.push({tag:"path",attributes:E(E({},i),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:E(E({},o),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:E(E({},i),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:E(E({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},G1={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-symbol"),a=i===null?!1:i===""?!0:i;return n.symbol=a,n}}}},Q1=[G0,L1,j1,I1,R1,U1,H1,W1,B1,Y1,G1];l1(Q1,{mixoutsTo:be});be.noAuto;be.config;be.library;be.dom;var pl=be.parse;be.findIconDefinition;be.toHtml;var K1=be.icon;be.layer;be.text;be.counter;var sp={exports:{}},X1="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",J1=X1,Z1=J1;function up(){}function cp(){}cp.resetWarningCache=up;var q1=function(){function e(r,i,a,o,l,s){if(s!==Z1){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 n={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:cp,resetWarningCache:up};return n.PropTypes=n,n};sp.exports=q1();var eh=sp.exports;const j=hl(eh);function uc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function nh(e,t){if(e==null)return{};var n=th(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ml(e){return rh(e)||ih(e)||ah(e)||oh()}function rh(e){if(Array.isArray(e))return vl(e)}function ih(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ah(e,t){if(e){if(typeof e=="string")return vl(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vl(e,t)}}function vl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{};if(typeof t=="string")return t;var r=(t.children||[]).map(function(s){return dp(e,s)}),i=Object.keys(t.attributes||{}).reduce(function(s,u){var f=t.attributes[u];switch(u){case"class":s.attrs.className=f,delete t.attributes.class;break;case"style":s.attrs.style=fh(f);break;default:u.indexOf("aria-")===0||u.indexOf("data-")===0?s.attrs[u.toLowerCase()]=f:s.attrs[fp(u)]=f}return s},{attrs:{}}),a=n.style,o=a===void 0?{}:a,l=nh(n,uh);return i.attrs.style=Qe(Qe({},i.attrs.style),o),e.apply(void 0,[t.tag,Qe(Qe({},i.attrs),l)].concat(ml(r)))}var pp=!1;try{pp=!0}catch{}function dh(){if(!pp&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function cc(e){if(e&&ia(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(pl.icon)return pl.icon(e);if(e===null)return null;if(e&&ia(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}function lo(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?wn({},e,t):{}}var fc={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1},Ae=oa.forwardRef(function(e,t){var n=Qe(Qe({},fc),e),r=n.icon,i=n.mask,a=n.symbol,o=n.className,l=n.title,s=n.titleId,u=n.maskId,f=cc(r),d=lo("classes",[].concat(ml(lh(n)),ml((o||"").split(" ")))),v=lo("transform",typeof n.transform=="string"?pl.transform(n.transform):n.transform),h=lo("mask",cc(i)),g=K1(f,Qe(Qe(Qe(Qe({},d),v),h),{},{symbol:a,title:l,titleId:s,maskId:u}));if(!g)return dh("Could not find icon",f),null;var w=g.abstract,T={ref:t};return Object.keys(n).forEach(function(p){fc.hasOwnProperty(p)||(T[p]=n[p])}),ph(w[0],T)});Ae.displayName="FontAwesomeIcon";Ae.propTypes={beat:j.bool,border:j.bool,beatFade:j.bool,bounce:j.bool,className:j.string,fade:j.bool,flash:j.bool,mask:j.oneOfType([j.object,j.array,j.string]),maskId:j.string,fixedWidth:j.bool,inverse:j.bool,flip:j.oneOf([!0,!1,"horizontal","vertical","both"]),icon:j.oneOfType([j.object,j.array,j.string]),listItem:j.bool,pull:j.oneOf(["right","left"]),pulse:j.bool,rotation:j.oneOf([0,90,180,270]),shake:j.bool,size:j.oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:j.bool,spinPulse:j.bool,spinReverse:j.bool,symbol:j.oneOfType([j.bool,j.string]),title:j.string,titleId:j.string,transform:j.oneOfType([j.string,j.object]),swapOpacity:j.bool};var ph=dp.bind(null,oa.createElement),mh={prefix:"fas",iconName:"right-from-bracket",icon:[512,512,["sign-out-alt"],"f2f5","M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z"]},vh={prefix:"fas",iconName:"list",icon:[512,512,["list-squares"],"f03a","M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"]},hh={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"]},dc={prefix:"fas",iconName:"user",icon:[448,512,[128100,62144],"f007","M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z"]},pc={prefix:"fas",iconName:"user-group",icon:[640,512,[128101,"user-friends"],"f500","M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z"]},gh={prefix:"fas",iconName:"circle",icon:[512,512,[128308,128309,128992,128993,128994,128995,128996,9679,9898,9899,11044,61708,61915],"f111","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"]},mp={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"]};const yh=({setCurrentPage:e})=>{const{groups:t,setGroups:n}=jd(),{playerData:r}=Ld(),[i,a]=W.useState(!1),[o,l]=W.useState(null),s=t.some(g=>g.members.some(w=>w.Player===r.source)),u=g=>{console.log(g);const w={id:t.length+1,status:"open",GName:g.groupName,GPass:g.password,Users:1,leader:r.source,members:[{name:r.name,CID:r.citizenId,Player:r.source}],stage:[],ScriptCreated:!1};console.log(w),n([...t,w])},f=g=>{console.log(g)},d=g=>{console.log(g)},v=g=>{console.log(g)},h=(g,w,T)=>k.jsxs(k.Fragment,{children:[k.jsx(Ae,{icon:vh,className:"text-white mx-1 hover:text-green-500",onClick:()=>e("PlayerList")}),g&&k.jsx(Ae,{icon:mp,className:"text-white mx-1 hover:text-red-500",onClick:()=>v(element)}),w&&!g&&k.jsx(Ae,{icon:mh,className:"text-white mx-1 hover:text-red-500",onClick:()=>d(element)}),k.jsx(Ae,{icon:pc,className:"text-white mx-1"}),k.jsx("span",{children:T})]});return k.jsx("div",{className:"flex self-start items-center h-screen bg-gray-200 dark:bg-gray-900",children:k.jsxs("div",{className:"w-full bg-gray-400 dark:bg-gray-700 text-white rounded-lg shadow-md p-6",children:[!s&&k.jsxs("div",{className:"mb-4",children:[k.jsx("div",{className:"text-md font-bold text-text-primary-light dark:text-text-primary-dark mb-4",children:"Create a group or join an existing group"}),k.jsx("button",{onClick:()=>a(!0),className:"px-4 py-2 bg-blue-200 dark:bg-blue-900 text-black dark:text-white rounded hover:bg-blue-600",children:"Create Group"})]}),k.jsx("div",{className:"bg-gray-200 dark:bg-gray-900 p-4 rounded-lg shadow-inner",children:Object.keys(t).map(g=>{const w=t[g];let T=w.leader===r.source,p=w.members.some(c=>c.Player===r.source);return k.jsxs("div",{className:"flex justify-between items-center text-black dark:text-white bg-gray-400 dark:bg-gray-700 rounded-md hover:bg-gray-500 p-3 mb-2",onClick:()=>{s||l(w)},children:[k.jsxs("div",{className:"flex items-center",children:[k.jsx(Ae,{icon:hh,className:"text-white mr-2"}),k.jsx("span",{children:w.GName})]}),k.jsx("div",{className:"flex items-center",children:k.jsx(k.Fragment,{children:T||p?k.jsx("div",{className:"flex items-center",children:h(T,p,w.Users)}):k.jsxs(k.Fragment,{children:[k.jsx(Ae,{icon:pc,className:"text-white mx-1"}),k.jsx("span",{children:w.Users})]})})})]},w.id)})}),i&&k.jsx(Wv,{onSelect:g=>{u(g),a(!1)},onClose:()=>a(!1)}),o&&k.jsx(Vv,{groupId:o.id,groupName:o.GName,onSelect:g=>{f(g),l(null)},onClose:()=>{l(null)}})]})})},wh=({setCurrentPage:e})=>{const{playerData:t}=Ld(),{groups:n,setGroups:r}=jd(),i=n.find(l=>l.members.some(s=>s.Player===t.source)),a=i.leader===t.source,o=l=>{console.log("Remove Member",l)};return k.jsx("div",{className:"flex justify-center items-center h-screen bg-gray-200 dark:bg-gray-900",children:k.jsxs("div",{className:"w-full bg-gray-400 dark:bg-gray-700 text-white w-80 rounded-lg shadow-md",children:[k.jsx("div",{className:"p-4 border-b bg-gray-300 dark:bg-gray-600 border-gray-600",children:k.jsx("h2",{className:"text-lg text-black dark:text-white font-semibold",children:"Group Members"})}),k.jsx("div",{className:"p-2",children:i.members.map((l,s)=>a&&l.Player!==t.source?k.jsxs("div",{className:"flex items-center p-2 bg-gray-200 dark:bg-gray-500 rounded-lg my-2",children:[k.jsxs("div",{children:[k.jsx(Ae,{icon:mp,className:"self-right text-black dark:text-white mr-2",onClick:()=>o(l)}),k.jsx(Ae,{icon:dc,className:"text-black dark:text-white mr-3"})]}),k.jsx("span",{className:"text-black dark:text-white",children:l.name})]},s):k.jsxs("div",{className:"flex items-center p-2 bg-gray-200 dark:bg-gray-500 rounded-lg my-2",children:[k.jsx(Ae,{icon:dc,className:"text-black dark:text-white mr-3"}),k.jsx("span",{className:"text-black dark:text-white",children:l.name})]},s))}),k.jsx("div",{className:"pb-4 px-4",children:k.jsx("button",{className:"w-full py-2 bg-green-500 hover:bg-green-400 text-black dark:text-white rounded-lg",onClick:()=>e("GroupDashboard"),children:"RETURN"})})]})})},kh=()=>{},Ti=(e,t)=>{const n=W.useRef(kh);W.useEffect(()=>{n.current=t},[t]),W.useEffect(()=>{const r=i=>{const{action:a,data:o}=i.data;n.current&&a===e&&n.current(o)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[e])},xh=fs(e=>({groupJobSteps:[{id:1,name:"Step 1",isDone:!1},{id:2,name:"Step 2",isDone:!1},{id:3,name:"Step 3",isDone:!1}],setGroupJobSteps:t=>e({groupJobSteps:t})})),Sh=()=>{const{groupJobSteps:e}=xh(),[t,n]=W.useState(e);return Ti("updateGroupJobStep",r=>{if(!r||!r.id){console.error("Invalid updateGroupJobStep data",r);return}n(i=>i.map(a=>a.id===r.id?{...a,isDone:r.isDone}:a))}),k.jsx("div",{className:"flex justify-center items-center h-screen bg-gray-900",children:k.jsx("div",{className:"w-full max-w-md bg-gray-800 text-white rounded-lg shadow-md p-6",children:k.jsx("div",{className:"relative border-l border-gray-700 ml-4 pl-4",children:t.map(r=>k.jsxs("div",{className:"mb-6 flex items-center",children:[k.jsx("span",{className:"absolute left-0 transform -translate-x-1/2 bg-gray-900 border border-gray-700 w-6 h-6 rounded-full flex items-center justify-center",children:k.jsx(Ae,{icon:gh,className:r.isDone?"text-green-500":"text-gray-500"})}),k.jsxs("div",{className:"ml-8",children:[k.jsx("div",{className:"text-sm text-gray-400",children:r.isDone?"1 / 1":"0 / 1"}),k.jsx("div",{children:r.name})]})]},r.id))})})})},vp=!(window!=null&&window.invokeNative),Eh=()=>{const[e,t]=W.useState("light"),n=W.useRef(null),{setPopUp:r,fetchNui:i,sendNotification:a,getSettings:o,onSettingsChange:l}=window,[s,u]=W.useState("GroupDashboard");W.useEffect(()=>{if(vp){document.getElementsByTagName("html")[0].style.visibility="visible",document.getElementsByTagName("body")[0].style.visibility="visible";return}else o().then(d=>t(d.display.theme)),l(d=>t(d.display.theme))},[e]),Ti("startJob",()=>{u("GroupJob")}),Ti("sendNotification",d=>{a(d)}),Ti("phoneNotification",d=>{r({title:d.PhoneNotify.title,description:d.PhoneNotify.text,buttons:[{title:d.PhoneNotify.deny,color:"red",cb:()=>{$.post("https://slrn_groups/AnsweredNotify",JSON.stringify({type:"failure"}))}},{title:d.PhoneNotify.accept,color:"blue",cb:()=>{$.post("https://slrn_groups/AnsweredNotify",JSON.stringify({type:"success"}))}}]})});const f=()=>{t(e==="dark"?"light":"dark"),console.log(e)};return k.jsxs(Ch,{children:[k.jsx("button",{onClick:f,className:"w-56 h-13 bg-background-highlight-light dark:bg-background-highlight-dark text-text-primary-light dark:text-text-primary-dark rounded-m",children:"Toggle Theme"}),k.jsxs("div",{className:"grid grid-cols-1 size-full bg-background-primary-light dark:bg-background-primary-dark font-poppins text-center gap-4",ref:n,"data-mode":e,children:[s==="GroupDashboard"&&k.jsx(yh,{setCurrentPage:u}),s==="PlayerList"&&k.jsx(wh,{setCurrentPage:u}),s==="GroupJob"&&k.jsx(Sh,{setCurrentPage:u})]})]})},Ch=({children:e})=>vp?k.jsx("div",{className:"absolute bottom-0 top-0 left-0 right-0 m-auto w-[29rem] h-[58.5rem]",children:e}):e,mc=!(window!=null&&window.invokeNative),Nh=so.createRoot(document.getElementById("root"));if(window.name===""||mc){const e=()=>{Nh.render(k.jsx(oa.StrictMode,{children:k.jsx(Eh,{})}))};mc?e():window.addEventListener("message",t=>{t.data==="componentsLoaded"&&e()})} diff --git a/web/dist/assets/index-Bw_vSpTC.css b/web/dist/assets/index-Bw_vSpTC.css new file mode 100644 index 0000000..c49db4e --- /dev/null +++ b/web/dist/assets/index-Bw_vSpTC.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.m-auto{margin:auto}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.size-full{width:100%;height:100%}.h-6{height:1.5rem}.h-\[58\.5rem\]{height:58.5rem}.h-screen{height:100vh}.w-56{width:14rem}.w-6{width:1.5rem}.w-80{width:20rem}.w-\[29rem\]{width:29rem}.w-full{width:100%}.max-w-md{max-width:28rem}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.self-start{align-self:flex-start}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.bg-background-highlight-light{--tw-bg-opacity: 1;background-color:rgb(220 220 220 / var(--tw-bg-opacity))}.bg-background-primary-light{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity: .75}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.text-center{text-align:center}.font-poppins{font-family:Poppins,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-text-primary-light{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0{opacity:0}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.dev-wrapper{position:absolute;bottom:0;top:0;left:0;right:0;margin:auto;width:29rem;height:58.5rem}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.hover\:bg-gray-500:hover{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.hover\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.hover\:text-green-500:hover{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.dark\:bg-background-highlight-dark:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(20 20 20 / var(--tw-bg-opacity))}.dark\:bg-background-primary-dark:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.dark\:bg-blue-900:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity))}.dark\:bg-gray-500:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.dark\:bg-gray-600:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:bg-gray-700:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-900:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark\:text-text-primary-dark:where([data-mode=dark],[data-mode=dark] *){--tw-text-opacity: 1;color:rgb(242 242 247 / var(--tw-text-opacity))}.dark\:text-white:where([data-mode=dark],[data-mode=dark] *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}html,body{margin:0;padding:0;box-sizing:border-box;visibility:hidden} diff --git a/web/dist/assets/index-b237b9f1.css b/web/dist/assets/index-b237b9f1.css deleted file mode 100644 index efbd77e..0000000 --- a/web/dist/assets/index-b237b9f1.css +++ /dev/null @@ -1 +0,0 @@ -*{margin:0;padding:0;box-sizing:border-box}.app{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background-color:var(--background-primary);font-family:Poppins,sans-serif}.app-wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem}.header,.button-wrapper{display:flex;flex-direction:column;text-align:center;gap:.2rem}.button-wrapper{gap:1rem}.title{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.subtitle{font-size:1rem;font-weight:400;color:var(--text-secondary)}button{width:14rem;height:3.25rem;background-color:var(--background-highlight);color:var(--text-primary);border:none;border-radius:.3rem;font-size:.8rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .25s ease-in-out;user-select:none}button:hover{filter:brightness(.8)}input{width:14rem;height:3.25rem;background-color:var(--background-highlight);color:var(--text-primary);border:none;border-radius:.3rem;padding:0 1rem;font-size:.8rem;font-weight:600;transition:all .25s ease-in-out;outline:none}.dev-wrapper{position:absolute;bottom:0;top:0;left:0;right:0;margin:auto;width:29rem;height:58.5rem}:root{--background-primary: #f5f5f5;--background-highlight: rgb(220, 220, 220);--text-primary: #000000;--text-secondary: #8e8e93}[data-theme=dark]{--background-primary: #000000;--background-highlight: rgb(20, 20, 20);--text-primary: #f2f2f7;--text-secondary: #6f6f6f}html,body{margin:0;padding:0;box-sizing:border-box;visibility:hidden} diff --git a/web/dist/assets/index-d0b56479.js b/web/dist/assets/index-d0b56479.js deleted file mode 100644 index cc3b826..0000000 --- a/web/dist/assets/index-d0b56479.js +++ /dev/null @@ -1,40 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();function lc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Lr={},oc={get exports(){return Lr},set exports(e){Lr=e}},tl={},Le={},ic={get exports(){return Le},set exports(e){Le=e}},T={};/** - * @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 Gn=Symbol.for("react.element"),uc=Symbol.for("react.portal"),sc=Symbol.for("react.fragment"),ac=Symbol.for("react.strict_mode"),cc=Symbol.for("react.profiler"),fc=Symbol.for("react.provider"),dc=Symbol.for("react.context"),pc=Symbol.for("react.forward_ref"),mc=Symbol.for("react.suspense"),vc=Symbol.for("react.memo"),hc=Symbol.for("react.lazy"),Ui=Symbol.iterator;function yc(e){return e===null||typeof e!="object"?null:(e=Ui&&e[Ui]||e["@@iterator"],typeof e=="function"?e:null)}var Gu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Xu=Object.assign,Zu={};function ln(e,t,n){this.props=e,this.context=t,this.refs=Zu,this.updater=n||Gu}ln.prototype.isReactComponent={};ln.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")};ln.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Ju(){}Ju.prototype=ln.prototype;function Ho(e,t,n){this.props=e,this.context=t,this.refs=Zu,this.updater=n||Gu}var Wo=Ho.prototype=new Ju;Wo.constructor=Ho;Xu(Wo,ln.prototype);Wo.isPureReactComponent=!0;var $i=Array.isArray,qu=Object.prototype.hasOwnProperty,Qo={current:null},bu={key:!0,ref:!0,__self:!0,__source:!0};function es(e,t,n){var r,l={},o=null,i=null;if(t!=null)for(r in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(o=""+t.key),t)qu.call(t,r)&&!bu.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(u===1)l.children=n;else if(1>>1,G=C[H];if(0>>1;Hl(wl,z))ytl(er,wl)?(C[H]=er,C[yt]=z,H=yt):(C[H]=wl,C[ht]=z,H=ht);else if(ytl(er,z))C[H]=er,C[yt]=z,H=yt;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,u=i.now();e.unstable_now=function(){return i.now()-u}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,S=!1,M=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=n(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,t(s,P);else break;P=n(c)}}function h(C){if(S=!1,d(C),!w)if(n(s)!==null)w=!0,yl(E);else{var P=n(c);P!==null&&gl(h,P.startTime-C)}}function E(C,P){w=!1,S&&(S=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=n(s);m!==null&&(!(m.expirationTime>P)||C&&!Ne());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var G=H(m.expirationTime<=P);P=e.unstable_now(),typeof G=="function"?m.callback=G:m===n(s)&&r(s),d(P)}else r(s);m=n(s)}if(m!==null)var bn=!0;else{var ht=n(c);ht!==null&&gl(h,ht.startTime-P),bn=!1}return bn}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,L=-1;function Ne(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,t(c,C),n(s)===null&&C===n(c)&&(S?(f(N),N=-1):S=!0,gl(h,z-H))):(C.sortIndex=G,t(s,C),w||g||(w=!0,yl(E))),C},e.unstable_shouldYield=Ne,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(ns);(function(e){e.exports=ns})(Lc);/** - * @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 rs=Le,ye=Xl;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Zl=Object.prototype.hasOwnProperty,Rc=/^[: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]*$/,Vi={},Bi={};function Oc(e){return Zl.call(Bi,e)?!0:Zl.call(Vi,e)?!1:Rc.test(e)?Bi[e]=!0:(Vi[e]=!0,!1)}function Mc(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Dc(e,t,n,r){if(t===null||typeof t>"u"||Mc(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.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 se(e,t,n,r,l,o,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new se(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];b[t]=new se(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new se(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new se(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){b[e]=new se(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new se(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new se(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new se(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new se(e,5,!1,e.toLowerCase(),null,!1,!1)});var Yo=/[\-:]([a-z])/g;function Go(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(Yo,Go);b[t]=new se(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(Yo,Go);b[t]=new se(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(Yo,Go);b[t]=new se(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new se(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new se("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new se(e,1,!1,e.toLowerCase(),null,!0,!0)});function Xo(e,t,n,r){var l=b.hasOwnProperty(t)?b[t]:null;(l!==null?l.type!==0:r||!(2u||l[i]!==o[u]){var s=` -`+l[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{Cl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?gn(e):""}function Ic(e){switch(e.tag){case 5:return gn(e.type);case 16:return gn("Lazy");case 13:return gn("Suspense");case 19:return gn("SuspenseList");case 0:case 2:case 15:return e=_l(e.type,!1),e;case 11:return e=_l(e.type.render,!1),e;case 1:return e=_l(e.type,!0),e;default:return""}}function eo(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 Dt:return"Fragment";case Mt:return"Portal";case Jl:return"Profiler";case Zo:return"StrictMode";case ql:return"Suspense";case bl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case is:return(e.displayName||"Context")+".Consumer";case os:return(e._context.displayName||"Context")+".Provider";case Jo:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case qo:return t=e.displayName||null,t!==null?t:eo(e.type)||"Memo";case Je:t=e._payload,e=e._init;try{return eo(e(t))}catch{}}return null}function Fc(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 eo(t);case 8:return t===Zo?"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 ft(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ss(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function jc(e){var t=ss(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function rr(e){e._valueTracker||(e._valueTracker=jc(e))}function as(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ss(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Rr(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 to(e,t){var n=t.checked;return A({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Wi(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=ft(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function cs(e,t){t=t.checked,t!=null&&Xo(e,"checked",t,!1)}function no(e,t){cs(e,t);var n=ft(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ro(e,t.type,n):t.hasOwnProperty("defaultValue")&&ro(e,t.type,ft(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Qi(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ro(e,t,n){(t!=="number"||Rr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var wn=Array.isArray;function Qt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function On(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var En={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},Uc=["Webkit","ms","Moz","O"];Object.keys(En).forEach(function(e){Uc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),En[t]=En[e]})});function ms(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||En.hasOwnProperty(e)&&En[e]?(""+t).trim():t+"px"}function vs(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=ms(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var $c=A({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 io(e,t){if(t){if($c[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(y(62))}}function uo(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 so=null;function bo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ao=null,Kt=null,Yt=null;function Gi(e){if(e=Jn(e)){if(typeof ao!="function")throw Error(y(280));var t=e.stateNode;t&&(t=il(t),ao(e.stateNode,e.type,t))}}function hs(e){Kt?Yt?Yt.push(e):Yt=[e]:Kt=e}function ys(){if(Kt){var e=Kt,t=Yt;if(Yt=Kt=null,Gi(e),t)for(e=0;e>>=0,e===0?32:31-(Zc(e)/Jc|0)|0}var or=64,ir=4194304;function Sn(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 Ir(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,i=n&268435455;if(i!==0){var u=i&~l;u!==0?r=Sn(u):(o&=i,o!==0&&(r=Sn(o)))}else i=n&~l,i!==0?r=Sn(i):o!==0&&(r=Sn(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,o=t&-t,l>=o||l===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Xn(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function tf(e,t){var n=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 r=e.eventTimes;for(e=e.expirationTimes;0=_n),ru=String.fromCharCode(32),lu=!1;function js(e,t){switch(e){case"keyup":return Lf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Us(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var It=!1;function Of(e,t){switch(e){case"compositionend":return Us(t);case"keypress":return t.which!==32?null:(lu=!0,ru);case"textInput":return e=t.data,e===ru&&lu?null:e;default:return null}}function Mf(e,t){if(It)return e==="compositionend"||!ui&&js(e,t)?(e=Is(),kr=li=tt=null,It=!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:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=su(n)}}function Bs(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Bs(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Hs(){for(var e=window,t=Rr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Rr(e.document)}return t}function si(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 Bf(e){var t=Hs(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Bs(n.ownerDocument.documentElement,n)){if(r!==null&&si(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=au(n,o);var i=au(n,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ft=null,ho=null,Nn=null,yo=!1;function cu(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;yo||Ft==null||Ft!==Rr(r)||(r=Ft,"selectionStart"in r&&si(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Nn&&Un(Nn,r)||(Nn=r,r=Ur(ho,"onSelect"),0$t||(e.current=Co[$t],Co[$t]=null,$t--)}function D(e,t){$t++,Co[$t]=e.current,e.current=t}var dt={},le=mt(dt),fe=mt(!1),xt=dt;function qt(e,t){var n=e.type.contextTypes;if(!n)return dt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in n)l[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function de(e){return e=e.childContextTypes,e!=null}function Ar(){F(fe),F(le)}function yu(e,t,n){if(le.current!==dt)throw Error(y(168));D(le,t),D(fe,n)}function qs(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(y(108,Fc(e)||"Unknown",l));return A({},n,r)}function Vr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||dt,xt=le.current,D(le,e),D(fe,fe.current),!0}function gu(e,t,n){var r=e.stateNode;if(!r)throw Error(y(169));n?(e=qs(e,t,xt),r.__reactInternalMemoizedMergedChildContext=e,F(fe),F(le),D(le,e)):F(fe),D(fe,n)}var Ve=null,ul=!1,Ul=!1;function bs(e){Ve===null?Ve=[e]:Ve.push(e)}function ed(e){ul=!0,bs(e)}function vt(){if(!Ul&&Ve!==null){Ul=!0;var e=0,t=O;try{var n=Ve;for(O=1;e>=i,l-=i,Be=1<<32-Oe(t)+l|n<N?(B=x,x=null):B=x.sibling;var L=p(f,x,d[N],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&t(f,x),a=o(L,a,N),_===null?E=L:_.sibling=L,_=L,x=B}if(N===d.length)return n(f,x),j&>(f,N),E;if(x===null){for(;NN?(B=x,x=null):B=x.sibling;var Ne=p(f,x,L.value,h);if(Ne===null){x===null&&(x=B);break}e&&x&&Ne.alternate===null&&t(f,x),a=o(Ne,a,N),_===null?E=Ne:_.sibling=Ne,_=Ne,x=B}if(L.done)return n(f,x),j&>(f,N),E;if(x===null){for(;!L.done;N++,L=d.next())L=m(f,L.value,h),L!==null&&(a=o(L,a,N),_===null?E=L:_.sibling=L,_=L);return j&>(f,N),E}for(x=r(f,x);!L.done;N++,L=d.next())L=g(x,f,N,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?N:L.key),a=o(L,a,N),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(sn){return t(f,sn)}),j&>(f,N),E}function M(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===Dt&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Dt){if(_.tag===7){n(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Je&&xu(E)===_.type){n(f,_.sibling),a=l(_,d.props),a.ref=vn(f,_,d),a.return=f,f=a;break e}n(f,_);break}else t(f,_);_=_.sibling}d.type===Dt?(a=_t(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=Tr(d.type,d.key,d.props,null,f.mode,h),h.ref=vn(f,a,d),h.return=f,f=h)}return i(f);case Mt:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{n(f,a);break}else t(f,a);a=a.sibling}a=Kl(d,f.mode,h),a.return=f,f=a}return i(f);case Je:return _=d._init,M(f,a,_(d._payload),h)}if(wn(d))return w(f,a,d,h);if(cn(d))return S(f,a,d,h);pr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(f,a.sibling),a=l(a,d),a.return=f,f=a):(n(f,a),a=Ql(d,f.mode,h),a.return=f,f=a),i(f)):n(f,a)}return M}var en=ua(!0),sa=ua(!1),qn={},$e=mt(qn),Bn=mt(qn),Hn=mt(qn);function Et(e){if(e===qn)throw Error(y(174));return e}function yi(e,t){switch(D(Hn,t),D(Bn,e),D($e,qn),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:oo(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=oo(t,e)}F($e),D($e,t)}function tn(){F($e),F(Bn),F(Hn)}function aa(e){Et(Hn.current);var t=Et($e.current),n=oo(t,e.type);t!==n&&(D(Bn,e),D($e,n))}function gi(e){Bn.current===e&&(F($e),F(Bn))}var U=mt(0);function Yr(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)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 $l=[];function wi(){for(var e=0;e<$l.length;e++)$l[e]._workInProgressVersionPrimary=null;$l.length=0}var _r=Xe.ReactCurrentDispatcher,Al=Xe.ReactCurrentBatchConfig,Pt=0,$=null,K=null,X=null,Gr=!1,Pn=!1,Wn=0,nd=0;function ee(){throw Error(y(321))}function Si(e,t){if(t===null)return!1;for(var n=0;nn?n:4,e(!0);var r=Al.transition;Al.transition={};try{e(!1),t()}finally{O=n,Al.transition=r}}function xa(){return xe().memoizedState}function ld(e,t,n){var r=at(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Na(e))Pa(t,n);else if(n=ra(e,t,n,r),n!==null){var l=ie();Me(n,e,r,l),za(n,t,r)}}function od(e,t,n){var r=at(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Na(e))Pa(t,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,u=o(i,n);if(l.hasEagerState=!0,l.eagerState=u,De(u,i)){var s=t.interleaved;s===null?(l.next=l,vi(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=ra(e,t,l,r),n!==null&&(l=ie(),Me(n,e,r,l),za(n,t,r))}}function Na(e){var t=e.alternate;return e===$||t!==null&&t===$}function Pa(e,t){Pn=Gr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function za(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ti(e,n)}}var Xr={readContext:_e,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},id={readContext:_e,useCallback:function(e,t){return Fe().memoizedState=[e,t===void 0?null:t],e},useContext:_e,useEffect:Pu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,xr(4194308,4,Sa.bind(null,t,e),n)},useLayoutEffect:function(e,t){return xr(4194308,4,e,t)},useInsertionEffect:function(e,t){return xr(4,2,e,t)},useMemo:function(e,t){var n=Fe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Fe();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ld.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var t=Fe();return e={current:e},t.memoizedState=e},useState:Nu,useDebugValue:_i,useDeferredValue:function(e){return Fe().memoizedState=e},useTransition:function(){var e=Nu(!1),t=e[0];return e=rd.bind(null,e[1]),Fe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=$,l=Fe();if(j){if(n===void 0)throw Error(y(407));n=n()}else{if(n=t(),Z===null)throw Error(y(349));Pt&30||da(r,t,n)}l.memoizedState=n;var o={value:n,getSnapshot:t};return l.queue=o,Pu(ma.bind(null,r,o,e),[e]),r.flags|=2048,Kn(9,pa.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Fe(),t=Z.identifierPrefix;if(j){var n=He,r=Be;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Wn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[je]=t,e[Vn]=r,ja(e,t,!1,!1),t.stateNode=e;e:{switch(i=uo(n,r),n){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lrn&&(t.flags|=128,r=!0,hn(o,!1),t.lanes=4194304)}else{if(!r)if(e=Yr(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),hn(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!j)return te(t),null}else 2*W()-o.renderingStartTime>rn&&n!==1073741824&&(t.flags|=128,r=!0,hn(o,!1),t.lanes=4194304);o.isBackwards?(i.sibling=t.child,t.child=i):(n=o.last,n!==null?n.sibling=i:t.child=i,o.last=i)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=W(),t.sibling=null,n=U.current,D(U,r?n&1|2:n&1),t):(te(t),null);case 22:case 23:return Li(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?me&1073741824&&(te(t),t.subtreeFlags&6&&(t.flags|=8192)):te(t),null;case 24:return null;case 25:return null}throw Error(y(156,t.tag))}function md(e,t){switch(ci(t),t.tag){case 1:return de(t.type)&&Ar(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return tn(),F(fe),F(le),wi(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return gi(t),null;case 13:if(F(U),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(y(340));bt()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return F(U),null;case 4:return tn(),null;case 10:return mi(t.type._context),null;case 22:case 23:return Li(),null;case 24:return null;default:return null}}var vr=!1,re=!1,vd=typeof WeakSet=="function"?WeakSet:Set,k=null;function Ht(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){V(e,t,r)}else n.current=null}function Io(e,t,n){try{n()}catch(r){V(e,t,r)}}var Fu=!1;function hd(e,t){if(go=Fr,e=Hs(),si(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var i=0,u=-1,s=-1,c=0,v=0,m=e,p=null;t:for(;;){for(var g;m!==n||l!==0&&m.nodeType!==3||(u=i+l),m!==o||r!==0&&m.nodeType!==3||(s=i+r),m.nodeType===3&&(i+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break t;if(p===n&&++c===l&&(u=i),p===o&&++v===r&&(s=i),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(wo={focusedElem:e,selectionRange:n},Fr=!1,k=t;k!==null;)if(t=k,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,k=e;else for(;k!==null;){t=k;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var S=w.memoizedProps,M=w.memoizedState,f=t.stateNode,a=f.getSnapshotBeforeUpdate(t.elementType===t.type?S:ze(t.type,S),M);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(t,t.return,h)}if(e=t.sibling,e!==null){e.return=t.return,k=e;break}k=t.return}return w=Fu,Fu=!1,w}function zn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Io(t,n,o)}l=l.next}while(l!==r)}}function cl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Fo(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Aa(e){var t=e.alternate;t!==null&&(e.alternate=null,Aa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[je],delete t[Vn],delete t[Eo],delete t[qf],delete t[bf])),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 Va(e){return e.tag===5||e.tag===3||e.tag===4}function ju(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Va(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 jo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=$r));else if(r!==4&&(e=e.child,e!==null))for(jo(e,t,n),e=e.sibling;e!==null;)jo(e,t,n),e=e.sibling}function Uo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Uo(e,t,n),e=e.sibling;e!==null;)Uo(e,t,n),e=e.sibling}var J=null,Te=!1;function Ze(e,t,n){for(n=n.child;n!==null;)Ba(e,t,n),n=n.sibling}function Ba(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(nl,n)}catch{}switch(n.tag){case 5:re||Ht(n,t);case 6:var r=J,l=Te;J=null,Ze(e,t,n),J=r,Te=l,J!==null&&(Te?(e=J,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):J.removeChild(n.stateNode));break;case 18:J!==null&&(Te?(e=J,n=n.stateNode,e.nodeType===8?jl(e.parentNode,n):e.nodeType===1&&jl(e,n),Fn(e)):jl(J,n.stateNode));break;case 4:r=J,l=Te,J=n.stateNode.containerInfo,Te=!0,Ze(e,t,n),J=r,Te=l;break;case 0:case 11:case 14:case 15:if(!re&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&Io(n,t,i),l=l.next}while(l!==r)}Ze(e,t,n);break;case 1:if(!re&&(Ht(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){V(n,t,u)}Ze(e,t,n);break;case 21:Ze(e,t,n);break;case 22:n.mode&1?(re=(r=re)||n.memoizedState!==null,Ze(e,t,n),re=r):Ze(e,t,n);break;default:Ze(e,t,n)}}function Uu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new vd),t.forEach(function(r){var l=xd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Pe(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=i),r&=~o}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*gd(r/1960))-r,10e?16:e,nt===null)var r=!1;else{if(e=nt,nt=null,qr=0,R&6)throw Error(y(331));var l=R;for(R|=4,k=e.current;k!==null;){var o=k,i=o.child;if(k.flags&16){var u=o.deletions;if(u!==null){for(var s=0;sW()-zi?Ct(e,0):Pi|=n),pe(e,t)}function Za(e,t){t===0&&(e.mode&1?(t=ir,ir<<=1,!(ir&130023424)&&(ir=4194304)):t=1);var n=ie();e=Ye(e,t),e!==null&&(Xn(e,t,n),pe(e,n))}function _d(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Za(e,n)}function xd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(t),Za(e,n)}var Ja;Ja=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||fe.current)ce=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ce=!1,dd(e,t,n);ce=!!(e.flags&131072)}else ce=!1,j&&t.flags&1048576&&ea(t,Hr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Nr(e,t),e=t.pendingProps;var l=qt(t,le.current);Xt(t,n),l=ki(null,t,r,e,l,n);var o=Ei();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,de(r)?(o=!0,Vr(t)):o=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,hi(t),l.updater=sl,t.stateNode=l,l._reactInternals=t,zo(t,r,e,n),t=Ro(null,t,r,!0,o,n)):(t.tag=0,j&&o&&ai(t),oe(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Nr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Pd(r),e=ze(r,e),l){case 0:t=Lo(null,t,r,e,n);break e;case 1:t=Mu(null,t,r,e,n);break e;case 11:t=Ru(null,t,r,e,n);break e;case 14:t=Ou(null,t,r,ze(r.type,e),n);break e}throw Error(y(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Lo(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Mu(e,t,r,l,n);case 3:e:{if(Da(t),e===null)throw Error(y(387));r=t.pendingProps,o=t.memoizedState,l=o.element,la(e,t),Kr(t,r,null,n);var i=t.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){l=nn(Error(y(423)),t),t=Du(e,t,r,n,l);break e}else if(r!==l){l=nn(Error(y(424)),t),t=Du(e,t,r,n,l);break e}else for(ve=it(t.stateNode.containerInfo.firstChild),he=t,j=!0,Re=null,n=sa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(bt(),r===l){t=Ge(e,t,n);break e}oe(e,t,r,n)}t=t.child}return t;case 5:return aa(t),e===null&&xo(t),r=t.type,l=t.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,So(r,l)?i=null:o!==null&&So(r,o)&&(t.flags|=32),Ma(e,t),oe(e,t,i,n),t.child;case 6:return e===null&&xo(t),null;case 13:return Ia(e,t,n);case 4:return yi(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=en(t,null,r,n):oe(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Ru(e,t,r,l,n);case 7:return oe(e,t,t.pendingProps,n),t.child;case 8:return oe(e,t,t.pendingProps.children,n),t.child;case 12:return oe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,i=l.value,D(Wr,r._currentValue),r._currentValue=i,o!==null)if(De(o.value,i)){if(o.children===l.children&&!fe.current){t=Ge(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var u=o.dependencies;if(u!==null){i=o.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=We(-1,n&-n),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),No(o.return,n,t),u.lanes|=n;break}s=s.next}}else if(o.tag===10)i=o.type===t.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(y(341));i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),No(i,n,t),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===t){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}oe(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Xt(t,n),l=_e(l),r=r(l),t.flags|=1,oe(e,t,r,n),t.child;case 14:return r=t.type,l=ze(r,t.pendingProps),l=ze(r.type,l),Ou(e,t,r,l,n);case 15:return Ra(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Nr(e,t),t.tag=1,de(r)?(e=!0,Vr(t)):e=!1,Xt(t,n),ia(t,r,l),zo(t,r,l,n),Ro(null,t,r,!0,e,n);case 19:return Fa(e,t,n);case 22:return Oa(e,t,n)}throw Error(y(156,t.tag))};function qa(e,t){return _s(e,t)}function Nd(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ee(e,t,n,r){return new Nd(e,t,n,r)}function Oi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Pd(e){if(typeof e=="function")return Oi(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Jo)return 11;if(e===qo)return 14}return 2}function ct(e,t){var n=e.alternate;return n===null?(n=Ee(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Tr(e,t,n,r,l,o){var i=2;if(r=e,typeof e=="function")Oi(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Dt:return _t(n.children,l,o,t);case Zo:i=8,l|=8;break;case Jl:return e=Ee(12,n,t,l|2),e.elementType=Jl,e.lanes=o,e;case ql:return e=Ee(13,n,t,l),e.elementType=ql,e.lanes=o,e;case bl:return e=Ee(19,n,t,l),e.elementType=bl,e.lanes=o,e;case us:return dl(n,l,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case os:i=10;break e;case is:i=9;break e;case Jo:i=11;break e;case qo:i=14;break e;case Je:i=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return t=Ee(i,n,t,l),t.elementType=e,t.type=r,t.lanes=o,t}function _t(e,t,n,r){return e=Ee(7,e,r,t),e.lanes=n,e}function dl(e,t,n,r){return e=Ee(22,e,r,t),e.elementType=us,e.lanes=n,e.stateNode={isHidden:!1},e}function Ql(e,t,n){return e=Ee(6,e,null,t),e.lanes=n,e}function Kl(e,t,n){return t=Ee(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zd(e,t,n,r,l){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=Nl(0),this.expirationTimes=Nl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Nl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Mi(e,t,n,r,l,o,i,u,s){return e=new zd(e,t,n,u,s),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Ee(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hi(o),e}function Td(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}t(),e.exports=ge})(Tc);var Ku=Gl;Yl.createRoot=Ku.createRoot,Yl.hydrateRoot=Ku.hydrateRoot;const nc=!(window!=null&&window.invokeNative),Dd=()=>{const[e,t]=Le.useState("light"),[n,r]=Le.useState("N"),[l,o]=Le.useState("Notification text"),i=Le.useRef(null),{setPopUp:u,setContextMenu:s,selectGIF:c,selectGallery:v,selectEmoji:m,fetchNui:p,sendNotification:g,getSettings:w,onSettingsChange:S,colorPicker:M,useCamera:f}=window;return Le.useEffect(()=>{if(nc){document.getElementsByTagName("html")[0].style.visibility="visible",document.getElementsByTagName("body")[0].style.visibility="visible";return}else w().then(a=>t(a.display.theme)),S(a=>t(a.display.theme));p("getDirection").then(a=>r(a)),window.addEventListener("message",a=>{var d;((d=a.data)==null?void 0:d.type)==="updateDirection"&&r(a.data.direction)})},[]),Le.useEffect(()=>{l===""&&o("Notification text")},[l]),ne(Id,{children:ne("div",{className:"app",ref:i,"data-theme":e,children:kl("div",{className:"app-wrapper",children:[kl("div",{className:"header",children:[ne("div",{className:"title",children:"Custom App Template"}),ne("div",{className:"subtitle",children:"React TS"}),ne("a",{className:"subtitle",children:n})]}),kl("div",{className:"button-wrapper",children:[ne("button",{id:"button",onClick:()=>{u({title:"Popup Menu",description:"Confirm your choice",buttons:[{title:"Cancel",color:"red",cb:()=>{console.log("Cancel")}},{title:"Confirm",color:"blue",cb:()=>{console.log("Confirm")}}]})},children:"Popup Menu"}),ne("button",{id:"context",onClick:()=>{s({title:"Context menu",buttons:[{title:"Phone Notification",color:"blue",cb:()=>{g({title:l})}},{title:"GTA Notification",color:"red",cb:()=>{p("drawNotification",{message:l})}}]})},children:"Context menu"}),ne("button",{id:"gif",onClick:()=>{c(a=>{u({title:"Selected GIF",attachment:{src:a},buttons:[{title:"OK"}]})})},children:"Gif Selector"}),ne("button",{id:"gallery",onClick:()=>{v({includeVideos:!0,includeImages:!0,cb:a=>{u({title:"Selected media",attachment:a,buttons:[{title:"OK"}]})}})},children:"Gallery Selector"}),ne("button",{id:"emoji",onClick:()=>{m(a=>{u({title:"Selected emoji",description:a,buttons:[{title:"OK"}]})})},children:"Emoji Selector"}),ne("button",{id:"colorpicker",onClick:()=>{M(a=>{u({title:"Selected color",description:a,buttons:[{title:"OK"}]})})},children:"Color Picker"}),ne("button",{id:"camreacomponent",onClick:()=>{f(a=>{u({title:"Media taken",attachment:{src:a},buttons:[{title:"OK"}]})},{default:{type:"Photo",flash:!1,camera:"rear"},permissions:{toggleFlash:!0,flipCamera:!0,takePhoto:!0,takeVideo:!0,takeLandscapePhoto:!0}})},children:"Camera Component"}),ne("input",{placeholder:"Notification text",onChange:a=>o(a.target.value)})]})]})})})},Id=({children:e})=>nc?ne("div",{className:"dev-wrapper",children:e}):e;const Yu=!(window!=null&&window.invokeNative),Fd=Yl.createRoot(document.getElementById("root"));if(window.name===""||Yu){const e=()=>{Fd.render(ne(Ec.StrictMode,{children:ne(Dd,{})}))};Yu?e():window.addEventListener("message",t=>{t.data==="componentsLoaded"&&e()})} diff --git a/web/dist/index.html b/web/dist/index.html index 27a3ca6..4f63473 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -4,18 +4,17 @@ - - LB Phone | App Template - React TS + + SLRN Groups - - + +
- diff --git a/web/src/components/GroupDashboard.tsx b/web/src/components/GroupDashboard.tsx index 0f476af..a0f74ba 100644 --- a/web/src/components/GroupDashboard.tsx +++ b/web/src/components/GroupDashboard.tsx @@ -29,7 +29,6 @@ const GroupDashboard = ({ setCurrentPage }) => { status: "open", GName: groupData.groupName, GPass: groupData.password, - Users: 1, leader: playerData.source, members: [ { @@ -126,14 +125,14 @@ const GroupDashboard = ({ setCurrentPage }) => {
<> {isLeader || isMember ? ( -
{renderIcons(isLeader, isMember, element.Users)}
+
{renderIcons(isLeader, isMember, element.members.length)}
) : ( <> - {element.Users} + {element.members.length} )} diff --git a/web/src/storage/GroupStore.ts b/web/src/storage/GroupStore.ts index 28ab2e5..b9bdc13 100644 --- a/web/src/storage/GroupStore.ts +++ b/web/src/storage/GroupStore.ts @@ -20,7 +20,6 @@ export const useGroupStore = create((set) => ({ status: 'open', GName: 'Larrys Group', GPass: 'password', - Users: 3, leader: 1, members: [{ name: 'Larry', CID: 'ABCD1234', Player: 1 }, { name: 'Barry', CID: 'EFGH5678', Player: 2 }, @@ -33,12 +32,32 @@ export const useGroupStore = create((set) => ({ status: 'open', GName: 'Group 2', GPass: 'password', - Users: 2, leader: 2, members: [{ name: 'Larry', CID: 'ABCD1234', Player: 3 }], stage: initialSteps, ScriptCreated: false, }, + { + id: 3, + status: 'open', + GName: 'Group 3', + GPass: 'password', + leader: 3, + members: [{ name: 'Larry', CID: 'ABCD1234', Player: 1 }, + { name: 'Barry', CID: 'EFGH5678', Player: 3 }], + stage: initialSteps, + ScriptCreated: false, + }, + { + id: 4, + status: 'open', + GName: 'Group 4', + GPass: 'password', + leader: 4, + members: [{ name: 'Larry', CID: 'ABCD1234', Player: 4 }], + stage: initialSteps, + ScriptCreated: false, + } ], setGroups: (groups) => set({ groups }), })); diff --git a/web/src/types/Group.ts b/web/src/types/Group.ts index 98c8bbf..8102528 100644 --- a/web/src/types/Group.ts +++ b/web/src/types/Group.ts @@ -3,7 +3,6 @@ export type Group = { status: string; GName: string; GPass: string; - Users: number; leader: number; members: Member[]; stage: GroupJobStep[]; diff --git a/web/src/utils/fetchReactNui.ts b/web/src/utils/fetchReactNui.ts new file mode 100644 index 0000000..4b81eee --- /dev/null +++ b/web/src/utils/fetchReactNui.ts @@ -0,0 +1,39 @@ +import { isEnvBrowser } from "./misc"; + +/** + * Simple wrapper around fetch API tailored for CEF/NUI use. This abstraction + * can be extended to include AbortController if needed or if the response isn't + * JSON. Tailor it to your needs. + * + * @param eventName - The endpoint eventname to target + * @param data - Data you wish to send in the NUI Callback + * @param mockData - Mock data to be returned if in the browser + * + * @return returnData - A promise for the data sent back by the NuiCallbacks CB argument + */ + +export async function fetchReactNui( + eventName: string, + data?: unknown, + mockData?: T, +): Promise { + const options = { + method: "post", + headers: { + "Content-Type": "application/json; charset=UTF-8", + }, + body: JSON.stringify(data), + }; + + if (isEnvBrowser() && mockData) return mockData; + + const resourceName = (window as any).GetParentResourceName + ? (window as any).GetParentResourceName() + : "nui-frame-app"; + + const resp = await fetch(`https://${resourceName}/${eventName}`, options); + + const respFormatted = await resp.json(); + + return respFormatted; +} From 11f696db5a5a2b9daa2092cadab9ec1aa690b4ad Mon Sep 17 00:00:00 2001 From: Solareon <769465+solareon@users.noreply.github.com> Date: Tue, 25 Jun 2024 23:58:16 +0200 Subject: [PATCH 03/34] chore(gitignore): modify gitignore --- web/.gitignore | 2 +- web/dist/.gitkeep | 1 - web/dist/assets/index-BmNeMFzf.js | 818 ----------------------------- web/dist/assets/index-Bw_vSpTC.css | 1 - web/dist/icon.svg | 10 - web/dist/index.html | 20 - web/dist/screenshot-dark.png | Bin 32253 -> 0 bytes web/dist/screenshot-light.png | Bin 32340 -> 0 bytes 8 files changed, 1 insertion(+), 851 deletions(-) delete mode 100644 web/dist/.gitkeep delete mode 100644 web/dist/assets/index-BmNeMFzf.js delete mode 100644 web/dist/assets/index-Bw_vSpTC.css delete mode 100644 web/dist/icon.svg delete mode 100644 web/dist/index.html delete mode 100644 web/dist/screenshot-dark.png delete mode 100644 web/dist/screenshot-light.png diff --git a/web/.gitignore b/web/.gitignore index 2a994f0..8ee13e1 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -20,4 +20,4 @@ yarn-debug.log* yarn-error.log* pnpm-lock.yaml -./dist/** \ No newline at end of file +dist \ No newline at end of file diff --git a/web/dist/.gitkeep b/web/dist/.gitkeep deleted file mode 100644 index 56a6051..0000000 --- a/web/dist/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/web/dist/assets/index-BmNeMFzf.js b/web/dist/assets/index-BmNeMFzf.js deleted file mode 100644 index 476f90e..0000000 --- a/web/dist/assets/index-BmNeMFzf.js +++ /dev/null @@ -1,818 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();function hl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vc={exports:{}},aa={},hc={exports:{}},I={};/** - * @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 jr=Symbol.for("react.element"),gp=Symbol.for("react.portal"),yp=Symbol.for("react.fragment"),wp=Symbol.for("react.strict_mode"),kp=Symbol.for("react.profiler"),xp=Symbol.for("react.provider"),Sp=Symbol.for("react.context"),Ep=Symbol.for("react.forward_ref"),Cp=Symbol.for("react.suspense"),Np=Symbol.for("react.memo"),Pp=Symbol.for("react.lazy"),Ps=Symbol.iterator;function _p(e){return e===null||typeof e!="object"?null:(e=Ps&&e[Ps]||e["@@iterator"],typeof e=="function"?e:null)}var gc={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},yc=Object.assign,wc={};function Rn(e,t,n){this.props=e,this.context=t,this.refs=wc,this.updater=n||gc}Rn.prototype.isReactComponent={};Rn.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")};Rn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function kc(){}kc.prototype=Rn.prototype;function gl(e,t,n){this.props=e,this.context=t,this.refs=wc,this.updater=n||gc}var yl=gl.prototype=new kc;yl.constructor=gl;yc(yl,Rn.prototype);yl.isPureReactComponent=!0;var _s=Array.isArray,xc=Object.prototype.hasOwnProperty,wl={current:null},Sc={key:!0,ref:!0,__self:!0,__source:!0};function Ec(e,t,n){var r,i={},a=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(a=""+t.key),t)xc.call(t,r)&&!Sc.hasOwnProperty(r)&&(i[r]=t[r]);var l=arguments.length-2;if(l===1)i.children=n;else if(1>>1,ie=_[Z];if(0>>1;Zi(ba,A))Dti(Wr,ba)?(_[Z]=Wr,_[Dt]=A,Z=Dt):(_[Z]=ba,_[Mt]=A,Z=Mt);else if(Dti(Wr,A))_[Z]=Wr,_[Dt]=A,Z=Dt;else break e}}return z}function i(_,z){var A=_.sortIndex-z.sortIndex;return A!==0?A:_.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var s=[],u=[],f=1,d=null,v=3,h=!1,g=!1,w=!1,T=typeof setTimeout=="function"?setTimeout:null,p=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 m(_){for(var z=n(u);z!==null;){if(z.callback===null)r(u);else if(z.startTime<=_)r(u),z.sortIndex=z.expirationTime,t(s,z);else break;z=n(u)}}function y(_){if(w=!1,m(_),!g)if(n(s)!==null)g=!0,_a(S);else{var z=n(u);z!==null&&Oa(y,z.startTime-_)}}function S(_,z){g=!1,w&&(w=!1,p(b),b=-1),h=!0;var A=v;try{for(m(z),d=n(s);d!==null&&(!(d.expirationTime>z)||_&&!Me());){var Z=d.callback;if(typeof Z=="function"){d.callback=null,v=d.priorityLevel;var ie=Z(d.expirationTime<=z);z=e.unstable_now(),typeof ie=="function"?d.callback=ie:d===n(s)&&r(s),m(z)}else r(s);d=n(s)}if(d!==null)var Hr=!0;else{var Mt=n(u);Mt!==null&&Oa(y,Mt.startTime-z),Hr=!1}return Hr}finally{d=null,v=A,h=!1}}var N=!1,P=null,b=-1,M=5,L=-1;function Me(){return!(e.unstable_now()-L_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return v},e.unstable_getFirstCallbackNode=function(){return n(s)},e.unstable_next=function(_){switch(v){case 1:case 2:case 3:var z=3;break;default:z=v}var A=v;v=z;try{return _()}finally{v=A}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,z){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var A=v;v=_;try{return z()}finally{v=A}},e.unstable_scheduleCallback=function(_,z,A){var Z=e.unstable_now();switch(typeof A=="object"&&A!==null?(A=A.delay,A=typeof A=="number"&&0Z?(_.sortIndex=A,t(u,_),n(s)===null&&_===n(u)&&(w?(p(b),b=-1):w=!0,Oa(y,A-Z))):(_.sortIndex=ie,t(s,_),g||h||(g=!0,_a(S))),_},e.unstable_shouldYield=Me,e.unstable_wrapCallback=function(_){var z=v;return function(){var A=v;v=z;try{return _.apply(this,arguments)}finally{v=A}}}})(Oc);_c.exports=Oc;var Dp=_c.exports;/** - * @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 Fp=W,Pe=Dp;function x(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),uo=Object.prototype.hasOwnProperty,$p=/^[: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]*$/,bs={},Ts={};function Up(e){return uo.call(Ts,e)?!0:uo.call(bs,e)?!1:$p.test(e)?Ts[e]=!0:(bs[e]=!0,!1)}function Hp(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Wp(e,t,n,r){if(t===null||typeof t>"u"||Hp(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.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 ge(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var ue={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ue[e]=new ge(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ue[t]=new ge(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ue[e]=new ge(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ue[e]=new ge(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){ue[e]=new ge(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ue[e]=new ge(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ue[e]=new ge(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ue[e]=new ge(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ue[e]=new ge(e,5,!1,e.toLowerCase(),null,!1,!1)});var xl=/[\-:]([a-z])/g;function Sl(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(xl,Sl);ue[t]=new ge(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(xl,Sl);ue[t]=new ge(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(xl,Sl);ue[t]=new ge(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ue[e]=new ge(e,1,!1,e.toLowerCase(),null,!1,!1)});ue.xlinkHref=new ge("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ue[e]=new ge(e,1,!1,e.toLowerCase(),null,!0,!0)});function El(e,t,n,r){var i=ue.hasOwnProperty(t)?ue[t]:null;(i!==null?i.type!==0:r||!(2l||i[o]!==a[l]){var s=` -`+i[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=l);break}}}finally{Aa=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Xn(e):""}function Vp(e){switch(e.tag){case 5:return Xn(e.type);case 16:return Xn("Lazy");case 13:return Xn("Suspense");case 19:return Xn("SuspenseList");case 0:case 2:case 15:return e=La(e.type,!1),e;case 11:return e=La(e.type.render,!1),e;case 1:return e=La(e.type,!0),e;default:return""}}function mo(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 on:return"Fragment";case an:return"Portal";case co:return"Profiler";case Cl:return"StrictMode";case fo:return"Suspense";case po:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case zc:return(e.displayName||"Context")+".Consumer";case Tc:return(e._context.displayName||"Context")+".Provider";case Nl:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Pl:return t=e.displayName||null,t!==null?t:mo(e.type)||"Memo";case vt:t=e._payload,e=e._init;try{return mo(e(t))}catch{}}return null}function Bp(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 mo(t);case 8:return t===Cl?"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 bt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Lc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Yp(e){var t=Lc(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Yr(e){e._valueTracker||(e._valueTracker=Yp(e))}function jc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Lc(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function zi(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 vo(e,t){var n=t.checked;return K({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function As(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=bt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ic(e,t){t=t.checked,t!=null&&El(e,"checked",t,!1)}function ho(e,t){Ic(e,t);var n=bt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?go(e,t.type,n):t.hasOwnProperty("defaultValue")&&go(e,t.type,bt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ls(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function go(e,t,n){(t!=="number"||zi(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Jn=Array.isArray;function kn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Gr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function pr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var tr={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},Gp=["Webkit","ms","Moz","O"];Object.keys(tr).forEach(function(e){Gp.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),tr[t]=tr[e]})});function Fc(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||tr.hasOwnProperty(e)&&tr[e]?(""+t).trim():t+"px"}function $c(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Fc(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Qp=K({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 ko(e,t){if(t){if(Qp[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(x(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(x(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(x(61))}if(t.style!=null&&typeof t.style!="object")throw Error(x(62))}}function xo(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 So=null;function _l(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Eo=null,xn=null,Sn=null;function Rs(e){if(e=Mr(e)){if(typeof Eo!="function")throw Error(x(280));var t=e.stateNode;t&&(t=fa(t),Eo(e.stateNode,e.type,t))}}function Uc(e){xn?Sn?Sn.push(e):Sn=[e]:xn=e}function Hc(){if(xn){var e=xn,t=Sn;if(Sn=xn=null,Rs(e),t)for(e=0;e>>=0,e===0?32:31-(am(e)/om|0)|0}var Qr=64,Kr=4194304;function Zn(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 Ii(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~i;l!==0?r=Zn(l):(a&=o,a!==0&&(r=Zn(a)))}else o=n&~i,o!==0?r=Zn(o):a!==0&&(r=Zn(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Ir(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-We(t),e[t]=n}function cm(e,t){var n=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 r=e.eventTimes;for(e=e.expirationTimes;0=rr),Bs=" ",Ys=!1;function uf(e,t){switch(e){case"keyup":return Dm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function cf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ln=!1;function $m(e,t){switch(e){case"compositionend":return cf(t);case"keypress":return t.which!==32?null:(Ys=!0,Bs);case"textInput":return e=t.data,e===Bs&&Ys?null:e;default:return null}}function Um(e,t){if(ln)return e==="compositionend"||!Il&&uf(e,t)?(e=lf(),wi=Al=wt=null,ln=!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:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Xs(n)}}function mf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vf(){for(var e=window,t=zi();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=zi(e.document)}return t}function Rl(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 Xm(e){var t=vf(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&mf(n.ownerDocument.documentElement,n)){if(r!==null&&Rl(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Js(n,a);var o=Js(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,sn=null,bo=null,ar=null,To=!1;function Zs(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;To||sn==null||sn!==zi(r)||(r=sn,"selectionStart"in r&&Rl(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ar&&wr(ar,r)||(ar=r,r=Di(bo,"onSelect"),0fn||(e.current=Ro[fn],Ro[fn]=null,fn--)}function F(e,t){fn++,Ro[fn]=e.current,e.current=t}var Tt={},pe=It(Tt),ke=It(!1),Qt=Tt;function On(e,t){var n=e.type.contextTypes;if(!n)return Tt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function xe(e){return e=e.childContextTypes,e!=null}function $i(){V(ke),V(pe)}function au(e,t,n){if(pe.current!==Tt)throw Error(x(168));F(pe,t),F(ke,n)}function Cf(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(x(108,Bp(e)||"Unknown",i));return K({},n,r)}function Ui(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Tt,Qt=pe.current,F(pe,e),F(ke,ke.current),!0}function ou(e,t,n){var r=e.stateNode;if(!r)throw Error(x(169));n?(e=Cf(e,t,Qt),r.__reactInternalMemoizedMergedChildContext=e,V(ke),V(pe),F(pe,e)):V(ke),F(ke,n)}var et=null,da=!1,Ga=!1;function Nf(e){et===null?et=[e]:et.push(e)}function sv(e){da=!0,Nf(e)}function Rt(){if(!Ga&&et!==null){Ga=!0;var e=0,t=D;try{var n=et;for(D=1;e>=o,i-=o,tt=1<<32-We(t)+i|n<b?(M=P,P=null):M=P.sibling;var L=v(p,P,m[b],y);if(L===null){P===null&&(P=M);break}e&&P&&L.alternate===null&&t(p,P),c=a(L,c,b),N===null?S=L:N.sibling=L,N=L,P=M}if(b===m.length)return n(p,P),Y&&Ft(p,b),S;if(P===null){for(;bb?(M=P,P=null):M=P.sibling;var Me=v(p,P,L.value,y);if(Me===null){P===null&&(P=M);break}e&&P&&Me.alternate===null&&t(p,P),c=a(Me,c,b),N===null?S=Me:N.sibling=Me,N=Me,P=M}if(L.done)return n(p,P),Y&&Ft(p,b),S;if(P===null){for(;!L.done;b++,L=m.next())L=d(p,L.value,y),L!==null&&(c=a(L,c,b),N===null?S=L:N.sibling=L,N=L);return Y&&Ft(p,b),S}for(P=r(p,P);!L.done;b++,L=m.next())L=h(P,p,b,L.value,y),L!==null&&(e&&L.alternate!==null&&P.delete(L.key===null?b:L.key),c=a(L,c,b),N===null?S=L:N.sibling=L,N=L);return e&&P.forEach(function($n){return t(p,$n)}),Y&&Ft(p,b),S}function T(p,c,m,y){if(typeof m=="object"&&m!==null&&m.type===on&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Br:e:{for(var S=m.key,N=c;N!==null;){if(N.key===S){if(S=m.type,S===on){if(N.tag===7){n(p,N.sibling),c=i(N,m.props.children),c.return=p,p=c;break e}}else if(N.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===vt&&uu(S)===N.type){n(p,N.sibling),c=i(N,m.props),c.ref=Gn(p,N,m),c.return=p,p=c;break e}n(p,N);break}else t(p,N);N=N.sibling}m.type===on?(c=Gt(m.props.children,p.mode,y,m.key),c.return=p,p=c):(y=_i(m.type,m.key,m.props,null,p.mode,y),y.ref=Gn(p,c,m),y.return=p,p=y)}return o(p);case an:e:{for(N=m.key;c!==null;){if(c.key===N)if(c.tag===4&&c.stateNode.containerInfo===m.containerInfo&&c.stateNode.implementation===m.implementation){n(p,c.sibling),c=i(c,m.children||[]),c.return=p,p=c;break e}else{n(p,c);break}else t(p,c);c=c.sibling}c=to(m,p.mode,y),c.return=p,p=c}return o(p);case vt:return N=m._init,T(p,c,N(m._payload),y)}if(Jn(m))return g(p,c,m,y);if(Hn(m))return w(p,c,m,y);ni(p,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,c!==null&&c.tag===6?(n(p,c.sibling),c=i(c,m),c.return=p,p=c):(n(p,c),c=eo(m,p.mode,y),c.return=p,p=c),o(p)):n(p,c)}return T}var Tn=bf(!0),Tf=bf(!1),Vi=It(null),Bi=null,mn=null,$l=null;function Ul(){$l=mn=Bi=null}function Hl(e){var t=Vi.current;V(Vi),e._currentValue=t}function Fo(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Cn(e,t){Bi=e,$l=mn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(we=!0),e.firstContext=null)}function Ie(e){var t=e._currentValue;if($l!==e)if(e={context:e,memoizedValue:t,next:null},mn===null){if(Bi===null)throw Error(x(308));mn=e,Bi.dependencies={lanes:0,firstContext:e}}else mn=mn.next=e;return t}var Ht=null;function Wl(e){Ht===null?Ht=[e]:Ht.push(e)}function zf(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Wl(t)):(n.next=i.next,i.next=n),t.interleaved=n,ot(e,r)}function ot(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var ht=!1;function Vl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Af(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function rt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Nt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,R&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,ot(e,n)}return i=r.interleaved,i===null?(t.next=t,Wl(r)):(t.next=i.next,i.next=t),r.interleaved=t,ot(e,n)}function xi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bl(e,n)}}function cu(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Yi(e,t,n,r){var i=e.updateQueue;ht=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var s=l,u=s.next;s.next=null,o===null?a=u:o.next=u,o=s;var f=e.alternate;f!==null&&(f=f.updateQueue,l=f.lastBaseUpdate,l!==o&&(l===null?f.firstBaseUpdate=u:l.next=u,f.lastBaseUpdate=s))}if(a!==null){var d=i.baseState;o=0,f=u=s=null,l=a;do{var v=l.lane,h=l.eventTime;if((r&v)===v){f!==null&&(f=f.next={eventTime:h,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var g=e,w=l;switch(v=t,h=n,w.tag){case 1:if(g=w.payload,typeof g=="function"){d=g.call(h,d,v);break e}d=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=w.payload,v=typeof g=="function"?g.call(h,d,v):g,v==null)break e;d=K({},d,v);break e;case 2:ht=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,v=i.effects,v===null?i.effects=[l]:v.push(l))}else h={eventTime:h,lane:v,tag:l.tag,payload:l.payload,callback:l.callback,next:null},f===null?(u=f=h,s=d):f=f.next=h,o|=v;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;v=l,l=v.next,v.next=null,i.lastBaseUpdate=v,i.shared.pending=null}}while(!0);if(f===null&&(s=d),i.baseState=s,i.firstBaseUpdate=u,i.lastBaseUpdate=f,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Jt|=o,e.lanes=o,e.memoizedState=d}}function fu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Ka.transition;Ka.transition={};try{e(!1),t()}finally{D=n,Ka.transition=r}}function Kf(){return Re().memoizedState}function dv(e,t,n){var r=_t(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Xf(e))Jf(t,n);else if(n=zf(e,t,n,r),n!==null){var i=ve();Ve(n,e,r,i),Zf(n,t,r)}}function pv(e,t,n){var r=_t(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Xf(e))Jf(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,l=a(o,n);if(i.hasEagerState=!0,i.eagerState=l,Be(l,o)){var s=t.interleaved;s===null?(i.next=i,Wl(t)):(i.next=s.next,s.next=i),t.interleaved=i;return}}catch{}finally{}n=zf(e,t,i,r),n!==null&&(i=ve(),Ve(n,e,r,i),Zf(n,t,r))}}function Xf(e){var t=e.alternate;return e===Q||t!==null&&t===Q}function Jf(e,t){or=Qi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Zf(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bl(e,n)}}var Ki={readContext:Ie,useCallback:ce,useContext:ce,useEffect:ce,useImperativeHandle:ce,useInsertionEffect:ce,useLayoutEffect:ce,useMemo:ce,useReducer:ce,useRef:ce,useState:ce,useDebugValue:ce,useDeferredValue:ce,useTransition:ce,useMutableSource:ce,useSyncExternalStore:ce,useId:ce,unstable_isNewReconciler:!1},mv={readContext:Ie,useCallback:function(e,t){return Ge().memoizedState=[e,t===void 0?null:t],e},useContext:Ie,useEffect:pu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ei(4194308,4,Vf.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ei(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ei(4,2,e,t)},useMemo:function(e,t){var n=Ge();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ge();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=dv.bind(null,Q,e),[r.memoizedState,e]},useRef:function(e){var t=Ge();return e={current:e},t.memoizedState=e},useState:du,useDebugValue:Zl,useDeferredValue:function(e){return Ge().memoizedState=e},useTransition:function(){var e=du(!1),t=e[0];return e=fv.bind(null,e[1]),Ge().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Q,i=Ge();if(Y){if(n===void 0)throw Error(x(407));n=n()}else{if(n=t(),oe===null)throw Error(x(349));Xt&30||Rf(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,pu(Df.bind(null,r,a,e),[e]),r.flags|=2048,_r(9,Mf.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Ge(),t=oe.identifierPrefix;if(Y){var n=nt,r=tt;n=(r&~(1<<32-We(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Nr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Ke]=t,e[Sr]=r,sd(e,t,!1,!1),t.stateNode=e;e:{switch(o=xo(n,r),n){case"dialog":U("cancel",e),U("close",e),i=r;break;case"iframe":case"object":case"embed":U("load",e),i=r;break;case"video":case"audio":for(i=0;iLn&&(t.flags|=128,r=!0,Qn(a,!1),t.lanes=4194304)}else{if(!r)if(e=Gi(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Qn(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!Y)return fe(t),null}else 2*q()-a.renderingStartTime>Ln&&n!==1073741824&&(t.flags|=128,r=!0,Qn(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=q(),t.sibling=null,n=G.current,F(G,r?n&1|2:n&1),t):(fe(t),null);case 22:case 23:return is(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ee&1073741824&&(fe(t),t.subtreeFlags&6&&(t.flags|=8192)):fe(t),null;case 24:return null;case 25:return null}throw Error(x(156,t.tag))}function Sv(e,t){switch(Dl(t),t.tag){case 1:return xe(t.type)&&$i(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return zn(),V(ke),V(pe),Gl(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Yl(t),null;case 13:if(V(G),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(x(340));bn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return V(G),null;case 4:return zn(),null;case 10:return Hl(t.type._context),null;case 22:case 23:return is(),null;case 24:return null;default:return null}}var ii=!1,de=!1,Ev=typeof WeakSet=="function"?WeakSet:Set,C=null;function vn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){X(e,t,r)}else n.current=null}function Qo(e,t,n){try{n()}catch(r){X(e,t,r)}}var Cu=!1;function Cv(e,t){if(zo=Ri,e=vf(),Rl(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var o=0,l=-1,s=-1,u=0,f=0,d=e,v=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(l=o+i),d!==a||r!==0&&d.nodeType!==3||(s=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(h=d.firstChild)!==null;)v=d,d=h;for(;;){if(d===e)break t;if(v===n&&++u===i&&(l=o),v===a&&++f===r&&(s=o),(h=d.nextSibling)!==null)break;d=v,v=d.parentNode}d=h}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ao={focusedElem:e,selectionRange:n},Ri=!1,C=t;C!==null;)if(t=C,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,C=e;else for(;C!==null;){t=C;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var w=g.memoizedProps,T=g.memoizedState,p=t.stateNode,c=p.getSnapshotBeforeUpdate(t.elementType===t.type?w:Fe(t.type,w),T);p.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(y){X(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,C=e;break}C=t.return}return g=Cu,Cu=!1,g}function lr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&Qo(t,n,a)}i=i.next}while(i!==r)}}function va(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Ko(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function fd(e){var t=e.alternate;t!==null&&(e.alternate=null,fd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ke],delete t[Sr],delete t[Io],delete t[ov],delete t[lv])),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 dd(e){return e.tag===5||e.tag===3||e.tag===4}function Nu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dd(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 Xo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Fi));else if(r!==4&&(e=e.child,e!==null))for(Xo(e,t,n),e=e.sibling;e!==null;)Xo(e,t,n),e=e.sibling}function Jo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Jo(e,t,n),e=e.sibling;e!==null;)Jo(e,t,n),e=e.sibling}var le=null,$e=!1;function pt(e,t,n){for(n=n.child;n!==null;)pd(e,t,n),n=n.sibling}function pd(e,t,n){if(Je&&typeof Je.onCommitFiberUnmount=="function")try{Je.onCommitFiberUnmount(la,n)}catch{}switch(n.tag){case 5:de||vn(n,t);case 6:var r=le,i=$e;le=null,pt(e,t,n),le=r,$e=i,le!==null&&($e?(e=le,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):le.removeChild(n.stateNode));break;case 18:le!==null&&($e?(e=le,n=n.stateNode,e.nodeType===8?Ya(e.parentNode,n):e.nodeType===1&&Ya(e,n),gr(e)):Ya(le,n.stateNode));break;case 4:r=le,i=$e,le=n.stateNode.containerInfo,$e=!0,pt(e,t,n),le=r,$e=i;break;case 0:case 11:case 14:case 15:if(!de&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&Qo(n,t,o),i=i.next}while(i!==r)}pt(e,t,n);break;case 1:if(!de&&(vn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){X(n,t,l)}pt(e,t,n);break;case 21:pt(e,t,n);break;case 22:n.mode&1?(de=(r=de)||n.memoizedState!==null,pt(e,t,n),de=r):pt(e,t,n);break;default:pt(e,t,n)}}function Pu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ev),t.forEach(function(r){var i=Lv.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function De(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~a}if(r=i,r=q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Pv(r/1960))-r,10e?16:e,kt===null)var r=!1;else{if(e=kt,kt=null,Zi=0,R&6)throw Error(x(331));var i=R;for(R|=4,C=e.current;C!==null;){var a=C,o=a.child;if(C.flags&16){var l=a.deletions;if(l!==null){for(var s=0;sq()-ns?Yt(e,0):ts|=n),Se(e,t)}function xd(e,t){t===0&&(e.mode&1?(t=Kr,Kr<<=1,!(Kr&130023424)&&(Kr=4194304)):t=1);var n=ve();e=ot(e,t),e!==null&&(Ir(e,t,n),Se(e,n))}function Av(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),xd(e,n)}function Lv(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(t),xd(e,n)}var Sd;Sd=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ke.current)we=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return we=!1,kv(e,t,n);we=!!(e.flags&131072)}else we=!1,Y&&t.flags&1048576&&Pf(t,Wi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ci(e,t),e=t.pendingProps;var i=On(t,pe.current);Cn(t,n),i=Kl(null,t,r,e,i,n);var a=Xl();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,xe(r)?(a=!0,Ui(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Vl(t),i.updater=ma,t.stateNode=i,i._reactInternals=t,Uo(t,r,e,n),t=Vo(null,t,r,!0,a,n)):(t.tag=0,Y&&a&&Ml(t),me(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ci(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Iv(r),e=Fe(r,e),i){case 0:t=Wo(null,t,r,e,n);break e;case 1:t=xu(null,t,r,e,n);break e;case 11:t=wu(null,t,r,e,n);break e;case 14:t=ku(null,t,r,Fe(r.type,e),n);break e}throw Error(x(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fe(r,i),Wo(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fe(r,i),xu(e,t,r,i,n);case 3:e:{if(ad(t),e===null)throw Error(x(387));r=t.pendingProps,a=t.memoizedState,i=a.element,Af(e,t),Yi(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=An(Error(x(423)),t),t=Su(e,t,r,n,i);break e}else if(r!==i){i=An(Error(x(424)),t),t=Su(e,t,r,n,i);break e}else for(Ce=Ct(t.stateNode.containerInfo.firstChild),Ne=t,Y=!0,Ue=null,n=Tf(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(bn(),r===i){t=lt(e,t,n);break e}me(e,t,r,n)}t=t.child}return t;case 5:return Lf(t),e===null&&Do(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,Lo(r,i)?o=null:a!==null&&Lo(r,a)&&(t.flags|=32),id(e,t),me(e,t,o,n),t.child;case 6:return e===null&&Do(t),null;case 13:return od(e,t,n);case 4:return Bl(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Tn(t,null,r,n):me(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fe(r,i),wu(e,t,r,i,n);case 7:return me(e,t,t.pendingProps,n),t.child;case 8:return me(e,t,t.pendingProps.children,n),t.child;case 12:return me(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,F(Vi,r._currentValue),r._currentValue=o,a!==null)if(Be(a.value,o)){if(a.children===i.children&&!ke.current){t=lt(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var s=l.firstContext;s!==null;){if(s.context===r){if(a.tag===1){s=rt(-1,n&-n),s.tag=2;var u=a.updateQueue;if(u!==null){u=u.shared;var f=u.pending;f===null?s.next=s:(s.next=f.next,f.next=s),u.pending=s}}a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),Fo(a.return,n,t),l.lanes|=n;break}s=s.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(x(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Fo(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}me(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Cn(t,n),i=Ie(i),r=r(i),t.flags|=1,me(e,t,r,n),t.child;case 14:return r=t.type,i=Fe(r,t.pendingProps),i=Fe(r.type,i),ku(e,t,r,i,n);case 15:return nd(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fe(r,i),Ci(e,t),t.tag=1,xe(r)?(e=!0,Ui(t)):e=!1,Cn(t,n),qf(t,r,i),Uo(t,r,i,n),Vo(null,t,r,!0,e,n);case 19:return ld(e,t,n);case 22:return rd(e,t,n)}throw Error(x(156,t.tag))};function Ed(e,t){return Kc(e,t)}function jv(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Le(e,t,n,r){return new jv(e,t,n,r)}function os(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Iv(e){if(typeof e=="function")return os(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Nl)return 11;if(e===Pl)return 14}return 2}function Ot(e,t){var n=e.alternate;return n===null?(n=Le(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function _i(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")os(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case on:return Gt(n.children,i,a,t);case Cl:o=8,i|=8;break;case co:return e=Le(12,n,t,i|2),e.elementType=co,e.lanes=a,e;case fo:return e=Le(13,n,t,i),e.elementType=fo,e.lanes=a,e;case po:return e=Le(19,n,t,i),e.elementType=po,e.lanes=a,e;case Ac:return ga(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Tc:o=10;break e;case zc:o=9;break e;case Nl:o=11;break e;case Pl:o=14;break e;case vt:o=16,r=null;break e}throw Error(x(130,e==null?e:typeof e,""))}return t=Le(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function Gt(e,t,n,r){return e=Le(7,e,r,t),e.lanes=n,e}function ga(e,t,n,r){return e=Le(22,e,r,t),e.elementType=Ac,e.lanes=n,e.stateNode={isHidden:!1},e}function eo(e,t,n){return e=Le(6,e,null,t),e.lanes=n,e}function to(e,t,n){return t=Le(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Rv(e,t,n,r,i){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=Ia(0),this.expirationTimes=Ia(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ia(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ls(e,t,n,r,i,a,o,l,s){return e=new Rv(e,t,n,l,s),t===1?(t=1,a===!0&&(t|=8)):t=0,a=Le(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Vl(a),e}function Mv(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_d)}catch(e){console.error(e)}}_d(),Pc.exports=_e;var Hv=Pc.exports,ju=Hv;so.createRoot=ju.createRoot,so.hydrateRoot=ju.hydrateRoot;const Wv=({onSelect:e,onClose:t})=>{const[n,r]=W.useState(""),[i,a]=W.useState(""),[o,l]=W.useState(""),[s,u]=W.useState(""),[f,d]=W.useState(!0);W.useEffect(()=>{let h="";n===""?h="Group name is required":o===""?h="Password is required":o!==s&&(h="Passwords do not match"),a(h),d(h!=="")},[o,s,n]);const v=h=>{h.preventDefault(),e({groupName:n,password:o})};return k.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-75 flex justify-center items-center",children:k.jsxs("div",{className:"bg-gray-800 p-6 rounded-lg shadow-md w-full max-w-md",children:[k.jsxs("div",{className:"flex justify-between items-center mb-4",children:[k.jsx("h2",{className:"text-white text-2xl",children:"Create Group"}),k.jsx("button",{onClick:t,className:"text-white text-lg",children:"×"})]}),k.jsxs("form",{onSubmit:v,children:[k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"groupName",className:"block text-white mb-2",children:"Group Name"}),k.jsx("input",{type:"text",id:"groupName",value:n,onChange:h=>r(h.target.value),className:"w-full p-2 rounded bg-gray-700 text-white"})]}),k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"password",className:"block text-white mb-2",children:"Password"}),k.jsx("input",{type:"password",id:"password",value:o,onChange:h=>l(h.target.value),className:"w-full p-2 rounded bg-gray-700 text-white"})]}),k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"verifyPassword",className:"block text-white mb-2",children:"Verify Password"}),k.jsx("input",{type:"password",id:"verifyPassword",value:s,onChange:h=>u(h.target.value),className:"w-full p-2 rounded bg-gray-700 text-white"})]}),k.jsxs("div",{className:"flex justify-end",children:[k.jsx("button",{type:"button",onClick:t,className:"mr-2 px-4 py-2 rounded bg-gray-700 text-white hover:bg-gray-600",children:"Cancel"}),k.jsx("button",{type:"submit",className:`px-4 py-2 rounded text-white ${f?"bg-gray-700 cursor-not-allowed":"bg-green-500 hover:bg-green-400"}`,disabled:f,children:"Submit"})]}),i?k.jsx("div",{className:"mt-4 text-red-500",children:i}):k.jsx("div",{className:"mt-4",children:" "})]})]})})},Vv=({groupId:e,groupName:t,onSelect:n,onClose:r})=>{const[i,a]=W.useState(""),[o,l]=W.useState(""),[s,u]=W.useState(!0);W.useEffect(()=>{let d="";i===""&&(d="Password is required"),l(d),u(d!=="")},[i]);const f=d=>{d.preventDefault(),n({groupId:e,password:i})};return k.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-75 flex justify-center items-center",children:k.jsxs("div",{className:"bg-gray-800 p-6 rounded-lg shadow-md w-full max-w-md",children:[k.jsxs("div",{className:"flex justify-between items-center mb-4",children:[k.jsx("h2",{className:"text-white text-2xl",children:"Join Group"}),k.jsx("button",{onClick:r,className:"text-white text-lg",children:"×"})]}),k.jsxs("form",{onSubmit:f,children:[k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"groupName",className:"block text-white mb-2",children:"Group Name"}),k.jsx("div",{className:"w-full p-2 rounded bg-gray-700 text-white",children:t})]}),k.jsxs("div",{className:"mb-4",children:[k.jsx("label",{htmlFor:"password",className:"block text-white mb-2",children:"Password"}),k.jsx("input",{type:"password",id:"password",value:i,onChange:d=>a(d.target.value),className:"w-full p-2 rounded bg-gray-700 text-white"})]}),k.jsxs("div",{className:"flex justify-end",children:[k.jsx("button",{type:"button",onClick:r,className:"mr-2 px-4 py-2 rounded bg-gray-700 text-white hover:bg-gray-600",children:"Cancel"}),k.jsx("button",{type:"submit",className:`px-4 py-2 rounded text-white ${s?"bg-gray-700 cursor-not-allowed":"bg-green-500 hover:bg-green-400"}`,disabled:s,children:"Submit"})]}),o?k.jsx("div",{className:"mt-4 text-red-500",children:o}):k.jsx("div",{className:"mt-4",children:" "})]})]})})};var Bv={BASE_URL:"/ui/dist",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const Iu=e=>{let t;const n=new Set,r=(f,d)=>{const v=typeof f=="function"?f(t):f;if(!Object.is(v,t)){const h=t;t=d??(typeof v!="object"||v===null)?v:Object.assign({},t,v),n.forEach(g=>g(t,h))}},i=()=>t,s={setState:r,getState:i,getInitialState:()=>u,subscribe:f=>(n.add(f),()=>n.delete(f)),destroy:()=>{(Bv?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,i,s);return s},Yv=e=>e?Iu(e):Iu;var Od={exports:{}},bd={},Td={exports:{}},zd={};/** - * @license React - * use-sync-external-store-shim.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 jn=W;function Gv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Qv=typeof Object.is=="function"?Object.is:Gv,Kv=jn.useState,Xv=jn.useEffect,Jv=jn.useLayoutEffect,Zv=jn.useDebugValue;function qv(e,t){var n=t(),r=Kv({inst:{value:n,getSnapshot:t}}),i=r[0].inst,a=r[1];return Jv(function(){i.value=n,i.getSnapshot=t,no(i)&&a({inst:i})},[e,n,t]),Xv(function(){return no(i)&&a({inst:i}),e(function(){no(i)&&a({inst:i})})},[e]),Zv(n),n}function no(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Qv(e,n)}catch{return!0}}function e0(e,t){return t()}var t0=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?e0:qv;zd.useSyncExternalStore=jn.useSyncExternalStore!==void 0?jn.useSyncExternalStore:t0;Td.exports=zd;var n0=Td.exports;/** - * @license React - * use-sync-external-store-shim/with-selector.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 Sa=W,r0=n0;function i0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var a0=typeof Object.is=="function"?Object.is:i0,o0=r0.useSyncExternalStore,l0=Sa.useRef,s0=Sa.useEffect,u0=Sa.useMemo,c0=Sa.useDebugValue;bd.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=l0(null);if(a.current===null){var o={hasValue:!1,value:null};a.current=o}else o=a.current;a=u0(function(){function s(h){if(!u){if(u=!0,f=h,h=r(h),i!==void 0&&o.hasValue){var g=o.value;if(i(g,h))return d=g}return d=h}if(g=d,a0(f,h))return g;var w=r(h);return i!==void 0&&i(g,w)?g:(f=h,d=w)}var u=!1,f,d,v=n===void 0?null:n;return[function(){return s(t())},v===null?void 0:function(){return s(v())}]},[t,n,r,i]);var l=o0(e,a[0],a[1]);return s0(function(){o.hasValue=!0,o.value=l},[l]),c0(l),l};Od.exports=bd;var f0=Od.exports;const d0=hl(f0);var Ad={BASE_URL:"/ui/dist",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:p0}=oa,{useSyncExternalStoreWithSelector:m0}=d0;let Ru=!1;const v0=e=>e;function h0(e,t=v0,n){(Ad?"production":void 0)!=="production"&&n&&!Ru&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),Ru=!0);const r=m0(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return p0(r),r}const Mu=e=>{(Ad?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?Yv(e):e,n=(r,i)=>h0(t,r,i);return Object.assign(n,t),n},fs=e=>e?Mu(e):Mu,Ld=fs(e=>({playerData:{source:1,citizenId:"ABCD1234",name:"Testicle"},setPlayerData:t=>e({playerData:t})})),Du=[{id:1,name:"Step 1",isDone:!1},{id:2,name:"Step 2",isDone:!1},{id:3,name:"Step 3",isDone:!1}],jd=fs(e=>({groups:[{id:1,status:"open",GName:"Larrys Group",GPass:"password",Users:3,leader:1,members:[{name:"Larry",CID:"ABCD1234",Player:1},{name:"Barry",CID:"EFGH5678",Player:2},{name:"Harry",CID:"IJKL9101",Player:3}],stage:Du,ScriptCreated:!1},{id:2,status:"open",GName:"Group 2",GPass:"password",Users:2,leader:2,members:[{name:"Larry",CID:"ABCD1234",Player:3}],stage:Du,ScriptCreated:!1}],setGroups:t=>e({groups:t})}));function Fu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function E(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1;i--){var a=n[i],o=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=a)}return B.head.insertBefore(t,r),e}}var H0="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Lr(){for(var e=12,t="";e-- >0;)t+=H0[Math.random()*62|0];return t}function Fn(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function gs(e){return e.classList?Fn(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(t){return t})}function Yd(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function W0(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(Yd(e[n]),'" ')},"").trim()}function Ea(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function ys(e){return e.size!==Xe.size||e.x!==Xe.x||e.y!==Xe.y||e.rotate!==Xe.rotate||e.flipX||e.flipY}function V0(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},a="translate(".concat(t.x*32,", ").concat(t.y*32,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)"),s={transform:"".concat(a," ").concat(o," ").concat(l)},u={transform:"translate(".concat(r/2*-1," -256)")};return{outer:i,inner:s,path:u}}function B0(e){var t=e.transform,n=e.width,r=n===void 0?rl:n,i=e.height,a=i===void 0?rl:i,o=e.startCentered,l=o===void 0?!1:o,s="";return l&&Fd?s+="translate(".concat(t.x/mt-r/2,"em, ").concat(t.y/mt-a/2,"em) "):l?s+="translate(calc(-50% + ".concat(t.x/mt,"em), calc(-50% + ").concat(t.y/mt,"em)) "):s+="translate(".concat(t.x/mt,"em, ").concat(t.y/mt,"em) "),s+="scale(".concat(t.size/mt*(t.flipX?-1:1),", ").concat(t.size/mt*(t.flipY?-1:1),") "),s+="rotate(".concat(t.rotate,"deg) "),s}var Y0=`:root, :host { - --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid"; - --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular"; - --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light"; - --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin"; - --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; - --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; - --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; - --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; - --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; - --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; -} - -svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { - overflow: visible; - box-sizing: content-box; -} - -.svg-inline--fa { - display: var(--fa-display, inline-block); - height: 1em; - overflow: visible; - vertical-align: -0.125em; -} -.svg-inline--fa.fa-2xs { - vertical-align: 0.1em; -} -.svg-inline--fa.fa-xs { - vertical-align: 0em; -} -.svg-inline--fa.fa-sm { - vertical-align: -0.0714285705em; -} -.svg-inline--fa.fa-lg { - vertical-align: -0.2em; -} -.svg-inline--fa.fa-xl { - vertical-align: -0.25em; -} -.svg-inline--fa.fa-2xl { - vertical-align: -0.3125em; -} -.svg-inline--fa.fa-pull-left { - margin-right: var(--fa-pull-margin, 0.3em); - width: auto; -} -.svg-inline--fa.fa-pull-right { - margin-left: var(--fa-pull-margin, 0.3em); - width: auto; -} -.svg-inline--fa.fa-li { - width: var(--fa-li-width, 2em); - top: 0.25em; -} -.svg-inline--fa.fa-fw { - width: var(--fa-fw-width, 1.25em); -} - -.fa-layers svg.svg-inline--fa { - bottom: 0; - left: 0; - margin: auto; - position: absolute; - right: 0; - top: 0; -} - -.fa-layers-counter, .fa-layers-text { - display: inline-block; - position: absolute; - text-align: center; -} - -.fa-layers { - display: inline-block; - height: 1em; - position: relative; - text-align: center; - vertical-align: -0.125em; - width: 1em; -} -.fa-layers svg.svg-inline--fa { - -webkit-transform-origin: center center; - transform-origin: center center; -} - -.fa-layers-text { - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - -webkit-transform-origin: center center; - transform-origin: center center; -} - -.fa-layers-counter { - background-color: var(--fa-counter-background-color, #ff253a); - border-radius: var(--fa-counter-border-radius, 1em); - box-sizing: border-box; - color: var(--fa-inverse, #fff); - line-height: var(--fa-counter-line-height, 1); - max-width: var(--fa-counter-max-width, 5em); - min-width: var(--fa-counter-min-width, 1.5em); - overflow: hidden; - padding: var(--fa-counter-padding, 0.25em 0.5em); - right: var(--fa-right, 0); - text-overflow: ellipsis; - top: var(--fa-top, 0); - -webkit-transform: scale(var(--fa-counter-scale, 0.25)); - transform: scale(var(--fa-counter-scale, 0.25)); - -webkit-transform-origin: top right; - transform-origin: top right; -} - -.fa-layers-bottom-right { - bottom: var(--fa-bottom, 0); - right: var(--fa-right, 0); - top: auto; - -webkit-transform: scale(var(--fa-layers-scale, 0.25)); - transform: scale(var(--fa-layers-scale, 0.25)); - -webkit-transform-origin: bottom right; - transform-origin: bottom right; -} - -.fa-layers-bottom-left { - bottom: var(--fa-bottom, 0); - left: var(--fa-left, 0); - right: auto; - top: auto; - -webkit-transform: scale(var(--fa-layers-scale, 0.25)); - transform: scale(var(--fa-layers-scale, 0.25)); - -webkit-transform-origin: bottom left; - transform-origin: bottom left; -} - -.fa-layers-top-right { - top: var(--fa-top, 0); - right: var(--fa-right, 0); - -webkit-transform: scale(var(--fa-layers-scale, 0.25)); - transform: scale(var(--fa-layers-scale, 0.25)); - -webkit-transform-origin: top right; - transform-origin: top right; -} - -.fa-layers-top-left { - left: var(--fa-left, 0); - right: auto; - top: var(--fa-top, 0); - -webkit-transform: scale(var(--fa-layers-scale, 0.25)); - transform: scale(var(--fa-layers-scale, 0.25)); - -webkit-transform-origin: top left; - transform-origin: top left; -} - -.fa-1x { - font-size: 1em; -} - -.fa-2x { - font-size: 2em; -} - -.fa-3x { - font-size: 3em; -} - -.fa-4x { - font-size: 4em; -} - -.fa-5x { - font-size: 5em; -} - -.fa-6x { - font-size: 6em; -} - -.fa-7x { - font-size: 7em; -} - -.fa-8x { - font-size: 8em; -} - -.fa-9x { - font-size: 9em; -} - -.fa-10x { - font-size: 10em; -} - -.fa-2xs { - font-size: 0.625em; - line-height: 0.1em; - vertical-align: 0.225em; -} - -.fa-xs { - font-size: 0.75em; - line-height: 0.0833333337em; - vertical-align: 0.125em; -} - -.fa-sm { - font-size: 0.875em; - line-height: 0.0714285718em; - vertical-align: 0.0535714295em; -} - -.fa-lg { - font-size: 1.25em; - line-height: 0.05em; - vertical-align: -0.075em; -} - -.fa-xl { - font-size: 1.5em; - line-height: 0.0416666682em; - vertical-align: -0.125em; -} - -.fa-2xl { - font-size: 2em; - line-height: 0.03125em; - vertical-align: -0.1875em; -} - -.fa-fw { - text-align: center; - width: 1.25em; -} - -.fa-ul { - list-style-type: none; - margin-left: var(--fa-li-margin, 2.5em); - padding-left: 0; -} -.fa-ul > li { - position: relative; -} - -.fa-li { - left: calc(var(--fa-li-width, 2em) * -1); - position: absolute; - text-align: center; - width: var(--fa-li-width, 2em); - line-height: inherit; -} - -.fa-border { - border-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.08em); - padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); -} - -.fa-pull-left { - float: left; - margin-right: var(--fa-pull-margin, 0.3em); -} - -.fa-pull-right { - float: right; - margin-left: var(--fa-pull-margin, 0.3em); -} - -.fa-beat { - -webkit-animation-name: fa-beat; - animation-name: fa-beat; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-bounce { - -webkit-animation-name: fa-bounce; - animation-name: fa-bounce; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); -} - -.fa-fade { - -webkit-animation-name: fa-fade; - animation-name: fa-fade; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-beat-fade { - -webkit-animation-name: fa-beat-fade; - animation-name: fa-beat-fade; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-flip { - -webkit-animation-name: fa-flip; - animation-name: fa-flip; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-shake { - -webkit-animation-name: fa-shake; - animation-name: fa-shake; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, linear); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin { - -webkit-animation-name: fa-spin; - animation-name: fa-spin; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 2s); - animation-duration: var(--fa-animation-duration, 2s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, linear); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin-reverse { - --fa-animation-direction: reverse; -} - -.fa-pulse, -.fa-spin-pulse { - -webkit-animation-name: fa-spin; - animation-name: fa-spin; - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); - animation-timing-function: var(--fa-animation-timing, steps(8)); -} - -@media (prefers-reduced-motion: reduce) { - .fa-beat, -.fa-bounce, -.fa-fade, -.fa-beat-fade, -.fa-flip, -.fa-pulse, -.fa-shake, -.fa-spin, -.fa-spin-pulse { - -webkit-animation-delay: -1ms; - animation-delay: -1ms; - -webkit-animation-duration: 1ms; - animation-duration: 1ms; - -webkit-animation-iteration-count: 1; - animation-iteration-count: 1; - -webkit-transition-delay: 0s; - transition-delay: 0s; - -webkit-transition-duration: 0s; - transition-duration: 0s; - } -} -@-webkit-keyframes fa-beat { - 0%, 90% { - -webkit-transform: scale(1); - transform: scale(1); - } - 45% { - -webkit-transform: scale(var(--fa-beat-scale, 1.25)); - transform: scale(var(--fa-beat-scale, 1.25)); - } -} -@keyframes fa-beat { - 0%, 90% { - -webkit-transform: scale(1); - transform: scale(1); - } - 45% { - -webkit-transform: scale(var(--fa-beat-scale, 1.25)); - transform: scale(var(--fa-beat-scale, 1.25)); - } -} -@-webkit-keyframes fa-bounce { - 0% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); - } - 10% { - -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - } - 30% { - -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); - transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); - } - 50% { - -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - } - 57% { - -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - } - 64% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); - } - 100% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); - } -} -@keyframes fa-bounce { - 0% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); - } - 10% { - -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - } - 30% { - -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); - transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); - } - 50% { - -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - } - 57% { - -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - } - 64% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); - } - 100% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); - } -} -@-webkit-keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); - } -} -@keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); - } -} -@-webkit-keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - -webkit-transform: scale(1); - transform: scale(1); - } - 50% { - opacity: 1; - -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); - transform: scale(var(--fa-beat-fade-scale, 1.125)); - } -} -@keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - -webkit-transform: scale(1); - transform: scale(1); - } - 50% { - opacity: 1; - -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); - transform: scale(var(--fa-beat-fade-scale, 1.125)); - } -} -@-webkit-keyframes fa-flip { - 50% { - -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - } -} -@keyframes fa-flip { - 50% { - -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - } -} -@-webkit-keyframes fa-shake { - 0% { - -webkit-transform: rotate(-15deg); - transform: rotate(-15deg); - } - 4% { - -webkit-transform: rotate(15deg); - transform: rotate(15deg); - } - 8%, 24% { - -webkit-transform: rotate(-18deg); - transform: rotate(-18deg); - } - 12%, 28% { - -webkit-transform: rotate(18deg); - transform: rotate(18deg); - } - 16% { - -webkit-transform: rotate(-22deg); - transform: rotate(-22deg); - } - 20% { - -webkit-transform: rotate(22deg); - transform: rotate(22deg); - } - 32% { - -webkit-transform: rotate(-12deg); - transform: rotate(-12deg); - } - 36% { - -webkit-transform: rotate(12deg); - transform: rotate(12deg); - } - 40%, 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } -} -@keyframes fa-shake { - 0% { - -webkit-transform: rotate(-15deg); - transform: rotate(-15deg); - } - 4% { - -webkit-transform: rotate(15deg); - transform: rotate(15deg); - } - 8%, 24% { - -webkit-transform: rotate(-18deg); - transform: rotate(-18deg); - } - 12%, 28% { - -webkit-transform: rotate(18deg); - transform: rotate(18deg); - } - 16% { - -webkit-transform: rotate(-22deg); - transform: rotate(-22deg); - } - 20% { - -webkit-transform: rotate(22deg); - transform: rotate(22deg); - } - 32% { - -webkit-transform: rotate(-12deg); - transform: rotate(-12deg); - } - 36% { - -webkit-transform: rotate(12deg); - transform: rotate(12deg); - } - 40%, 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } -} -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.fa-rotate-90 { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} - -.fa-rotate-180 { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); -} - -.fa-rotate-270 { - -webkit-transform: rotate(270deg); - transform: rotate(270deg); -} - -.fa-flip-horizontal { - -webkit-transform: scale(-1, 1); - transform: scale(-1, 1); -} - -.fa-flip-vertical { - -webkit-transform: scale(1, -1); - transform: scale(1, -1); -} - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - -webkit-transform: scale(-1, -1); - transform: scale(-1, -1); -} - -.fa-rotate-by { - -webkit-transform: rotate(var(--fa-rotate-angle, 0)); - transform: rotate(var(--fa-rotate-angle, 0)); -} - -.fa-stack { - display: inline-block; - vertical-align: middle; - height: 2em; - position: relative; - width: 2.5em; -} - -.fa-stack-1x, -.fa-stack-2x { - bottom: 0; - left: 0; - margin: auto; - position: absolute; - right: 0; - top: 0; - z-index: var(--fa-stack-z-index, auto); -} - -.svg-inline--fa.fa-stack-1x { - height: 1em; - width: 1.25em; -} -.svg-inline--fa.fa-stack-2x { - height: 2em; - width: 2.5em; -} - -.fa-inverse { - color: var(--fa-inverse, #fff); -} - -.sr-only, -.fa-sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.sr-only-focusable:not(:focus), -.fa-sr-only-focusable:not(:focus) { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.svg-inline--fa .fa-primary { - fill: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa .fa-secondary { - fill: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-primary { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-secondary { - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa mask .fa-primary, -.svg-inline--fa mask .fa-secondary { - fill: black; -} - -.fad.fa-inverse, -.fa-duotone.fa-inverse { - color: var(--fa-inverse, #fff); -}`;function Gd(){var e=$d,t=Ud,n=O.cssPrefix,r=O.replacementClass,i=Y0;if(n!==e||r!==t){var a=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),l=new RegExp("\\.".concat(t),"g");i=i.replace(a,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(l,".".concat(r))}return i}var Bu=!1;function ro(){O.autoAddCss&&!Bu&&(U0(Gd()),Bu=!0)}var G0={mixout:function(){return{dom:{css:Gd,insertCss:ro}}},hooks:function(){return{beforeDOMElementCreation:function(){ro()},beforeI2svg:function(){ro()}}}},ut=zt||{};ut[st]||(ut[st]={});ut[st].styles||(ut[st].styles={});ut[st].hooks||(ut[st].hooks={});ut[st].shims||(ut[st].shims=[]);var He=ut[st],Qd=[],Q0=function e(){B.removeEventListener("DOMContentLoaded",e),na=1,Qd.map(function(t){return t()})},na=!1;dt&&(na=(B.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(B.readyState),na||B.addEventListener("DOMContentLoaded",Q0));function K0(e){dt&&(na?setTimeout(e,0):Qd.push(e))}function Ur(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,a=i===void 0?[]:i;return typeof e=="string"?Yd(e):"<".concat(t," ").concat(W0(r),">").concat(a.map(Ur).join(""),"")}function Yu(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var io=function(t,n,r,i){var a=Object.keys(t),o=a.length,l=n,s,u,f;for(r===void 0?(s=1,f=t[a[0]]):(s=0,f=r);s=55296&&i<=56319&&n=55296&&r<=56319&&n>t+1&&(i=e.charCodeAt(t+1),i>=56320&&i<=57343)?(r-55296)*1024+i-56320+65536:r}function Gu(e){return Object.keys(e).reduce(function(t,n){var r=e[n],i=!!r.icon;return i?t[r.iconName]=r.icon:t[n]=r,t},{})}function ol(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.skipHooks,i=r===void 0?!1:r,a=Gu(t);typeof He.hooks.addPack=="function"&&!i?He.hooks.addPack(e,Gu(t)):He.styles[e]=E(E({},He.styles[e]||{}),a),e==="fas"&&ol("fa",t)}var pi,mi,vi,gn=He.styles,Z0=He.shims,q0=(pi={},re(pi,H,Object.values(zr[H])),re(pi,J,Object.values(zr[J])),pi),ws=null,Kd={},Xd={},Jd={},Zd={},qd={},e1=(mi={},re(mi,H,Object.keys(br[H])),re(mi,J,Object.keys(br[J])),mi);function t1(e){return~R0.indexOf(e)}function n1(e,t){var n=t.split("-"),r=n[0],i=n.slice(1).join("-");return r===e&&i!==""&&!t1(i)?i:null}var ep=function(){var t=function(a){return io(gn,function(o,l,s){return o[s]=io(l,a,{}),o},{})};Kd=t(function(i,a,o){if(a[3]&&(i[a[3]]=o),a[2]){var l=a[2].filter(function(s){return typeof s=="number"});l.forEach(function(s){i[s.toString(16)]=o})}return i}),Xd=t(function(i,a,o){if(i[o]=o,a[2]){var l=a[2].filter(function(s){return typeof s=="string"});l.forEach(function(s){i[s]=o})}return i}),qd=t(function(i,a,o){var l=a[2];return i[o]=o,l.forEach(function(s){i[s]=o}),i});var n="far"in gn||O.autoFetchSvg,r=io(Z0,function(i,a){var o=a[0],l=a[1],s=a[2];return l==="far"&&!n&&(l="fas"),typeof o=="string"&&(i.names[o]={prefix:l,iconName:s}),typeof o=="number"&&(i.unicodes[o.toString(16)]={prefix:l,iconName:s}),i},{names:{},unicodes:{}});Jd=r.names,Zd=r.unicodes,ws=Ca(O.styleDefault,{family:O.familyDefault})};$0(function(e){ws=Ca(e.styleDefault,{family:O.familyDefault})});ep();function ks(e,t){return(Kd[e]||{})[t]}function r1(e,t){return(Xd[e]||{})[t]}function Bt(e,t){return(qd[e]||{})[t]}function tp(e){return Jd[e]||{prefix:null,iconName:null}}function i1(e){var t=Zd[e],n=ks("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function At(){return ws}var xs=function(){return{prefix:null,iconName:null,rest:[]}};function Ca(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.family,r=n===void 0?H:n,i=br[r][e],a=Tr[r][e]||Tr[r][i],o=e in He.styles?e:null;return a||o||null}var Qu=(vi={},re(vi,H,Object.keys(zr[H])),re(vi,J,Object.keys(zr[J])),vi);function Na(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.skipLookups,i=r===void 0?!1:r,a=(t={},re(t,H,"".concat(O.cssPrefix,"-").concat(H)),re(t,J,"".concat(O.cssPrefix,"-").concat(J)),t),o=null,l=H;(e.includes(a[H])||e.some(function(u){return Qu[H].includes(u)}))&&(l=H),(e.includes(a[J])||e.some(function(u){return Qu[J].includes(u)}))&&(l=J);var s=e.reduce(function(u,f){var d=n1(O.cssPrefix,f);if(gn[f]?(f=q0[l].includes(f)?T0[l][f]:f,o=f,u.prefix=f):e1[l].indexOf(f)>-1?(o=f,u.prefix=Ca(f,{family:l})):d?u.iconName=d:f!==O.replacementClass&&f!==a[H]&&f!==a[J]&&u.rest.push(f),!i&&u.prefix&&u.iconName){var v=o==="fa"?tp(u.iconName):{},h=Bt(u.prefix,u.iconName);v.prefix&&(o=null),u.iconName=v.iconName||h||u.iconName,u.prefix=v.prefix||u.prefix,u.prefix==="far"&&!gn.far&&gn.fas&&!O.autoFetchSvg&&(u.prefix="fas")}return u},xs());return(e.includes("fa-brands")||e.includes("fab"))&&(s.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(s.prefix="fad"),!s.prefix&&l===J&&(gn.fass||O.autoFetchSvg)&&(s.prefix="fass",s.iconName=Bt(s.prefix,s.iconName)||s.iconName),(s.prefix==="fa"||o==="fa")&&(s.prefix=At()||"fas"),s}var a1=function(){function e(){g0(this,e),this.definitions={}}return w0(e,[{key:"add",value:function(){for(var n=this,r=arguments.length,i=new Array(r),a=0;a0&&f.forEach(function(d){typeof d=="string"&&(n[l][d]=u)}),n[l][s]=u}),n}}]),e}(),Ku=[],yn={},Pn={},o1=Object.keys(Pn);function l1(e,t){var n=t.mixoutsTo;return Ku=e,yn={},Object.keys(Pn).forEach(function(r){o1.indexOf(r)===-1&&delete Pn[r]}),Ku.forEach(function(r){var i=r.mixout?r.mixout():{};if(Object.keys(i).forEach(function(o){typeof i[o]=="function"&&(n[o]=i[o]),ta(i[o])==="object"&&Object.keys(i[o]).forEach(function(l){n[o]||(n[o]={}),n[o][l]=i[o][l]})}),r.hooks){var a=r.hooks();Object.keys(a).forEach(function(o){yn[o]||(yn[o]=[]),yn[o].push(a[o])})}r.provides&&r.provides(Pn)}),n}function ll(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i1?t-1:0),r=1;r0&&arguments[0]!==void 0?arguments[0]:{};return dt?(en("beforeI2svg",t),ct("pseudoElements2svg",t),ct("i2svg",t)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot;O.autoReplaceSvg===!1&&(O.autoReplaceSvg=!0),O.observeMutations=!0,K0(function(){f1({autoReplaceSvgRoot:n}),en("watch",t)})}},c1={icon:function(t){if(t===null)return null;if(ta(t)==="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:Bt(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&t.length===2){var n=t[1].indexOf("fa-")===0?t[1].slice(3):t[1],r=Ca(t[0]);return{prefix:r,iconName:Bt(r,n)||n}}if(typeof t=="string"&&(t.indexOf("".concat(O.cssPrefix,"-"))>-1||t.match(z0))){var i=Na(t.split(" "),{skipLookups:!0});return{prefix:i.prefix||At(),iconName:Bt(i.prefix,i.iconName)||i.iconName}}if(typeof t=="string"){var a=At();return{prefix:a,iconName:Bt(a,t)||t}}}},be={noAuto:s1,config:O,dom:u1,parse:c1,library:np,findIconDefinition:sl,toHtml:Ur},f1=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot,r=n===void 0?B:n;(Object.keys(He.styles).length>0||O.autoFetchSvg)&&dt&&O.autoReplaceSvg&&be.dom.i2svg({node:r})};function Pa(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(r){return Ur(r)})}}),Object.defineProperty(e,"node",{get:function(){if(dt){var r=B.createElement("div");return r.innerHTML=e.html,r.children}}}),e}function d1(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,o=e.transform;if(ys(o)&&n.found&&!r.found){var l=n.width,s=n.height,u={x:l/s/2,y:.5};i.style=Ea(E(E({},a),{},{"transform-origin":"".concat(u.x+o.x/16,"em ").concat(u.y+o.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}function p1(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,o=a===!0?"".concat(t,"-").concat(O.cssPrefix,"-").concat(n):a;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:E(E({},i),{},{id:o}),children:r}]}]}function Ss(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,o=e.transform,l=e.symbol,s=e.title,u=e.maskId,f=e.titleId,d=e.extra,v=e.watchable,h=v===void 0?!1:v,g=r.found?r:n,w=g.width,T=g.height,p=i==="fak",c=[O.replacementClass,a?"".concat(O.cssPrefix,"-").concat(a):""].filter(function(M){return d.classes.indexOf(M)===-1}).filter(function(M){return M!==""||!!M}).concat(d.classes).join(" "),m={children:[],attributes:E(E({},d.attributes),{},{"data-prefix":i,"data-icon":a,class:c,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(w," ").concat(T)})},y=p&&!~d.classes.indexOf("fa-fw")?{width:"".concat(w/T*16*.0625,"em")}:{};h&&(m.attributes[qt]=""),s&&(m.children.push({tag:"title",attributes:{id:m.attributes["aria-labelledby"]||"title-".concat(f||Lr())},children:[s]}),delete m.attributes.title);var S=E(E({},m),{},{prefix:i,iconName:a,main:n,mask:r,maskId:u,transform:o,symbol:l,styles:E(E({},y),d.styles)}),N=r.found&&n.found?ct("generateAbstractMask",S)||{children:[],attributes:{}}:ct("generateAbstractIcon",S)||{children:[],attributes:{}},P=N.children,b=N.attributes;return S.children=P,S.attributes=b,l?p1(S):d1(S)}function Xu(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.title,o=e.extra,l=e.watchable,s=l===void 0?!1:l,u=E(E(E({},o.attributes),a?{title:a}:{}),{},{class:o.classes.join(" ")});s&&(u[qt]="");var f=E({},o.styles);ys(i)&&(f.transform=B0({transform:i,startCentered:!0,width:n,height:r}),f["-webkit-transform"]=f.transform);var d=Ea(f);d.length>0&&(u.style=d);var v=[];return v.push({tag:"span",attributes:u,children:[t]}),a&&v.push({tag:"span",attributes:{class:"sr-only"},children:[a]}),v}function m1(e){var t=e.content,n=e.title,r=e.extra,i=E(E(E({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),a=Ea(r.styles);a.length>0&&(i.style=a);var o=[];return o.push({tag:"span",attributes:i,children:[t]}),n&&o.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),o}var ao=He.styles;function ul(e){var t=e[0],n=e[1],r=e.slice(4),i=ds(r,1),a=i[0],o=null;return Array.isArray(a)?o={tag:"g",attributes:{class:"".concat(O.cssPrefix,"-").concat(Vt.GROUP)},children:[{tag:"path",attributes:{class:"".concat(O.cssPrefix,"-").concat(Vt.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(O.cssPrefix,"-").concat(Vt.PRIMARY),fill:"currentColor",d:a[1]}}]}:o={tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:t,height:n,icon:o}}var v1={found:!1,width:512,height:512};function h1(e,t){!Hd&&!O.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))}function cl(e,t){var n=t;return t==="fa"&&O.styleDefault!==null&&(t=At()),new Promise(function(r,i){if(ct("missingIconAbstract"),n==="fa"){var a=tp(e)||{};e=a.iconName||e,t=a.prefix||t}if(e&&t&&ao[t]&&ao[t][e]){var o=ao[t][e];return r(ul(o))}h1(e,t),r(E(E({},v1),{},{icon:O.showMissingIcons&&e?ct("missingIconAbstract")||{}:{}}))})}var Ju=function(){},fl=O.measurePerformance&&li&&li.mark&&li.measure?li:{mark:Ju,measure:Ju},er='FA "6.5.2"',g1=function(t){return fl.mark("".concat(er," ").concat(t," begins")),function(){return rp(t)}},rp=function(t){fl.mark("".concat(er," ").concat(t," ends")),fl.measure("".concat(er," ").concat(t),"".concat(er," ").concat(t," begins"),"".concat(er," ").concat(t," ends"))},Es={begin:g1,end:rp},Oi=function(){};function Zu(e){var t=e.getAttribute?e.getAttribute(qt):null;return typeof t=="string"}function y1(e){var t=e.getAttribute?e.getAttribute(ms):null,n=e.getAttribute?e.getAttribute(vs):null;return t&&n}function w1(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(O.replacementClass)}function k1(){if(O.autoReplaceSvg===!0)return bi.replace;var e=bi[O.autoReplaceSvg];return e||bi.replace}function x1(e){return B.createElementNS("http://www.w3.org/2000/svg",e)}function S1(e){return B.createElement(e)}function ip(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.ceFn,r=n===void 0?e.tag==="svg"?x1:S1:n;if(typeof e=="string")return B.createTextNode(e);var i=r(e.tag);Object.keys(e.attributes||[]).forEach(function(o){i.setAttribute(o,e.attributes[o])});var a=e.children||[];return a.forEach(function(o){i.appendChild(ip(o,{ceFn:r}))}),i}function E1(e){var t=" ".concat(e.outerHTML," ");return t="".concat(t,"Font Awesome fontawesome.com "),t}var bi={replace:function(t){var n=t[0];if(n.parentNode)if(t[1].forEach(function(i){n.parentNode.insertBefore(ip(i),n)}),n.getAttribute(qt)===null&&O.keepOriginalSource){var r=B.createComment(E1(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(t){var n=t[0],r=t[1];if(~gs(n).indexOf(O.replacementClass))return bi.replace(t);var i=new RegExp("".concat(O.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){var a=r[0].attributes.class.split(" ").reduce(function(l,s){return s===O.replacementClass||s.match(i)?l.toSvg.push(s):l.toNode.push(s),l},{toNode:[],toSvg:[]});r[0].attributes.class=a.toSvg.join(" "),a.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",a.toNode.join(" "))}var o=r.map(function(l){return Ur(l)}).join(` -`);n.setAttribute(qt,""),n.innerHTML=o}};function qu(e){e()}function ap(e,t){var n=typeof t=="function"?t:Oi;if(e.length===0)n();else{var r=qu;O.mutateApproach===O0&&(r=zt.requestAnimationFrame||qu),r(function(){var i=k1(),a=Es.begin("mutate");e.map(i),a(),n()})}}var Cs=!1;function op(){Cs=!0}function dl(){Cs=!1}var ra=null;function ec(e){if(Wu&&O.observeMutations){var t=e.treeCallback,n=t===void 0?Oi:t,r=e.nodeCallback,i=r===void 0?Oi:r,a=e.pseudoElementsCallback,o=a===void 0?Oi:a,l=e.observeMutationsRoot,s=l===void 0?B:l;ra=new Wu(function(u){if(!Cs){var f=At();Fn(u).forEach(function(d){if(d.type==="childList"&&d.addedNodes.length>0&&!Zu(d.addedNodes[0])&&(O.searchPseudoElements&&o(d.target),n(d.target)),d.type==="attributes"&&d.target.parentNode&&O.searchPseudoElements&&o(d.target.parentNode),d.type==="attributes"&&Zu(d.target)&&~I0.indexOf(d.attributeName))if(d.attributeName==="class"&&y1(d.target)){var v=Na(gs(d.target)),h=v.prefix,g=v.iconName;d.target.setAttribute(ms,h||f),g&&d.target.setAttribute(vs,g)}else w1(d.target)&&i(d.target)})}}),dt&&ra.observe(s,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function C1(){ra&&ra.disconnect()}function N1(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce(function(r,i){var a=i.split(":"),o=a[0],l=a.slice(1);return o&&l.length>0&&(r[o]=l.join(":").trim()),r},{})),n}function P1(e){var t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=e.innerText!==void 0?e.innerText.trim():"",i=Na(gs(e));return i.prefix||(i.prefix=At()),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix||(i.prefix&&r.length>0&&(i.iconName=r1(i.prefix,e.innerText)||ks(i.prefix,al(e.innerText))),!i.iconName&&O.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data)),i}function _1(e){var t=Fn(e.attributes).reduce(function(i,a){return i.name!=="class"&&i.name!=="style"&&(i[a.name]=a.value),i},{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return O.autoA11y&&(n?t["aria-labelledby"]="".concat(O.replacementClass,"-title-").concat(r||Lr()):(t["aria-hidden"]="true",t.focusable="false")),t}function O1(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Xe,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function tc(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=P1(e),r=n.iconName,i=n.prefix,a=n.rest,o=_1(e),l=ll("parseNodeAttributes",{},e),s=t.styleParser?N1(e):[];return E({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:Xe,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:s,attributes:o}},l)}var b1=He.styles;function lp(e){var t=O.autoReplaceSvg==="nest"?tc(e,{styleParser:!1}):tc(e);return~t.extra.classes.indexOf(Wd)?ct("generateLayersText",e,t):ct("generateSvgReplacementMutation",e,t)}var Lt=new Set;hs.map(function(e){Lt.add("fa-".concat(e))});Object.keys(br[H]).map(Lt.add.bind(Lt));Object.keys(br[J]).map(Lt.add.bind(Lt));Lt=Fr(Lt);function nc(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!dt)return Promise.resolve();var n=B.documentElement.classList,r=function(d){return n.add("".concat(Vu,"-").concat(d))},i=function(d){return n.remove("".concat(Vu,"-").concat(d))},a=O.autoFetchSvg?Lt:hs.map(function(f){return"fa-".concat(f)}).concat(Object.keys(b1));a.includes("fa")||a.push("fa");var o=[".".concat(Wd,":not([").concat(qt,"])")].concat(a.map(function(f){return".".concat(f,":not([").concat(qt,"])")})).join(", ");if(o.length===0)return Promise.resolve();var l=[];try{l=Fn(e.querySelectorAll(o))}catch{}if(l.length>0)r("pending"),i("complete");else return Promise.resolve();var s=Es.begin("onTree"),u=l.reduce(function(f,d){try{var v=lp(d);v&&f.push(v)}catch(h){Hd||h.name==="MissingIcon"&&console.error(h)}return f},[]);return new Promise(function(f,d){Promise.all(u).then(function(v){ap(v,function(){r("active"),r("complete"),i("pending"),typeof t=="function"&&t(),s(),f()})}).catch(function(v){s(),d(v)})})}function T1(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;lp(e).then(function(n){n&&ap([n],t)})}function z1(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:sl(t||{}),i=n.mask;return i&&(i=(i||{}).icon?i:sl(i||{})),e(r,E(E({},n),{},{mask:i}))}}var A1=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.transform,i=r===void 0?Xe:r,a=n.symbol,o=a===void 0?!1:a,l=n.mask,s=l===void 0?null:l,u=n.maskId,f=u===void 0?null:u,d=n.title,v=d===void 0?null:d,h=n.titleId,g=h===void 0?null:h,w=n.classes,T=w===void 0?[]:w,p=n.attributes,c=p===void 0?{}:p,m=n.styles,y=m===void 0?{}:m;if(t){var S=t.prefix,N=t.iconName,P=t.icon;return Pa(E({type:"icon"},t),function(){return en("beforeDOMElementCreation",{iconDefinition:t,params:n}),O.autoA11y&&(v?c["aria-labelledby"]="".concat(O.replacementClass,"-title-").concat(g||Lr()):(c["aria-hidden"]="true",c.focusable="false")),Ss({icons:{main:ul(P),mask:s?ul(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:S,iconName:N,transform:E(E({},Xe),i),symbol:o,title:v,maskId:f,titleId:g,extra:{attributes:c,styles:y,classes:T}})})}},L1={mixout:function(){return{icon:z1(A1)}},hooks:function(){return{mutationObserverCallbacks:function(n){return n.treeCallback=nc,n.nodeCallback=T1,n}}},provides:function(t){t.i2svg=function(n){var r=n.node,i=r===void 0?B:r,a=n.callback,o=a===void 0?function(){}:a;return nc(i,o)},t.generateSvgReplacementMutation=function(n,r){var i=r.iconName,a=r.title,o=r.titleId,l=r.prefix,s=r.transform,u=r.symbol,f=r.mask,d=r.maskId,v=r.extra;return new Promise(function(h,g){Promise.all([cl(i,l),f.iconName?cl(f.iconName,f.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(w){var T=ds(w,2),p=T[0],c=T[1];h([n,Ss({icons:{main:p,mask:c},prefix:l,iconName:i,transform:s,symbol:u,maskId:d,title:a,titleId:o,extra:v,watchable:!0})])}).catch(g)})},t.generateAbstractIcon=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.transform,l=n.styles,s=Ea(l);s.length>0&&(i.style=s);var u;return ys(o)&&(u=ct("generateAbstractTransformGrouping",{main:a,transform:o,containerWidth:a.width,iconWidth:a.width})),r.push(u||a.icon),{children:r,attributes:i}}}},j1={mixout:function(){return{layer:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.classes,a=i===void 0?[]:i;return Pa({type:"layer"},function(){en("beforeDOMElementCreation",{assembler:n,params:r});var o=[];return n(function(l){Array.isArray(l)?l.map(function(s){o=o.concat(s.abstract)}):o=o.concat(l.abstract)}),[{tag:"span",attributes:{class:["".concat(O.cssPrefix,"-layers")].concat(Fr(a)).join(" ")},children:o}]})}}}},I1={mixout:function(){return{counter:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.title,a=i===void 0?null:i,o=r.classes,l=o===void 0?[]:o,s=r.attributes,u=s===void 0?{}:s,f=r.styles,d=f===void 0?{}:f;return Pa({type:"counter",content:n},function(){return en("beforeDOMElementCreation",{content:n,params:r}),m1({content:n.toString(),title:a,extra:{attributes:u,styles:d,classes:["".concat(O.cssPrefix,"-layers-counter")].concat(Fr(l))}})})}}}},R1={mixout:function(){return{text:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.transform,a=i===void 0?Xe:i,o=r.title,l=o===void 0?null:o,s=r.classes,u=s===void 0?[]:s,f=r.attributes,d=f===void 0?{}:f,v=r.styles,h=v===void 0?{}:v;return Pa({type:"text",content:n},function(){return en("beforeDOMElementCreation",{content:n,params:r}),Xu({content:n,transform:E(E({},Xe),a),title:l,extra:{attributes:d,styles:h,classes:["".concat(O.cssPrefix,"-layers-text")].concat(Fr(u))}})})}}},provides:function(t){t.generateLayersText=function(n,r){var i=r.title,a=r.transform,o=r.extra,l=null,s=null;if(Fd){var u=parseInt(getComputedStyle(n).fontSize,10),f=n.getBoundingClientRect();l=f.width/u,s=f.height/u}return O.autoA11y&&!i&&(o.attributes["aria-hidden"]="true"),Promise.resolve([n,Xu({content:n.innerHTML,width:l,height:s,transform:a,title:i,extra:o,watchable:!0})])}}},M1=new RegExp('"',"ug"),rc=[1105920,1112319];function D1(e){var t=e.replace(M1,""),n=J0(t,0),r=n>=rc[0]&&n<=rc[1],i=t.length===2?t[0]===t[1]:!1;return{value:al(i?t[0]:t),isSecondary:r||i}}function ic(e,t){var n="".concat(_0).concat(t.replace(":","-"));return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var a=Fn(e.children),o=a.filter(function(P){return P.getAttribute(il)===t})[0],l=zt.getComputedStyle(e,t),s=l.getPropertyValue("font-family").match(A0),u=l.getPropertyValue("font-weight"),f=l.getPropertyValue("content");if(o&&!s)return e.removeChild(o),r();if(s&&f!=="none"&&f!==""){var d=l.getPropertyValue("content"),v=~["Sharp"].indexOf(s[2])?J:H,h=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(s[2])?Tr[v][s[2].toLowerCase()]:L0[v][u],g=D1(d),w=g.value,T=g.isSecondary,p=s[0].startsWith("FontAwesome"),c=ks(h,w),m=c;if(p){var y=i1(w);y.iconName&&y.prefix&&(c=y.iconName,h=y.prefix)}if(c&&!T&&(!o||o.getAttribute(ms)!==h||o.getAttribute(vs)!==m)){e.setAttribute(n,m),o&&e.removeChild(o);var S=O1(),N=S.extra;N.attributes[il]=t,cl(c,h).then(function(P){var b=Ss(E(E({},S),{},{icons:{main:P,mask:xs()},prefix:h,iconName:m,extra:N,watchable:!0})),M=B.createElementNS("http://www.w3.org/2000/svg","svg");t==="::before"?e.insertBefore(M,e.firstChild):e.appendChild(M),M.outerHTML=b.map(function(L){return Ur(L)}).join(` -`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function F1(e){return Promise.all([ic(e,"::before"),ic(e,"::after")])}function $1(e){return e.parentNode!==document.head&&!~b0.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(il)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function ac(e){if(dt)return new Promise(function(t,n){var r=Fn(e.querySelectorAll("*")).filter($1).map(F1),i=Es.begin("searchPseudoElements");op(),Promise.all(r).then(function(){i(),dl(),t()}).catch(function(){i(),dl(),n()})})}var U1={hooks:function(){return{mutationObserverCallbacks:function(n){return n.pseudoElementsCallback=ac,n}}},provides:function(t){t.pseudoElements2svg=function(n){var r=n.node,i=r===void 0?B:r;O.searchPseudoElements&&ac(i)}}},oc=!1,H1={mixout:function(){return{dom:{unwatch:function(){op(),oc=!0}}}},hooks:function(){return{bootstrap:function(){ec(ll("mutationObserverCallbacks",{}))},noAuto:function(){C1()},watch:function(n){var r=n.observeMutationsRoot;oc?dl():ec(ll("mutationObserverCallbacks",{observeMutationsRoot:r}))}}}},lc=function(t){var n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t.toLowerCase().split(" ").reduce(function(r,i){var a=i.toLowerCase().split("-"),o=a[0],l=a.slice(1).join("-");if(o&&l==="h")return r.flipX=!0,r;if(o&&l==="v")return r.flipY=!0,r;if(l=parseFloat(l),isNaN(l))return r;switch(o){case"grow":r.size=r.size+l;break;case"shrink":r.size=r.size-l;break;case"left":r.x=r.x-l;break;case"right":r.x=r.x+l;break;case"up":r.y=r.y-l;break;case"down":r.y=r.y+l;break;case"rotate":r.rotate=r.rotate+l;break}return r},n)},W1={mixout:function(){return{parse:{transform:function(n){return lc(n)}}}},hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-transform");return i&&(n.transform=lc(i)),n}}},provides:function(t){t.generateAbstractTransformGrouping=function(n){var r=n.main,i=n.transform,a=n.containerWidth,o=n.iconWidth,l={transform:"translate(".concat(a/2," 256)")},s="translate(".concat(i.x*32,", ").concat(i.y*32,") "),u="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),f="rotate(".concat(i.rotate," 0 0)"),d={transform:"".concat(s," ").concat(u," ").concat(f)},v={transform:"translate(".concat(o/2*-1," -256)")},h={outer:l,inner:d,path:v};return{tag:"g",attributes:E({},h.outer),children:[{tag:"g",attributes:E({},h.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:E(E({},r.icon.attributes),h.path)}]}]}}}},oo={x:0,y:0,width:"100%",height:"100%"};function sc(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function V1(e){return e.tag==="g"?e.children:[e]}var B1={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-mask"),a=i?Na(i.split(" ").map(function(o){return o.trim()})):xs();return a.prefix||(a.prefix=At()),n.mask=a,n.maskId=r.getAttribute("data-fa-mask-id"),n}}},provides:function(t){t.generateAbstractMask=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.mask,l=n.maskId,s=n.transform,u=a.width,f=a.icon,d=o.width,v=o.icon,h=V0({transform:s,containerWidth:d,iconWidth:u}),g={tag:"rect",attributes:E(E({},oo),{},{fill:"white"})},w=f.children?{children:f.children.map(sc)}:{},T={tag:"g",attributes:E({},h.inner),children:[sc(E({tag:f.tag,attributes:E(E({},f.attributes),h.path)},w))]},p={tag:"g",attributes:E({},h.outer),children:[T]},c="mask-".concat(l||Lr()),m="clip-".concat(l||Lr()),y={tag:"mask",attributes:E(E({},oo),{},{id:c,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[g,p]},S={tag:"defs",children:[{tag:"clipPath",attributes:{id:m},children:V1(v)},y]};return r.push(S,{tag:"rect",attributes:E({fill:"currentColor","clip-path":"url(#".concat(m,")"),mask:"url(#".concat(c,")")},oo)}),{children:r,attributes:i}}}},Y1={provides:function(t){var n=!1;zt.matchMedia&&(n=zt.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){var r=[],i={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:E(E({},i),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var o=E(E({},a),{},{attributeName:"opacity"}),l={tag:"circle",attributes:E(E({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||l.children.push({tag:"animate",attributes:E(E({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:E(E({},o),{},{values:"1;0;1;1;0;1;"})}),r.push(l),r.push({tag:"path",attributes:E(E({},i),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:E(E({},o),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:E(E({},i),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:E(E({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},G1={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-symbol"),a=i===null?!1:i===""?!0:i;return n.symbol=a,n}}}},Q1=[G0,L1,j1,I1,R1,U1,H1,W1,B1,Y1,G1];l1(Q1,{mixoutsTo:be});be.noAuto;be.config;be.library;be.dom;var pl=be.parse;be.findIconDefinition;be.toHtml;var K1=be.icon;be.layer;be.text;be.counter;var sp={exports:{}},X1="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",J1=X1,Z1=J1;function up(){}function cp(){}cp.resetWarningCache=up;var q1=function(){function e(r,i,a,o,l,s){if(s!==Z1){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 n={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:cp,resetWarningCache:up};return n.PropTypes=n,n};sp.exports=q1();var eh=sp.exports;const j=hl(eh);function uc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function nh(e,t){if(e==null)return{};var n=th(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ml(e){return rh(e)||ih(e)||ah(e)||oh()}function rh(e){if(Array.isArray(e))return vl(e)}function ih(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ah(e,t){if(e){if(typeof e=="string")return vl(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vl(e,t)}}function vl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{};if(typeof t=="string")return t;var r=(t.children||[]).map(function(s){return dp(e,s)}),i=Object.keys(t.attributes||{}).reduce(function(s,u){var f=t.attributes[u];switch(u){case"class":s.attrs.className=f,delete t.attributes.class;break;case"style":s.attrs.style=fh(f);break;default:u.indexOf("aria-")===0||u.indexOf("data-")===0?s.attrs[u.toLowerCase()]=f:s.attrs[fp(u)]=f}return s},{attrs:{}}),a=n.style,o=a===void 0?{}:a,l=nh(n,uh);return i.attrs.style=Qe(Qe({},i.attrs.style),o),e.apply(void 0,[t.tag,Qe(Qe({},i.attrs),l)].concat(ml(r)))}var pp=!1;try{pp=!0}catch{}function dh(){if(!pp&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function cc(e){if(e&&ia(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(pl.icon)return pl.icon(e);if(e===null)return null;if(e&&ia(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}function lo(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?wn({},e,t):{}}var fc={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1},Ae=oa.forwardRef(function(e,t){var n=Qe(Qe({},fc),e),r=n.icon,i=n.mask,a=n.symbol,o=n.className,l=n.title,s=n.titleId,u=n.maskId,f=cc(r),d=lo("classes",[].concat(ml(lh(n)),ml((o||"").split(" ")))),v=lo("transform",typeof n.transform=="string"?pl.transform(n.transform):n.transform),h=lo("mask",cc(i)),g=K1(f,Qe(Qe(Qe(Qe({},d),v),h),{},{symbol:a,title:l,titleId:s,maskId:u}));if(!g)return dh("Could not find icon",f),null;var w=g.abstract,T={ref:t};return Object.keys(n).forEach(function(p){fc.hasOwnProperty(p)||(T[p]=n[p])}),ph(w[0],T)});Ae.displayName="FontAwesomeIcon";Ae.propTypes={beat:j.bool,border:j.bool,beatFade:j.bool,bounce:j.bool,className:j.string,fade:j.bool,flash:j.bool,mask:j.oneOfType([j.object,j.array,j.string]),maskId:j.string,fixedWidth:j.bool,inverse:j.bool,flip:j.oneOf([!0,!1,"horizontal","vertical","both"]),icon:j.oneOfType([j.object,j.array,j.string]),listItem:j.bool,pull:j.oneOf(["right","left"]),pulse:j.bool,rotation:j.oneOf([0,90,180,270]),shake:j.bool,size:j.oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:j.bool,spinPulse:j.bool,spinReverse:j.bool,symbol:j.oneOfType([j.bool,j.string]),title:j.string,titleId:j.string,transform:j.oneOfType([j.string,j.object]),swapOpacity:j.bool};var ph=dp.bind(null,oa.createElement),mh={prefix:"fas",iconName:"right-from-bracket",icon:[512,512,["sign-out-alt"],"f2f5","M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z"]},vh={prefix:"fas",iconName:"list",icon:[512,512,["list-squares"],"f03a","M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"]},hh={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"]},dc={prefix:"fas",iconName:"user",icon:[448,512,[128100,62144],"f007","M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z"]},pc={prefix:"fas",iconName:"user-group",icon:[640,512,[128101,"user-friends"],"f500","M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z"]},gh={prefix:"fas",iconName:"circle",icon:[512,512,[128308,128309,128992,128993,128994,128995,128996,9679,9898,9899,11044,61708,61915],"f111","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"]},mp={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"]};const yh=({setCurrentPage:e})=>{const{groups:t,setGroups:n}=jd(),{playerData:r}=Ld(),[i,a]=W.useState(!1),[o,l]=W.useState(null),s=t.some(g=>g.members.some(w=>w.Player===r.source)),u=g=>{console.log(g);const w={id:t.length+1,status:"open",GName:g.groupName,GPass:g.password,Users:1,leader:r.source,members:[{name:r.name,CID:r.citizenId,Player:r.source}],stage:[],ScriptCreated:!1};console.log(w),n([...t,w])},f=g=>{console.log(g)},d=g=>{console.log(g)},v=g=>{console.log(g)},h=(g,w,T)=>k.jsxs(k.Fragment,{children:[k.jsx(Ae,{icon:vh,className:"text-white mx-1 hover:text-green-500",onClick:()=>e("PlayerList")}),g&&k.jsx(Ae,{icon:mp,className:"text-white mx-1 hover:text-red-500",onClick:()=>v(element)}),w&&!g&&k.jsx(Ae,{icon:mh,className:"text-white mx-1 hover:text-red-500",onClick:()=>d(element)}),k.jsx(Ae,{icon:pc,className:"text-white mx-1"}),k.jsx("span",{children:T})]});return k.jsx("div",{className:"flex self-start items-center h-screen bg-gray-200 dark:bg-gray-900",children:k.jsxs("div",{className:"w-full bg-gray-400 dark:bg-gray-700 text-white rounded-lg shadow-md p-6",children:[!s&&k.jsxs("div",{className:"mb-4",children:[k.jsx("div",{className:"text-md font-bold text-text-primary-light dark:text-text-primary-dark mb-4",children:"Create a group or join an existing group"}),k.jsx("button",{onClick:()=>a(!0),className:"px-4 py-2 bg-blue-200 dark:bg-blue-900 text-black dark:text-white rounded hover:bg-blue-600",children:"Create Group"})]}),k.jsx("div",{className:"bg-gray-200 dark:bg-gray-900 p-4 rounded-lg shadow-inner",children:Object.keys(t).map(g=>{const w=t[g];let T=w.leader===r.source,p=w.members.some(c=>c.Player===r.source);return k.jsxs("div",{className:"flex justify-between items-center text-black dark:text-white bg-gray-400 dark:bg-gray-700 rounded-md hover:bg-gray-500 p-3 mb-2",onClick:()=>{s||l(w)},children:[k.jsxs("div",{className:"flex items-center",children:[k.jsx(Ae,{icon:hh,className:"text-white mr-2"}),k.jsx("span",{children:w.GName})]}),k.jsx("div",{className:"flex items-center",children:k.jsx(k.Fragment,{children:T||p?k.jsx("div",{className:"flex items-center",children:h(T,p,w.Users)}):k.jsxs(k.Fragment,{children:[k.jsx(Ae,{icon:pc,className:"text-white mx-1"}),k.jsx("span",{children:w.Users})]})})})]},w.id)})}),i&&k.jsx(Wv,{onSelect:g=>{u(g),a(!1)},onClose:()=>a(!1)}),o&&k.jsx(Vv,{groupId:o.id,groupName:o.GName,onSelect:g=>{f(g),l(null)},onClose:()=>{l(null)}})]})})},wh=({setCurrentPage:e})=>{const{playerData:t}=Ld(),{groups:n,setGroups:r}=jd(),i=n.find(l=>l.members.some(s=>s.Player===t.source)),a=i.leader===t.source,o=l=>{console.log("Remove Member",l)};return k.jsx("div",{className:"flex justify-center items-center h-screen bg-gray-200 dark:bg-gray-900",children:k.jsxs("div",{className:"w-full bg-gray-400 dark:bg-gray-700 text-white w-80 rounded-lg shadow-md",children:[k.jsx("div",{className:"p-4 border-b bg-gray-300 dark:bg-gray-600 border-gray-600",children:k.jsx("h2",{className:"text-lg text-black dark:text-white font-semibold",children:"Group Members"})}),k.jsx("div",{className:"p-2",children:i.members.map((l,s)=>a&&l.Player!==t.source?k.jsxs("div",{className:"flex items-center p-2 bg-gray-200 dark:bg-gray-500 rounded-lg my-2",children:[k.jsxs("div",{children:[k.jsx(Ae,{icon:mp,className:"self-right text-black dark:text-white mr-2",onClick:()=>o(l)}),k.jsx(Ae,{icon:dc,className:"text-black dark:text-white mr-3"})]}),k.jsx("span",{className:"text-black dark:text-white",children:l.name})]},s):k.jsxs("div",{className:"flex items-center p-2 bg-gray-200 dark:bg-gray-500 rounded-lg my-2",children:[k.jsx(Ae,{icon:dc,className:"text-black dark:text-white mr-3"}),k.jsx("span",{className:"text-black dark:text-white",children:l.name})]},s))}),k.jsx("div",{className:"pb-4 px-4",children:k.jsx("button",{className:"w-full py-2 bg-green-500 hover:bg-green-400 text-black dark:text-white rounded-lg",onClick:()=>e("GroupDashboard"),children:"RETURN"})})]})})},kh=()=>{},Ti=(e,t)=>{const n=W.useRef(kh);W.useEffect(()=>{n.current=t},[t]),W.useEffect(()=>{const r=i=>{const{action:a,data:o}=i.data;n.current&&a===e&&n.current(o)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)},[e])},xh=fs(e=>({groupJobSteps:[{id:1,name:"Step 1",isDone:!1},{id:2,name:"Step 2",isDone:!1},{id:3,name:"Step 3",isDone:!1}],setGroupJobSteps:t=>e({groupJobSteps:t})})),Sh=()=>{const{groupJobSteps:e}=xh(),[t,n]=W.useState(e);return Ti("updateGroupJobStep",r=>{if(!r||!r.id){console.error("Invalid updateGroupJobStep data",r);return}n(i=>i.map(a=>a.id===r.id?{...a,isDone:r.isDone}:a))}),k.jsx("div",{className:"flex justify-center items-center h-screen bg-gray-900",children:k.jsx("div",{className:"w-full max-w-md bg-gray-800 text-white rounded-lg shadow-md p-6",children:k.jsx("div",{className:"relative border-l border-gray-700 ml-4 pl-4",children:t.map(r=>k.jsxs("div",{className:"mb-6 flex items-center",children:[k.jsx("span",{className:"absolute left-0 transform -translate-x-1/2 bg-gray-900 border border-gray-700 w-6 h-6 rounded-full flex items-center justify-center",children:k.jsx(Ae,{icon:gh,className:r.isDone?"text-green-500":"text-gray-500"})}),k.jsxs("div",{className:"ml-8",children:[k.jsx("div",{className:"text-sm text-gray-400",children:r.isDone?"1 / 1":"0 / 1"}),k.jsx("div",{children:r.name})]})]},r.id))})})})},vp=!(window!=null&&window.invokeNative),Eh=()=>{const[e,t]=W.useState("light"),n=W.useRef(null),{setPopUp:r,fetchNui:i,sendNotification:a,getSettings:o,onSettingsChange:l}=window,[s,u]=W.useState("GroupDashboard");W.useEffect(()=>{if(vp){document.getElementsByTagName("html")[0].style.visibility="visible",document.getElementsByTagName("body")[0].style.visibility="visible";return}else o().then(d=>t(d.display.theme)),l(d=>t(d.display.theme))},[e]),Ti("startJob",()=>{u("GroupJob")}),Ti("sendNotification",d=>{a(d)}),Ti("phoneNotification",d=>{r({title:d.PhoneNotify.title,description:d.PhoneNotify.text,buttons:[{title:d.PhoneNotify.deny,color:"red",cb:()=>{$.post("https://slrn_groups/AnsweredNotify",JSON.stringify({type:"failure"}))}},{title:d.PhoneNotify.accept,color:"blue",cb:()=>{$.post("https://slrn_groups/AnsweredNotify",JSON.stringify({type:"success"}))}}]})});const f=()=>{t(e==="dark"?"light":"dark"),console.log(e)};return k.jsxs(Ch,{children:[k.jsx("button",{onClick:f,className:"w-56 h-13 bg-background-highlight-light dark:bg-background-highlight-dark text-text-primary-light dark:text-text-primary-dark rounded-m",children:"Toggle Theme"}),k.jsxs("div",{className:"grid grid-cols-1 size-full bg-background-primary-light dark:bg-background-primary-dark font-poppins text-center gap-4",ref:n,"data-mode":e,children:[s==="GroupDashboard"&&k.jsx(yh,{setCurrentPage:u}),s==="PlayerList"&&k.jsx(wh,{setCurrentPage:u}),s==="GroupJob"&&k.jsx(Sh,{setCurrentPage:u})]})]})},Ch=({children:e})=>vp?k.jsx("div",{className:"absolute bottom-0 top-0 left-0 right-0 m-auto w-[29rem] h-[58.5rem]",children:e}):e,mc=!(window!=null&&window.invokeNative),Nh=so.createRoot(document.getElementById("root"));if(window.name===""||mc){const e=()=>{Nh.render(k.jsx(oa.StrictMode,{children:k.jsx(Eh,{})}))};mc?e():window.addEventListener("message",t=>{t.data==="componentsLoaded"&&e()})} diff --git a/web/dist/assets/index-Bw_vSpTC.css b/web/dist/assets/index-Bw_vSpTC.css deleted file mode 100644 index c49db4e..0000000 --- a/web/dist/assets/index-Bw_vSpTC.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.m-auto{margin:auto}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.size-full{width:100%;height:100%}.h-6{height:1.5rem}.h-\[58\.5rem\]{height:58.5rem}.h-screen{height:100vh}.w-56{width:14rem}.w-6{width:1.5rem}.w-80{width:20rem}.w-\[29rem\]{width:29rem}.w-full{width:100%}.max-w-md{max-width:28rem}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.self-start{align-self:flex-start}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.bg-background-highlight-light{--tw-bg-opacity: 1;background-color:rgb(220 220 220 / var(--tw-bg-opacity))}.bg-background-primary-light{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity: .75}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.text-center{text-align:center}.font-poppins{font-family:Poppins,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-text-primary-light{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0{opacity:0}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.dev-wrapper{position:absolute;bottom:0;top:0;left:0;right:0;margin:auto;width:29rem;height:58.5rem}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.hover\:bg-gray-500:hover{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.hover\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.hover\:text-green-500:hover{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.dark\:bg-background-highlight-dark:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(20 20 20 / var(--tw-bg-opacity))}.dark\:bg-background-primary-dark:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.dark\:bg-blue-900:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity))}.dark\:bg-gray-500:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.dark\:bg-gray-600:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:bg-gray-700:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-900:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark\:text-text-primary-dark:where([data-mode=dark],[data-mode=dark] *){--tw-text-opacity: 1;color:rgb(242 242 247 / var(--tw-text-opacity))}.dark\:text-white:where([data-mode=dark],[data-mode=dark] *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}html,body{margin:0;padding:0;box-sizing:border-box;visibility:hidden} diff --git a/web/dist/icon.svg b/web/dist/icon.svg deleted file mode 100644 index 1b8880f..0000000 --- a/web/dist/icon.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/web/dist/index.html b/web/dist/index.html deleted file mode 100644 index 4f63473..0000000 --- a/web/dist/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - SLRN Groups - - - - - - - - - -
- - diff --git a/web/dist/screenshot-dark.png b/web/dist/screenshot-dark.png deleted file mode 100644 index 4e3387f61e2b07f139fe7a857d98534e087a4723..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32253 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 diff --git a/web/dist/screenshot-light.png b/web/dist/screenshot-light.png deleted file mode 100644 index c93ceaba34727fa5584000f00b3da4820c9127a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32340 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 From ac010a0af9b94dbc8e071b0e980edadb7d6f6d24 Mon Sep 17 00:00:00 2001 From: Solareon <769465+solareon@users.noreply.github.com> Date: Wed, 26 Jun 2024 11:22:27 +0200 Subject: [PATCH 04/34] refactor(ui): styling --- fxmanifest.lua | 5 +- ui/assets/icon.png | Bin 121593 -> 0 bytes ui/colors.css | 15 - ui/dev.js | 19 - ui/index.html | 76 ---- ui/jquery.timeago.js | 232 ----------- ui/script.js | 315 --------------- ui/styles.css | 443 ---------------------- web/src/App.css | 101 ----- web/src/App.tsx | 12 +- web/src/components/ConfirmationDialog.tsx | 30 ++ web/src/components/CreateGroup.tsx | 103 ++--- web/src/components/GroupDashboard.tsx | 118 ++++-- web/src/components/GroupList.tsx | 7 - web/src/components/Header.tsx | 16 - web/src/components/JoinGroup.tsx | 83 ++-- web/src/components/PlayerList.tsx | 52 ++- web/src/components/Tooltip.tsx | 22 -- web/tailwind.config.js | 68 ++-- 19 files changed, 290 insertions(+), 1427 deletions(-) delete mode 100644 ui/assets/icon.png delete mode 100644 ui/colors.css delete mode 100644 ui/dev.js delete mode 100644 ui/index.html delete mode 100644 ui/jquery.timeago.js delete mode 100644 ui/script.js delete mode 100644 ui/styles.css create mode 100644 web/src/components/ConfirmationDialog.tsx delete mode 100644 web/src/components/GroupList.tsx delete mode 100644 web/src/components/Header.tsx delete mode 100644 web/src/components/Tooltip.tsx diff --git a/fxmanifest.lua b/fxmanifest.lua index 8aa87d5..fa2d5fa 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -17,10 +17,11 @@ server_script 'server/**/*' shared_script '@ox_lib/init.lua' files { - 'ui/**/*' + "web/dist/**/*", + "web/icon.png" } -ui_page 'ui/index.html' +ui_page "web/dist/index.html" dependency '/assetpacks' diff --git a/ui/assets/icon.png b/ui/assets/icon.png deleted file mode 100644 index b29d093e4b303097be617235ee367102ac319a90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121593 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 { - if (window.invokeNative) { - const phoneWrapper = document.getElementById("phone-wrapper"); - const app = phoneWrapper.querySelector(".app"); - - phoneWrapper.parentNode.insertBefore(app, phoneWrapper); - phoneWrapper.parentNode.removeChild(phoneWrapper); - return; - } - - document.getElementById("phone-wrapper").style.display = "block"; - document.body.style.visibility = "visible"; - - const center = () => document.getElementById("phone-wrapper").style.scale = window.innerWidth / 1920; - center(); - window.addEventListener("resize", center); -}); diff --git a/ui/index.html b/ui/index.html deleted file mode 100644 index 0b0c48d..0000000 --- a/ui/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - Groups - - - - - - - - - - - - - - - -
-
-
-
-
- Group Name - Group Password - Confirm Password -

-
Cancel
-
Create
-
-
- -
-
- Enter Password -

-
Cancel
-
Join
-
-
- -
-
-
Members
-
-
RETURN
-
-
-
-
Join a group or browse groups currently busy
-
-
-
CREATE GROUP
-
-
-
-
-
-
-
-
- - - - - diff --git a/ui/jquery.timeago.js b/ui/jquery.timeago.js deleted file mode 100644 index ec80c32..0000000 --- a/ui/jquery.timeago.js +++ /dev/null @@ -1,232 +0,0 @@ -/** - * Timeago is a jQuery plugin that makes it easy to support automatically - * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago"). - * - * @name timeago - * @version 1.6.7 - * @requires jQuery >=1.5.0 <4.0 - * @author Ryan McGeary - * @license MIT License - http://www.opensource.org/licenses/mit-license.php - * - * For usage and examples, visit: - * http://timeago.yarp.com/ - * - * Copyright (c) 2008-2019, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org) - */ - -(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof module === 'object' && typeof module.exports === 'object') { - factory(require('jquery')); - } else { - // Browser globals - factory(jQuery); - } -}(function ($) { - $.timeago = function(timestamp) { - if (timestamp instanceof Date) { - return inWords(timestamp); - } else if (typeof timestamp === "string") { - return inWords($.timeago.parse(timestamp)); - } else if (typeof timestamp === "number") { - return inWords(new Date(timestamp)); - } else { - return inWords($.timeago.datetime(timestamp)); - } - }; - var $t = $.timeago; - - $.extend($.timeago, { - settings: { - refreshMillis: 60000, - allowPast: true, - allowFuture: false, - localeTitle: false, - cutoff: 0, - autoDispose: true, - strings: { - prefixAgo: null, - prefixFromNow: null, - suffixAgo: "ago", - suffixFromNow: "from now", - inPast: "any moment now", - seconds: "less than a minute", - minute: "about a minute", - minutes: "%d minutes", - hour: "about an hour", - hours: "about %d hours", - day: "a day", - days: "%d days", - month: "about a month", - months: "%d months", - year: "about a year", - years: "%d years", - wordSeparator: " ", - numbers: [] - } - }, - - inWords: function(distanceMillis) { - if (!this.settings.allowPast && ! this.settings.allowFuture) { - throw 'timeago allowPast and allowFuture settings can not both be set to false.'; - } - - var $l = this.settings.strings; - var prefix = $l.prefixAgo; - var suffix = $l.suffixAgo; - if (this.settings.allowFuture) { - if (distanceMillis < 0) { - prefix = $l.prefixFromNow; - suffix = $l.suffixFromNow; - } - } - - if (!this.settings.allowPast && distanceMillis >= 0) { - return this.settings.strings.inPast; - } - - var seconds = Math.abs(distanceMillis) / 1000; - var minutes = seconds / 60; - var hours = minutes / 60; - var days = hours / 24; - var years = days / 365; - - function substitute(stringOrFunction, number) { - var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction; - var value = ($l.numbers && $l.numbers[number]) || number; - return string.replace(/%d/i, value); - } - - var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) || - seconds < 90 && substitute($l.minute, 1) || - minutes < 45 && substitute($l.minutes, Math.round(minutes)) || - minutes < 90 && substitute($l.hour, 1) || - hours < 24 && substitute($l.hours, Math.round(hours)) || - hours < 42 && substitute($l.day, 1) || - days < 30 && substitute($l.days, Math.round(days)) || - days < 45 && substitute($l.month, 1) || - days < 365 && substitute($l.months, Math.round(days / 30)) || - years < 1.5 && substitute($l.year, 1) || - substitute($l.years, Math.round(years)); - - var separator = $l.wordSeparator || ""; - if ($l.wordSeparator === undefined) { separator = " "; } - return $.trim([prefix, words, suffix].join(separator)); - }, - - parse: function(iso8601) { - var s = $.trim(iso8601); - s = s.replace(/\.\d+/,""); // remove milliseconds - s = s.replace(/-/,"/").replace(/-/,"/"); - s = s.replace(/T/," ").replace(/Z/," UTC"); - s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400 - s = s.replace(/([\+\-]\d\d)$/," $100"); // +09 -> +0900 - return new Date(s); - }, - datetime: function(elem) { - var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title"); - return $t.parse(iso8601); - }, - isTime: function(elem) { - // jQuery's `is()` doesn't play well with HTML5 in IE - return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time"); - } - }); - - // functions that can be called via $(el).timeago('action') - // init is default when no action is given - // functions are called with context of a single element - var functions = { - init: function() { - functions.dispose.call(this); - var refresh_el = $.proxy(refresh, this); - refresh_el(); - var $s = $t.settings; - if ($s.refreshMillis > 0) { - this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis); - } - }, - update: function(timestamp) { - var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp); - $(this).data('timeago', { datetime: date }); - if ($t.settings.localeTitle) { - $(this).attr("title", date.toLocaleString()); - } - refresh.apply(this); - }, - updateFromDOM: function() { - $(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) }); - refresh.apply(this); - }, - dispose: function () { - if (this._timeagoInterval) { - window.clearInterval(this._timeagoInterval); - this._timeagoInterval = null; - } - } - }; - - $.fn.timeago = function(action, options) { - var fn = action ? functions[action] : functions.init; - if (!fn) { - throw new Error("Unknown function name '"+ action +"' for timeago"); - } - // each over objects here and call the requested function - this.each(function() { - fn.call(this, options); - }); - return this; - }; - - function refresh() { - var $s = $t.settings; - - //check if it's still visible - if ($s.autoDispose && !$.contains(document.documentElement,this)) { - //stop if it has been removed - $(this).timeago("dispose"); - return this; - } - - var data = prepareData(this); - - if (!isNaN(data.datetime)) { - if ( $s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) { - $(this).text(inWords(data.datetime)); - } else { - if ($(this).attr('title').length > 0) { - $(this).text($(this).attr('title')); - } - } - } - return this; - } - - function prepareData(element) { - element = $(element); - if (!element.data("timeago")) { - element.data("timeago", { datetime: $t.datetime(element) }); - var text = $.trim(element.text()); - if ($t.settings.localeTitle) { - element.attr("title", element.data('timeago').datetime.toLocaleString()); - } else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) { - element.attr("title", text); - } - } - return element.data("timeago"); - } - - function inWords(date) { - return $t.inWords(distance(date)); - } - - function distance(date) { - return (new Date().getTime() - date.getTime()); - } - - // fix for IE6 suckage - document.createElement("abbr"); - document.createElement("time"); -})); diff --git a/ui/script.js b/ui/script.js deleted file mode 100644 index c95e4a5..0000000 --- a/ui/script.js +++ /dev/null @@ -1,315 +0,0 @@ -QB = {} -QB.Phone = {} -QB.Phone.Data = { - PlayerData: {}, -} -QB.Phone.Functions = {} - -QB.Phone.Functions.LoadPhoneData = function(data) { - QB.Phone.Data.PlayerData = data.PlayerData; -} - -var JoinPass = null; -var JoinID = null; - -function ClearInputNew(){ - $(".phone-new-input-class").val(""); -} - -function LoadJobCenterApp(){ - $.post('https://slrn_groups/GetGroupsApp', JSON.stringify({}), function(data){ - AddDIV(data) - }); -} - -$(document).ready(function(){ - window.addEventListener('message', function(event) { - switch(event.data.action) { - case "LoadPhoneData": - QB.Phone.Functions.LoadPhoneData(event.data); - break; - case "LoadJobCenterApp": - LoadJobCenterApp() - break; - case 'testPassword': - $('#jobcenter-box-new-join').fadeIn(350); - break; - case 'PhoneNotification': - setPopUp({ - title: event.data.PhoneNotify.title, - description: event.data.PhoneNotify.text, - buttons: [ - { - title: event.data.PhoneNotify.deny, - color: 'red', - cb: () => { - $.post('https://slrn_groups/AnsweredNotify', JSON.stringify({ - type: 'failure', - })); - } - }, - { - title: event.data.PhoneNotify.accept, - color: 'blue', - cb: () => { - $.post('https://slrn_groups/AnsweredNotify', JSON.stringify({ - type: 'success', - })); - } - } - ] - }); - break; - case 'SendNotify': - sendNotification({ title: event.data.msg }); - break; - - } - }) -}); - - -$(document).on('click', '.jobcenter-btn-create-group', function(e){ - e.preventDefault(); - ClearInputNew() - $('#jobcenter-box-new-dashboard').fadeIn(350); -}); - -$(document).on('click', '#box-new-cancel', function(e){ - e.preventDefault(); - ClearInputNew() - $('.phone-menu-body').fadeOut(350); - //$('.phone-new-box-body').fadeOut(350); -}); - -$(document).on('click', '#jobcenter-submit-create-group', function(e){ - e.preventDefault(); - var Name = $(".jobcenter-input-group-name").val(); - var pass = $(".jobcenter-input-password").val(); - var pass2 = $(".jobcenter-input-password2").val(); - if (Name != "" && pass != "" && pass2 != ""){ - if(pass == pass2){ - $.post('https://slrn_groups/jobcenter_CreateJobGroup', JSON.stringify({ - name: Name, - pass: pass, - })); - - - - - $('#jobcenter-box-new-dashboard').fadeOut(350); - }else{ - sendNotification({ title: 'The password entered is incorrect' }); - } - }else{ - sendNotification({ title: 'Fields are incorrect' }); - } -}); - -$(document).ready(function(){ - window.addEventListener('message', function(event) { - switch(event.data.action) { - case "refreshApp": - $(".jobcenter-list").css({"display": "inline"}); - $(".jobcenter-btn-create-group").css({"display": "inline"}); - $(".title").css({"display": "block"}); - $(".jobcenter-Groupjob").css({"margin-top": "47%"}); - AddDIV(event.data.data) - break; - case "addGroupStage": - AddGroupJobs(event.data.status) - break; - } - }) -}); - -$(document).ready(function(){ - window.addEventListener('message', function(event) { - switch(event.data.action) { - case "GroupAddDIV": - if(event.data.showPage && event.data.job != "WAITING"){ - AddGroupJobs(event.data.stage) - } else { - AddDIV(event.data.data) - } - break; - } - }) -}); - -function AddDIV(data){ - var AddOption; - var CSN = QB.Phone.Data.PlayerData.source; - $(".jobcenter-list").html(""); - if(data) { - Object.keys(data).map(function(element,index){ - if(data[element].leader == CSN) { - AddOption = ` -
-
- -
- ${data[element].GName} -
- - - ${data[element].Users}
- ` - } else { - AddOption = ` -
-
-
-
${data[element].GName}
- ${data[element].Users} -
- ` - Object.keys(data[element].members).map(function(element2, _){ - if(data[element].members[element2].Player == CSN) { - AddOption = ` -
-
- -
- ${data[element].GName} - -
- - ${data[element].Users}
- ` - } - }) - } - $('.jobcenter-list').append(AddOption); - }) - } else { - $(".jobcenter-list").html(""); - var AddOption = '
No Group
' - $('.jobcenter-list').append(AddOption); - } -} - -function AddGroupJobs(data){ - var AddOption; - $(".jobcenter-Groupjob").html(""); - $(".jobcenter-Groupjob").css({"margin-top": "23%"}); - $(".jobcenter-list").html(""); - $(".jobcenter-list").css({"display": "none"}); - $(".jobcenter-btn-create-group").css({"display": "none"}); - $(".title").css({"display": "none"}); - $(".jobcenter-groupjob-timer").css({"display": "block"}); - if(data) { - - - for (const [k, v] of Object.entries(data)) { - if (v.isDone) { - AddOption = - ` -
-

1 / 1

- ${v.name} -
- ` - } else { - AddOption = - ` -
-

0 / 1

- ${v.name} -
- ` - } - $('.jobcenter-Groupjob').append(AddOption); - } - } else { - $(".jobcenter-list").css({"display": "block"}); - $(".jobcenter-btn-create-group").css({"display": "block"}); - $(".title").css({"display": "block"}); - } -} - -$(document).on('click', '#jobcenter-delete-group', function(e){ - e.preventDefault(); - var Delete = $(this).data('delete') - $.post('https://slrn_groups/jobcenter_DeleteGroup', JSON.stringify({ - delete: Delete, - })); -}); - -$(document).on('click', '#jobcenter-join-grouped', function(e){ - e.preventDefault(); - JoinPass = $(this).data('pass') - JoinID = $(this).data('id') - ClearInputNew() - $('#jobcenter-box-new-join').fadeIn(350); -}); - -$(document).on('click', '#jobcenter-submit-join-group', function(e){ - e.preventDefault(); - var EnterPass = $(".jobcenter-input-join-password").val(); - if(EnterPass == JoinPass){ - var CSN = QB.Phone.Data.PlayerData.citizenid; - $.post('https://slrn_groups/jobcenter_JoinTheGroup', JSON.stringify({ - PCSN: CSN, - id: JoinID, - })); - ClearInputNew() - $('#jobcenter-box-new-join').fadeOut(350); - } -}); - -$(document).on('click', '#jobcenter-list-group', function(e){ - e.preventDefault(); - var id = $(this).data('id') - $.post('https://slrn_groups/jobcenter_CheckPlayerNames', JSON.stringify({ - id: id, - }), function(Data){ - ClearInputNew() - $('#jobcenter-box-new-player-name').fadeIn(350); - $("#phone-new-box-main-playername").html(""); - for (const [k, v] of Object.entries(Data)) { - var AddOption = `
${v}
` - - $('#phone-new-box-main-playername').append(AddOption); - } - - var AddOption2 = '

' - - $('#phone-new-box-main-playername').append(AddOption2); - }); -}); - -$(document).on('click', '#jobcenter-leave-grouped', function(e){ - e.preventDefault(); - var CSN = QB.Phone.Data.PlayerData.citizenid; - var id = $(this).data('id') - $.post('https://slrn_groups/jobcenter_leave_grouped', JSON.stringify({ - id: id, - csn: CSN, - })); -}); - -var buttonStart = document.getElementById('button-start'); -var buttonStop = document.getElementById('button-stop'); -var buttonReset = document.getElementById('button-reset'); - -onSettingsChange((settings) => { - let theme = settings.display.theme; - document.getElementsByClassName('app')[0].dataset.theme = theme; -}); - -getSettings().then((settings) => { - let theme = settings.display.theme; - document.getElementsByClassName('app')[0].dataset.theme = theme; -}); - - -$.post('https://slrn_groups/onStartup'); diff --git a/ui/styles.css b/ui/styles.css deleted file mode 100644 index 43557ee..0000000 --- a/ui/styles.css +++ /dev/null @@ -1,443 +0,0 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap'); - - -@font-face { - font-family: 'password'; - font-style: normal; - src: url(https://jsbin-user-assets.s3.amazonaws.com/rafaelcastrocouto/password.ttf); -} - -input.jobcenter-input-password, input.jobcenter-input-password2 { - font-family: 'password'; -} - -#phone-menu-icon{ - position: relative; - top: 0.2vh; - right: 26.2vh; - font-size: 1.4vh; - color: white; -} - -html, -body { - margin: 0; - padding: 0; - - box-sizing: border-box; - visibility: hidden; - - font-family: 'Poppins', sans-serif; -} - -.app { - width: 100%; - height: 100%; - - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - - background-color: var(--background-primary); -} - -.app-wrapper { - width: 100%; - height: 100%; - - display: flex; - flex-direction: column; - align-items: start; - justify-content: center; - gap: 3rem; -} - -.header { - position: absolute; - width: 90%; - height: 10%; - /* top: 8%; */ - top: 8%; - left: 6%; - right: 0; - color: white; - /* font-family: 'Poppins', sans-serif; */ - font-size: 1.3vh; - /* margin: 0 auto; */ -} - -.jobcenter-header { - position: absolute; - width: 90%; - height: 10%; - /* top: 8%; */ - top: 19%; - left: 6%; - right: 0; - color: white; - /* font-family: 'Poppins', sans-serif; */ - font-size: 2.0vh; - /* margin: 0 auto; */ -} - -.jobcenter-btn-create-group{ - display: inline; - background: #8ee074; - padding: 2% 4%; - transition: 0.2s; - border-radius: 4px; - color: black; - cursor: pointer; -} -.jobcenter-btn-create-group:hover{ - background: #6cac59; -} - -.button-wrapper { - display: flex; - flex-direction: column; - text-align: center; - gap: 0.2rem; -} - -.button-wrapper { - gap: 1rem; -} - -.title { - font-size: 20px; - font-weight: 700; - color: var(--text-primary); -} - -/* Do not edit, this allows you to view changes easily in your browser */ -#phone-wrapper { - display: none; - - position: absolute; - bottom: 0; - top: 0; - left: 0; - right: 0; - - margin: auto; - - width: 29rem; - height: 58.5rem; -} - -.phone-menu-text{ - position: relative; - margin-left: 10%; - margin-bottom: -10%; - width: 80%; - border: none; - background: none; - outline: none; - text-indent: 3vh; - text-align: left; - line-height: 3.0vh; - font-size: 1.75vh; - overflow: hidden; - color: white; - border-bottom: .1vh solid #fff; - transition: 0.25s; -} - -.phone-menu-main{ - position: absolute; - transform: translate(-50%, -50%); - top: 50%; - left: 50%; - padding-top: 10%; - padding-bottom: 5%; - width: 73%; - background-color: rgb(59, 59, 59); -} - -.phone-menu-title{ - position: relative; - left: 3.3vh; - font-size: 1.2vh; - color: white; -} - -.phone-menu-body{ - display: none; - position: absolute; - transform: translate(-50%, -50%); - top: 50%; - left: 50%; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.624); - z-index: 700; -} - -.phone-menu-button{ - display: inline; - transition: 0.25s; - padding: 2%; - border-radius: 5px; - color: black; - font-family: 'Roboto', sans-serif; - font-size: 1.4vh; - margin-bottom: 4%; -} - -.phone-menu-accept{ - background:#90e278; - margin-left: 25%; - padding: 4.0%; - cursor: pointer; -} -.phone-menu-accept:hover{ - background: #6cac59; -} - -.phone-menu-cancel{ - background:#f6a167; - margin-left: 15%; - padding: 4.0%; - cursor: pointer; -} -.phone-menu-cancel:hover{ - background: #c27e47; -} - -.phone-new-box-main input::-webkit-inner-spin-button { - -webkit-appearance: none; -} - -#phone-new-box-main-playername { - width: 86.3%; - margin-left: 6.5%; -} - -.jobcenter-playerlist { - width: 100%; - height: 100%; - background-color: #242833; - bottom: 0%; - position: absolute; - overflow: hidden; -} - -.casino-text-clear{ - text-align: center; - color: whitesmoke; -} - -.jobcenter-playerlist2 { - width: 100%; - height: 60.5%; - background-color: #242833; - bottom: 0; - position: relative; -} - -.jobcenter-div-active-stagee { - width: 100%; - padding: 10px; - display: flex; - align-items: center; - gap: 10px; - color: white; - font-size: 1.5vh; - position: relative; - height: auto; - word-break: break-word; - } - -.jobcenter-playerlist-list { - height: 4vh; - font-size: 2vh; - border-bottom: 1px white solid; - background: #3D6285; -} - -.jobcenter-playerlist-name { - color: white; - /* background-color: black; */ - height: 100%; - font-size: 1.55vh; - text-align: left; - position: absolute; - left: 27%; - margin-top: 5px; -} - -.jobcenter-playerlist-header { - color: white; - margin-left: 6%; - margin-top: 14%; - font-size: 1.7vh; - margin-bottom: 5%; -} - -.jobcenter-playerlist-leave { - background: #95EF77; - margin-left: 36.5%; - padding: 2.8% 5%; - /* font-weight: 700; */ - bottom: 7.5%; - position: absolute; - cursor: pointer; - /* top: 0; */ -} - -.jobcenter-playerlist-leave:hover { - background: #629e4e; -} - -.isDone { - text-decoration: line-through; - background: #2c465f !important; - position: relative; - } - - .isDone::after { - height: 30px; - background: #008685 !important; - } - -.jobcenter-div-active-stagee::after { - content: ''; - height: 12px; - background: #4155C0; - left: -23px; - top: -3px; - width: 12px; - position: absolute; - border-radius: 100%; - } - - .jobcenter-div-active-stagee::before { - content: ''; - height: 90%; - background: white; - left: -18px; - top: 15px; - width: 2px; - position: absolute; - } - -.jobcenter-div-job-group{ - /* display: inline; */ - width: 98%; - margin-left: 1%; - margin-bottom: 2%; - padding-left: 5%; - background-color: #2c465f; - transition: 0.2s; - color: whitesmoke; - border-bottom: 2px solid #f5f5f5ad; - border-radius: 2px; -} - -.jobcenter-div-active-stage{ - width: 100%; - padding: 10px; - display: flex; - align-items: center; - gap: 10px; - color: white; - font-size: 1.5vh; - position: relative; - height: auto; - font: -webkit-control; -} - -.jobcenter-Groupjob { - margin-top: 16%; - width: 99%; - display: flex; - flex-direction: column; - gap: 23px; - padding-left: 9%; - margin-top: 47%; - border-top: 2px solid #7d7d7d; - width: 87%; - display: flex; - padding-top: 10px; - align-content: center; - align-items: center; - margin-left: 6%; - height: 70%; - overflow: auto; -} - -.jobcenter-groupjob-timer { - display: none; - width: 100%; - font-size: 25px; - top: 0px; - position: absolute; - color: white; - margin-top: 30px; - margin-left: 190px; -} - -.jobcenter-Groupjob::-webkit-scrollbar { - display: none; -} - -.jobcenter-Groupjob-background { - background: black; - width: 100%; - height: 100%; -} - -.jobcenter-div-job-group:hover{ - background-color: #2e4d6a; -} - -.jobcenter-div-job-group-image{ - font-size: 250%; - display: inline-block; -} - -.jobcenter-option-class-body{ - text-align: right; -} - -.jobcenter-div-job-group-body-main{ - display: inline-block; - position: absolute; - /* background: black; */ - width: 70%; - max-width: 70%; - margin-top: 4%; - margin-left: 4%; -} - -#jobcenter-list-group:hover{ - color: #8ee074; -} - -#jobcenter-delete-group:hover{ - color: #dc3333; -} - -.jobcenter-list { - position: absolute; - width: 88.8%; - margin: 0 auto; - left: -1%; - right: 0; - border-radius: .5vh; - overflow-y: scroll; - bottom: 0%; - height: 76%; -} - -.jobcenter-list::-webkit-scrollbar { - display: none; -} \ No newline at end of file diff --git a/web/src/App.css b/web/src/App.css index e1d8eae..4d1ed36 100644 --- a/web/src/App.css +++ b/web/src/App.css @@ -2,107 +2,6 @@ @tailwind components; @tailwind utilities; -/* * { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -.app { - height: 100vh; - width: 100%; - - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - - background-color: var(--background-primary); - - font-family: 'Poppins', sans-serif; -} - -.app-wrapper { - width: 100%; - height: 100%; - - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - gap: 3rem; -} - -.header, -.button-wrapper { - display: flex; - flex-direction: column; - text-align: center; - gap: 0.2rem; -} - -.button-wrapper { - gap: 1rem; -} - -.title { - font-size: 1.4rem; - font-weight: 700; - - color: var(--text-primary); -} - -.subtitle { - font-size: 1rem; - font-weight: 400; - - color: var(--text-secondary); -} - -button { - width: 14rem; - height: 3.25rem; - - background-color: var(--background-highlight); - color: var(--text-primary); - - border: none; - border-radius: 0.3rem; - - font-size: 0.8rem; - font-weight: 600; - text-transform: uppercase; - - cursor: pointer; - transition: all 0.25s ease-in-out; - - user-select: none; -} - -button:hover { - filter: brightness(0.8); -} - -input { - width: 14rem; - height: 3.25rem; - - background-color: var(--background-highlight); - color: var(--text-primary); - - border: none; - border-radius: 0.3rem; - - padding: 0 1rem; - - font-size: 0.8rem; - font-weight: 600; - - transition: all 0.25s ease-in-out; - - outline: none; -} */ - /* Do not edit, this allows you to view changes easily in your browser */ .dev-wrapper { position: absolute; diff --git a/web/src/App.tsx b/web/src/App.tsx index 551d5bd..bddff01 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -84,25 +84,23 @@ const App = () => {
+
+ Groups +
{currentPage === 'GroupDashboard' && ( )} - {currentPage === 'PlayerList' && ( - - )} {currentPage === 'GroupJob' && ( )} diff --git a/web/src/components/ConfirmationDialog.tsx b/web/src/components/ConfirmationDialog.tsx new file mode 100644 index 0000000..548b37d --- /dev/null +++ b/web/src/components/ConfirmationDialog.tsx @@ -0,0 +1,30 @@ +import React from 'react'; + +const ConfirmationDialog = ({ onClose, onConfirm }) => { + return ( +
+
+

+ Leave the group? +

+
+ + +
+
+
+ ); +}; + +export default ConfirmationDialog; diff --git a/web/src/components/CreateGroup.tsx b/web/src/components/CreateGroup.tsx index 769809f..9dda59b 100644 --- a/web/src/components/CreateGroup.tsx +++ b/web/src/components/CreateGroup.tsx @@ -1,23 +1,23 @@ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect } from "react"; const CreateGroup: React.FC = ({ onSelect, onClose }) => { - const [groupName, setGroupName] = useState(''); - const [disabledReason, setDisabledReason] = useState(''); - const [password, setPassword] = useState(''); - const [verifyPassword, setVerifyPassword] = useState(''); + const [groupName, setGroupName] = useState(""); + const [disabledReason, setDisabledReason] = useState(""); + const [password, setPassword] = useState(""); + const [verifyPassword, setVerifyPassword] = useState(""); const [isSubmitDisabled, setIsSubmitDisabled] = useState(true); useEffect(() => { - let reason = ''; - if (groupName === '') { - reason = 'Group name is required'; - } else if (password === '') { - reason = 'Password is required'; + let reason = ""; + if (groupName === "") { + reason = "Group name is required"; + } else if (password === "") { + reason = "Password is required"; } else if (password !== verifyPassword) { - reason = 'Passwords do not match'; + reason = "Passwords do not match"; } setDisabledReason(reason); - setIsSubmitDisabled(reason !== ''); + setIsSubmitDisabled(reason !== ""); }, [password, verifyPassword, groupName]); const handleSubmit = (e: React.FormEvent) => { @@ -27,64 +27,81 @@ const CreateGroup: React.FC = ({ onSelect, onClose }) => { }; return ( -
-
-
-

Create Group

- +
+
+
+

+ Create Group +

+
-
-
- + +
+ setGroupName(e.target.value)} - className='w-full p-2 rounded bg-gray-700 text-white' + className="w-full p-2 rounded bg-background-secondary-light dark:bg-background-secondary-dark text-text-primary-light dark:text-text-primary-dark border dark:border-none border-border-primary-light" />
-
- +
+ setPassword(e.target.value)} - className='w-full p-2 rounded bg-gray-700 text-white' + className="w-full p-2 rounded bg-background-secondary-light dark:bg-background-secondary-dark text-text-primary-light dark:text-text-primary-dark border dark:border-none border-border-primary-light" />
-
- +
+ setVerifyPassword(e.target.value)} - className='w-full p-2 rounded bg-gray-700 text-white' + className="w-full p-2 rounded bg-background-secondary-light dark:bg-background-secondary-dark text-text-primary-light dark:text-text-primary-dark border dark:border-none border-border-primary-light" />
-
+
- {disabledReason ? ( -
{disabledReason}
- ) : ( -
 
- )} +
+ {disabledReason ? disabledReason : String.fromCharCode(160)} +
diff --git a/web/src/components/GroupDashboard.tsx b/web/src/components/GroupDashboard.tsx index a0f74ba..cec07ee 100644 --- a/web/src/components/GroupDashboard.tsx +++ b/web/src/components/GroupDashboard.tsx @@ -1,6 +1,8 @@ import React, { useState } from "react"; import CreateGroup from "./CreateGroup"; import JoinGroup from "./JoinGroup"; +import PlayerList from "./PlayerList"; +import ConfirmationDialog from './ConfirmationDialog'; import { Group } from "../types/Group"; import { usePlayerDataStore } from "../storage/PlayerDataStore"; import { useGroupStore } from "../storage/GroupStore"; @@ -17,11 +19,18 @@ const GroupDashboard = ({ setCurrentPage }) => { const { groups, setGroups } = useGroupStore(); const { playerData } = usePlayerDataStore(); const [showCreateGroup, setShowCreateGroup] = useState(false); + const [showPlayerList, setShowPlayerList] = useState(false); const [selectedGroup, setSelectedGroup] = useState(null); + const [isDialogOpen, setIsDialogOpen] = useState(false); const inGroup = groups.some((group) => group.members.some((member) => member.Player === playerData.source) ); + const handleConfirm = () => { + // Add your confirm action here + setIsDialogOpen(false); + }; + const createGroup = (groupData) => { console.log(groupData); const newGroup = { @@ -48,59 +57,78 @@ const GroupDashboard = ({ setCurrentPage }) => { console.log(groupData); }; - const leaveGroup = (groupData) => { - console.log(groupData); + const leaveGroup = () => { + console.log("Leaving current group"); + setIsDialogOpen(true); }; const removeGroup = (groupData) => { console.log(groupData); }; - const renderIcons = (isLeader, isMember, users) => { + const renderIcons = (isLeader, isMember, element) => { return ( <> setCurrentPage("PlayerList")} + className="mx-1 text-button-primary-light dark:text-button-primary-dark hover:text-button-hover-light dark:hover:text-text-hover-dark" + onClick={() => setShowPlayerList(true)} /> {isLeader && ( removeGroup(element)} /> )} {isMember && !isLeader && ( leaveGroup(element)} /> )} - - {users} ); }; return ( -
-
- {!inGroup && ( -
-
- Create a group or join an existing group -
- +
+
+
+
+ Create a group or join an existing group
- )} -
+
+
+ + +
+
{Object.keys(groups).map((key) => { const element = groups[key]; let isLeader = element.leader === playerData.source; @@ -111,7 +139,8 @@ const GroupDashboard = ({ setCurrentPage }) => { return (
{ if (!inGroup) { setSelectedGroup(element); @@ -119,22 +148,27 @@ const GroupDashboard = ({ setCurrentPage }) => { }} >
- + {element.GName}
<> - {isLeader || isMember ? ( -
{renderIcons(isLeader, isMember, element.members.length)}
- ) : ( - <> - - {element.members.length} - - )} + {isLeader || + (isMember && ( +
+ {renderIcons(isLeader, isMember, element)} +
+ ))} + + + {element.members.length} +
@@ -155,7 +189,6 @@ const GroupDashboard = ({ setCurrentPage }) => { groupId={selectedGroup.id} groupName={selectedGroup.GName} onSelect={(groupData) => { - // Handle group joining logic here joinGroup(groupData); setSelectedGroup(null); }} @@ -164,6 +197,15 @@ const GroupDashboard = ({ setCurrentPage }) => { }} /> )} + {showPlayerList && ( + setShowPlayerList(false)} /> + + )} + {isDialogOpen && ( + setIsDialogOpen(false)} + onConfirm={handleConfirm} + />)}
); diff --git a/web/src/components/GroupList.tsx b/web/src/components/GroupList.tsx deleted file mode 100644 index 821873b..0000000 --- a/web/src/components/GroupList.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react'; - -const GroupList: React.FC = () => { - return
; -}; - -export default GroupList; diff --git a/web/src/components/Header.tsx b/web/src/components/Header.tsx deleted file mode 100644 index 4c1508e..0000000 --- a/web/src/components/Header.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; - -const Header: React.FC = () => { - return ( -
-
-
Join a group or browse groups currently busy
-
-
-
CREATE GROUP
-
-
- ); -}; - -export default Header; diff --git a/web/src/components/JoinGroup.tsx b/web/src/components/JoinGroup.tsx index 65089ab..a083a47 100644 --- a/web/src/components/JoinGroup.tsx +++ b/web/src/components/JoinGroup.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect } from "react"; const JoinGroup: React.FC = ({ groupId, @@ -6,17 +6,17 @@ const JoinGroup: React.FC = ({ onSelect, onClose, }) => { - const [password, setPassword] = useState(''); - const [disabledReason, setDisabledReason] = useState(''); + const [password, setPassword] = useState(""); + const [disabledReason, setDisabledReason] = useState(""); const [isSubmitDisabled, setIsSubmitDisabled] = useState(true); useEffect(() => { - let reason = ''; - if (password === '') { - reason = 'Password is required'; + let reason = ""; + if (password === "") { + reason = "Password is required"; } setDisabledReason(reason); - setIsSubmitDisabled(reason !== ''); + setIsSubmitDisabled(reason !== ""); }, [password]); const handleSubmit = (e: React.FormEvent) => { @@ -26,60 +26,69 @@ const JoinGroup: React.FC = ({ }; return ( -
-
-
-

Join Group

-
-
-
-