@riddix/hamh 2.1.0-alpha.676 → 2.1.0-alpha.678

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -146912,6 +146912,14 @@ var init_bridge_config_schema = __esm({
146912
146912
  description: "Append a suffix to every entity serial number on this bridge. Useful for forcing controllers like Aqara to treat devices as new and bypass cached device data. Leave empty for default behavior.",
146913
146913
  maxLength: 16
146914
146914
  },
146915
+ sessionMaxAgeHours: {
146916
+ title: "Session Rotation Max Age (hours)",
146917
+ type: "number",
146918
+ description: "Server Mode only. Rotate matter sessions older than this many hours so iPhone clients re-subscribe and Apple Home unsticks 'Updating' tiles. Set 0 to disable rotation. Range 0-168, default 4. (#287)",
146919
+ default: 4,
146920
+ minimum: 0,
146921
+ maximum: 168
146922
+ },
146915
146923
  filter: homeAssistantFilterSchema,
146916
146924
  featureFlags: featureFlagSchema
146917
146925
  },
@@ -166644,6 +166652,9 @@ var BridgeDataProvider = class extends Service {
166644
166652
  get serialNumberSuffix() {
166645
166653
  return this.data.serialNumberSuffix;
166646
166654
  }
166655
+ get sessionMaxAgeHours() {
166656
+ return this.data.sessionMaxAgeHours;
166657
+ }
166647
166658
  /************************************************
166648
166659
  * Functions
166649
166660
  ************************************************/
@@ -166669,6 +166680,7 @@ var BridgeDataProvider = class extends Service {
166669
166680
  icon: this.icon,
166670
166681
  priority: this.priority,
166671
166682
  serialNumberSuffix: this.serialNumberSuffix,
166683
+ sessionMaxAgeHours: this.sessionMaxAgeHours,
166672
166684
  status: status3.code,
166673
166685
  statusReason: status3.reason,
166674
166686
  commissioning: commissioning ? {
@@ -181869,6 +181881,9 @@ init_dist();
181869
181881
  init_diagnostic_event_bus();
181870
181882
  var AUTO_FORCE_SYNC_INTERVAL_MS2 = 9e4;
181871
181883
  var DEAD_SESSION_TIMEOUT_MS2 = 6e4;
181884
+ var DEFAULT_SESSION_MAX_AGE_HOURS = 4;
181885
+ var SESSION_MAX_AGE_HOURS_RANGE = { min: 1, max: 168 };
181886
+ var ROTATION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
181872
181887
  var ServerModeBridge = class {
181873
181888
  constructor(logger207, dataProvider, endpointManager, server) {
181874
181889
  this.dataProvider = dataProvider;
@@ -181891,6 +181906,10 @@ var ServerModeBridge = class {
181891
181906
  deadSessionTimer = null;
181892
181907
  staleSessionTimers = /* @__PURE__ */ new Map();
181893
181908
  warmStartTimer = null;
181909
+ // Tracks when each session opened, used for age-based rotation (#287).
181910
+ sessionStartedAt = /* @__PURE__ */ new Map();
181911
+ rotationTimer = null;
181912
+ maxSessionAgeMs = 0;
181894
181913
  // Tracks the last synced state JSON per entity to avoid pushing unchanged states.
181895
181914
  lastSyncedState;
181896
181915
  // Session lifecycle diagnostic handlers (non-destructive, logging only).
@@ -181975,6 +181994,7 @@ var ServerModeBridge = class {
181975
181994
  });
181976
181995
  }
181977
181996
  this.wireSessionDiagnostics();
181997
+ this.startSessionRotation();
181978
181998
  this.scheduleWarmStart();
181979
181999
  logMemoryUsage(this.log, "server mode bridge running");
181980
182000
  this.log.info("Server mode bridge started");
@@ -181990,6 +182010,7 @@ ${e?.toString()}`);
181990
182010
  }
181991
182011
  }
181992
182012
  async stop(code = BridgeStatus.Stopped, reason = "Manually stopped") {
182013
+ this.stopSessionRotation();
181993
182014
  this.unwireSessionDiagnostics();
181994
182015
  this.cancelWarmStart();
181995
182016
  this.stopAutoForceSync();
@@ -182018,6 +182039,7 @@ ${e?.toString()}`);
182018
182039
  await this.refreshDevices();
182019
182040
  if (this.status.code === BridgeStatus.Running) {
182020
182041
  this.startAutoForceSyncIfEnabled();
182042
+ this.startSessionRotation();
182021
182043
  }
182022
182044
  } catch (e) {
182023
182045
  const reason = "Failed to update server mode bridge due to error:";
@@ -182107,6 +182129,7 @@ ${e?.toString()}`);
182107
182129
  };
182108
182130
  sessionManager.subscriptionsChanged.on(this.sessionDiagHandler);
182109
182131
  this.sessionAddedHandler = (newSession) => {
182132
+ this.sessionStartedAt.set(newSession.id, Date.now());
182110
182133
  this.log.info(
182111
182134
  `Session opened: id=${newSession.id} peer=${newSession.peerNodeId}`
182112
182135
  );
@@ -182121,6 +182144,7 @@ ${e?.toString()}`);
182121
182144
  }
182122
182145
  };
182123
182146
  this.sessionDeletedHandler = (session) => {
182147
+ this.sessionStartedAt.delete(session.id);
182124
182148
  const sessions = [...sessionManager.sessions];
182125
182149
  this.log.warn(
182126
182150
  `Session closed: id=${session.id} peer=${session.peerNodeId} | remaining sessions=${sessions.length}`
@@ -182212,6 +182236,89 @@ ${e?.toString()}`);
182212
182236
  clearTimeout(timer);
182213
182237
  }
182214
182238
  this.staleSessionTimers.clear();
182239
+ this.sessionStartedAt.clear();
182240
+ }
182241
+ // Start the periodic age-based session rotation (#287).
182242
+ startSessionRotation() {
182243
+ this.stopSessionRotation();
182244
+ const hours = this.readSessionMaxAgeHours();
182245
+ if (hours === 0) {
182246
+ this.log.info(
182247
+ "Session rotation disabled (HAMH_MATTER_SESSION_MAX_AGE_HOURS=0)"
182248
+ );
182249
+ return;
182250
+ }
182251
+ this.maxSessionAgeMs = hours * 60 * 60 * 1e3;
182252
+ this.rotationTimer = setInterval(
182253
+ () => this.rotateAgedSessions(),
182254
+ ROTATION_CHECK_INTERVAL_MS
182255
+ );
182256
+ this.log.info(
182257
+ `Session rotation: max age ${hours}h, check every ${ROTATION_CHECK_INTERVAL_MS / 6e4}min`
182258
+ );
182259
+ }
182260
+ stopSessionRotation() {
182261
+ if (this.rotationTimer) {
182262
+ clearInterval(this.rotationTimer);
182263
+ this.rotationTimer = null;
182264
+ }
182265
+ }
182266
+ // Resolve session rotation max age. Bridge config wins, then env var,
182267
+ // then built-in default. 0 disables, otherwise clamped to range.
182268
+ readSessionMaxAgeHours() {
182269
+ const { min, max } = SESSION_MAX_AGE_HOURS_RANGE;
182270
+ const fromConfig = this.dataProvider.sessionMaxAgeHours;
182271
+ if (fromConfig != null && Number.isFinite(fromConfig) && fromConfig >= 0) {
182272
+ if (fromConfig === 0) return 0;
182273
+ if (fromConfig < min) return min;
182274
+ if (fromConfig > max) return max;
182275
+ return fromConfig;
182276
+ }
182277
+ const raw = process.env.HAMH_MATTER_SESSION_MAX_AGE_HOURS;
182278
+ if (raw == null || raw === "") return DEFAULT_SESSION_MAX_AGE_HOURS;
182279
+ const n = Number.parseInt(raw, 10);
182280
+ if (Number.isNaN(n) || n < 0) {
182281
+ this.log.warn(
182282
+ `Invalid HAMH_MATTER_SESSION_MAX_AGE_HOURS=${raw}, falling back to ${DEFAULT_SESSION_MAX_AGE_HOURS}h`
182283
+ );
182284
+ return DEFAULT_SESSION_MAX_AGE_HOURS;
182285
+ }
182286
+ if (n === 0) return 0;
182287
+ if (n < min) return min;
182288
+ if (n > max) return max;
182289
+ return n;
182290
+ }
182291
+ // Gracefully close sessions older than maxSessionAgeMs so controllers
182292
+ // re-establish CASE and re-subscribe. Stale (0-sub) sessions are handled
182293
+ // by the existing dead-session path, so only rotate ones with subscriptions.
182294
+ rotateAgedSessions() {
182295
+ if (this.maxSessionAgeMs === 0) return;
182296
+ try {
182297
+ const sessionManager = this.server.env.get(SessionManager);
182298
+ const now = Date.now();
182299
+ const closes = [];
182300
+ for (const s of [...sessionManager.sessions]) {
182301
+ const startedAt = this.sessionStartedAt.get(s.id);
182302
+ if (startedAt == null) continue;
182303
+ const ageMs = now - startedAt;
182304
+ if (ageMs < this.maxSessionAgeMs || s.isClosing || s.subscriptions.size === 0) {
182305
+ continue;
182306
+ }
182307
+ const ageMin = Math.round(ageMs / 6e4);
182308
+ this.log.info(
182309
+ `Rotating session ${s.id} (peer ${s.peerNodeId}, age ${ageMin}min, subs ${s.subscriptions.size})`
182310
+ );
182311
+ closes.push(
182312
+ s.initiateClose().catch(() => {
182313
+ return s.initiateForceClose();
182314
+ })
182315
+ );
182316
+ }
182317
+ if (closes.length > 0) {
182318
+ Promise.allSettled(closes).then(() => this.triggerMdnsReAnnounce());
182319
+ }
182320
+ } catch {
182321
+ }
182215
182322
  }
182216
182323
  stopAutoForceSync() {
182217
182324
  if (this.autoForceSyncTimer) {
@@ -145,7 +145,7 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
145
145
  animation: ${Rh} 1.4s linear infinite;
146
146
  `,Ote=typeof zh==`string`?null:$u`
147
147
  animation: ${zh} 1.4s ease-in-out infinite;
148
- `,kte=e=>{let{classes:t,variant:n,color:r,disableShrink:i}=e;return dp({root:[`root`,n,`color${Y(r)}`],svg:[`svg`],track:[`track`],circle:[`circle`,`circle${Y(n)}`,i&&`circleDisableShrink`]},Ete,t)},Ate=J(`span`,{name:`MuiCircularProgress`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`color${Y(n.color)}`]]}})(Im(({theme:e})=>({display:`inline-block`,variants:[{props:{variant:`determinate`},style:{transition:e.transitions.create(`transform`)}},{props:{variant:`indeterminate`},style:Dte||{animation:`${Rh} 1.4s linear infinite`}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}}))]}))),jte=J(`svg`,{name:`MuiCircularProgress`,slot:`Svg`})({display:`block`}),Mte=J(`circle`,{name:`MuiCircularProgress`,slot:`Circle`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.circle,t[`circle${Y(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(Im(({theme:e})=>({stroke:`currentColor`,variants:[{props:{variant:`determinate`},style:{transition:e.transitions.create(`stroke-dashoffset`)}},{props:{variant:`indeterminate`},style:{strokeDasharray:`80px, 200px`,strokeDashoffset:0}},{props:({ownerState:e})=>e.variant===`indeterminate`&&!e.disableShrink,style:Ote||{animation:`${zh} 1.4s ease-in-out infinite`}}]}))),Nte=J(`circle`,{name:`MuiCircularProgress`,slot:`Track`})(Im(({theme:e})=>({stroke:`currentColor`,opacity:(e.vars||e).palette.action.activatedOpacity}))),Bh=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCircularProgress`}),{className:r,color:i=`primary`,disableShrink:a=!1,enableTrackSlot:o=!1,size:s=40,style:c,thickness:l=3.6,value:u=0,variant:d=`indeterminate`,...f}=n,p={...n,color:i,disableShrink:a,size:s,thickness:l,value:u,variant:d,enableTrackSlot:o},m=kte(p),h={},g={},_={};if(d===`determinate`){let e=2*Math.PI*((Lh-l)/2);h.strokeDasharray=e.toFixed(3),_[`aria-valuenow`]=Math.round(u),h.strokeDashoffset=`${((100-u)/100*e).toFixed(3)}px`,g.transform=`rotate(-90deg)`}return(0,G.jsx)(Ate,{className:K(m.root,r),style:{width:s,height:s,...g,...c},ownerState:p,ref:t,role:`progressbar`,..._,...f,children:(0,G.jsxs)(jte,{className:m.svg,ownerState:p,viewBox:`${Lh/2} ${Lh/2} ${Lh} ${Lh}`,children:[o?(0,G.jsx)(Nte,{className:m.track,ownerState:p,cx:Lh,cy:Lh,r:(Lh-l)/2,fill:`none`,strokeWidth:l,"aria-hidden":`true`}):null,(0,G.jsx)(Mte,{className:m.circle,style:h,ownerState:p,cx:Lh,cy:Lh,r:(Lh-l)/2,fill:`none`,strokeWidth:l})]})})});function Pte(e){return Id(`MuiIconButton`,e)}var Vh=Ld(`MuiIconButton`,[`root`,`disabled`,`colorInherit`,`colorPrimary`,`colorSecondary`,`colorError`,`colorInfo`,`colorSuccess`,`colorWarning`,`edgeStart`,`edgeEnd`,`sizeSmall`,`sizeMedium`,`sizeLarge`,`loading`,`loadingIndicator`,`loadingWrapper`]),Fte=e=>{let{classes:t,disabled:n,color:r,edge:i,size:a,loading:o}=e;return dp({root:[`root`,o&&`loading`,n&&`disabled`,r!==`default`&&`color${Y(r)}`,i&&`edge${Y(i)}`,`size${Y(a)}`],loadingIndicator:[`loadingIndicator`],loadingWrapper:[`loadingWrapper`]},Pte,t)},Ite=J(Fh,{name:`MuiIconButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.loading&&t.loading,n.color!==`default`&&t[`color${Y(n.color)}`],n.edge&&t[`edge${Y(n.edge)}`],t[`size${Y(n.size)}`]]}})(Im(({theme:e})=>({textAlign:`center`,flex:`0 0 auto`,fontSize:e.typography.pxToRem(24),padding:8,borderRadius:`50%`,color:(e.vars||e).palette.action.active,transition:e.transitions.create(`background-color`,{duration:e.transitions.duration.shortest}),variants:[{props:e=>!e.disableRipple,style:{"--IconButton-hoverBg":e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity),"&:hover":{backgroundColor:`var(--IconButton-hoverBg)`,"@media (hover: none)":{backgroundColor:`transparent`}}}},{props:{edge:`start`},style:{marginLeft:-12}},{props:{edge:`start`,size:`small`},style:{marginLeft:-3}},{props:{edge:`end`},style:{marginRight:-12}},{props:{edge:`end`,size:`small`},style:{marginRight:-3}}]})),Im(({theme:e})=>({variants:[{props:{color:`inherit`},style:{color:`inherit`}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{"--IconButton-hoverBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}})),{props:{size:`small`},style:{padding:5,fontSize:e.typography.pxToRem(18)}},{props:{size:`large`},style:{padding:12,fontSize:e.typography.pxToRem(28)}}],[`&.${Vh.disabled}`]:{backgroundColor:`transparent`,color:(e.vars||e).palette.action.disabled},[`&.${Vh.loading}`]:{color:`transparent`}}))),Lte=J(`span`,{name:`MuiIconButton`,slot:`LoadingIndicator`})(({theme:e})=>({display:`none`,position:`absolute`,visibility:`visible`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,color:(e.vars||e).palette.action.disabled,variants:[{props:{loading:!0},style:{display:`flex`}}]})),Hh=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiIconButton`}),{edge:r=!1,children:i,className:a,color:o=`default`,disabled:s=!1,disableFocusRipple:c=!1,size:l=`medium`,id:u,loading:d=null,loadingIndicator:f,...p}=n,m=ah(u),h=f??(0,G.jsx)(Bh,{"aria-labelledby":m,color:`inherit`,size:16}),g={...n,edge:r,color:o,disabled:s,disableFocusRipple:c,loading:d,loadingIndicator:h,size:l},_=Fte(g);return(0,G.jsxs)(Ite,{id:d?m:u,className:K(_.root,a),centerRipple:!0,focusRipple:!c,disabled:s||d,ref:t,...p,ownerState:g,children:[typeof d==`boolean`&&(0,G.jsx)(`span`,{className:_.loadingWrapper,style:{display:`contents`},children:(0,G.jsx)(Lte,{className:_.loadingIndicator,ownerState:g,children:d&&h})}),i]})}),Rte=X((0,G.jsx)(`path`,{d:`M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z`}),`SuccessOutlined`),zte=X((0,G.jsx)(`path`,{d:`M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z`}),`ReportProblemOutlined`),Bte=X((0,G.jsx)(`path`,{d:`M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z`}),`ErrorOutline`),Vte=X((0,G.jsx)(`path`,{d:`M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z`}),`InfoOutlined`),Uh=X((0,G.jsx)(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`}),`Close`),Hte=e=>{let{variant:t,color:n,severity:r,classes:i}=e;return dp({root:[`root`,`color${Y(n||r)}`,`${t}${Y(n||r)}`,`${t}`],icon:[`icon`],message:[`message`],action:[`action`]},Zee,i)},Ute=J(Km,{name:`MuiAlert`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${Y(n.color||n.severity)}`]]}})(Im(({theme:e})=>{let t=e.palette.mode===`light`?e.darken:e.lighten,n=e.palette.mode===`light`?e.lighten:e.darken;return{...e.typography.body2,backgroundColor:`transparent`,display:`flex`,padding:`6px 16px`,variants:[...Object.entries(e.palette).filter(Gm([`light`])).map(([r])=>({props:{colorSeverity:r,variant:`standard`},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${r}StandardBg`]:n(e.palette[r].light,.9),[`& .${qm.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(Gm([`light`])).map(([n])=>({props:{colorSeverity:n,variant:`outlined`},style:{color:e.vars?e.vars.palette.Alert[`${n}Color`]:t(e.palette[n].light,.6),border:`1px solid ${(e.vars||e).palette[n].light}`,[`& .${qm.icon}`]:e.vars?{color:e.vars.palette.Alert[`${n}IconColor`]}:{color:e.palette[n].main}}})),...Object.entries(e.palette).filter(Gm([`dark`])).map(([t])=>({props:{colorSeverity:t,variant:`filled`},style:{fontWeight:e.typography.fontWeightMedium,...e.vars?{color:e.vars.palette.Alert[`${t}FilledColor`],backgroundColor:e.vars.palette.Alert[`${t}FilledBg`]}:{backgroundColor:e.palette.mode===`dark`?e.palette[t].dark:e.palette[t].main,color:e.palette.getContrastText(e.palette[t].main)}}}))]}})),Wte=J(`div`,{name:`MuiAlert`,slot:`Icon`})({marginRight:12,padding:`7px 0`,display:`flex`,fontSize:22,opacity:.9}),Gte=J(`div`,{name:`MuiAlert`,slot:`Message`})({padding:`8px 0`,minWidth:0,overflow:`auto`}),Kte=J(`div`,{name:`MuiAlert`,slot:`Action`})({display:`flex`,alignItems:`flex-start`,padding:`4px 0 0 16px`,marginLeft:`auto`,marginRight:-8}),Wh={success:(0,G.jsx)(Rte,{fontSize:`inherit`}),warning:(0,G.jsx)(zte,{fontSize:`inherit`}),error:(0,G.jsx)(Bte,{fontSize:`inherit`}),info:(0,G.jsx)(Vte,{fontSize:`inherit`})},Gh=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiAlert`}),{action:r,children:i,className:a,closeText:o=`Close`,color:s,components:c={},componentsProps:l={},icon:u,iconMapping:d=Wh,onClose:f,role:p=`alert`,severity:m=`success`,slotProps:h={},slots:g={},variant:_=`standard`,...v}=n,y={...n,color:s,severity:m,variant:_,colorSeverity:s||m},b=Hte(y),x={slots:{closeButton:c.CloseButton,closeIcon:c.CloseIcon,...g},slotProps:{...l,...h}},[S,C]=Wm(`root`,{ref:t,shouldForwardComponentProp:!0,className:K(b.root,a),elementType:Ute,externalForwardedProps:{...x,...v},ownerState:y,additionalProps:{role:p,elevation:0}}),[w,T]=Wm(`icon`,{className:b.icon,elementType:Wte,externalForwardedProps:x,ownerState:y}),[E,D]=Wm(`message`,{className:b.message,elementType:Gte,externalForwardedProps:x,ownerState:y}),[O,k]=Wm(`action`,{className:b.action,elementType:Kte,externalForwardedProps:x,ownerState:y}),[A,j]=Wm(`closeButton`,{elementType:Hh,externalForwardedProps:x,ownerState:y}),[M,N]=Wm(`closeIcon`,{elementType:Uh,externalForwardedProps:x,ownerState:y});return(0,G.jsxs)(S,{...C,children:[u===!1?null:(0,G.jsx)(w,{...T,children:u||d[m]||Wh[m]}),(0,G.jsx)(E,{...D,children:i}),r==null?null:(0,G.jsx)(O,{...k,children:r}),r==null&&f?(0,G.jsx)(O,{...k,children:(0,G.jsx)(A,{size:`small`,"aria-label":o,title:o,color:`inherit`,onClick:f,...j,children:(0,G.jsx)(M,{fontSize:`small`,...N})})}):null]})});function qte(e={}){let{autoHideDuration:t=null,disableWindowBlurListener:n=!1,onClose:r,open:i,resumeHideDuration:a}=e,o=Mh();C.useEffect(()=>{if(!i)return;function e(e){e.defaultPrevented||e.key===`Escape`&&r?.(e,`escapeKeyDown`)}return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[i,r]);let s=ch((e,t)=>{r?.(e,t)}),c=ch(e=>{!r||e==null||o.start(e,()=>{s(null,`timeout`)})});C.useEffect(()=>(i&&c(t),o.clear),[i,t,c,o]);let l=e=>{r?.(e,`clickaway`)},u=o.clear,d=C.useCallback(()=>{t!=null&&c(a??t*.5)},[t,a,c]),f=e=>t=>{let n=e.onBlur;n?.(t),d()},p=e=>t=>{let n=e.onFocus;n?.(t),u()},m=e=>t=>{let n=e.onMouseEnter;n?.(t),u()},h=e=>t=>{let n=e.onMouseLeave;n?.(t),d()};return C.useEffect(()=>{if(!n&&i)return window.addEventListener(`focus`,d),window.addEventListener(`blur`,u),()=>{window.removeEventListener(`focus`,d),window.removeEventListener(`blur`,u)}},[n,i,d,u]),{getRootProps:(t={})=>{let n={...Vm(e),...Vm(t)};return{role:`presentation`,...t,...n,onBlur:f(n),onFocus:p(n),onMouseEnter:m(n),onMouseLeave:h(n)}},onClickAway:l}}function Kh(e){return e?.props?.ref||null}function qh(e){return e.substring(2).toLowerCase()}function Jte(e,t){return t.documentElement.clientWidth<e.clientX||t.documentElement.clientHeight<e.clientY}function Jh(e){let{children:t,disableReactTree:n=!1,mouseEvent:r=`onClick`,onClickAway:i,touchEvent:a=`onTouchEnd`}=e,o=C.useRef(!1),s=C.useRef(null),c=C.useRef(!1),l=C.useRef(!1);C.useEffect(()=>(setTimeout(()=>{c.current=!0},0),()=>{c.current=!1}),[]);let u=Lm(Kh(t),s),d=ch(e=>{let t=l.current;l.current=!1;let r=$m(s.current);if(!c.current||!s.current||`clientX`in e&&Jte(e,r))return;if(o.current){o.current=!1;return}let a;a=e.composedPath?e.composedPath().includes(s.current):!r.documentElement.contains(e.target)||s.current.contains(e.target),!a&&(n||!t)&&i(e)}),f=e=>n=>{l.current=!0;let r=t.props[e];r&&r(n)},p={ref:u};return a!==!1&&(p[a]=f(a)),C.useEffect(()=>{if(a!==!1){let e=qh(a),t=$m(s.current),n=()=>{o.current=!0};return t.addEventListener(e,d),t.addEventListener(`touchmove`,n),()=>{t.removeEventListener(e,d),t.removeEventListener(`touchmove`,n)}}},[d,a]),r!==!1&&(p[r]=f(r)),C.useEffect(()=>{if(r!==!1){let e=qh(r),t=$m(s.current);return t.addEventListener(e,d),()=>{t.removeEventListener(e,d)}}},[d,r]),C.cloneElement(t,p)}var Yh=e=>e.scrollTop;function Xh(e,t){return n=>{if(t){let r=e.current;n===void 0?t(r):t(r,n)}}}function Zh(e,t,n,r,i,a){let o=e===`exited`&&!t?r:n[e]||n.exited;return i||a?{...o,...i,...a}:o}function Qh(e,t){let{timeout:n,easing:r,style:i={}}=e;return{duration:i.transitionDuration??(typeof n==`number`?n:n[t.mode]||0),easing:i.transitionTimingFunction??(typeof r==`object`?r[t.mode]:r),delay:i.transitionDelay}}function $h(e){return`scale(${e}, ${e**2})`}var Yte={entering:{opacity:1,transform:$h(1)},entered:{opacity:1,transform:`none`},exiting:{opacity:0,transform:$h(.75)},exited:{opacity:0,transform:$h(.75)}},Xte={opacity:0,transform:$h(.75),visibility:`hidden`},eg=C.forwardRef(function(e,t){let{addEndListener:n,appear:r=!0,children:i,easing:a,in:o,onEnter:s,onEntered:c,onEntering:l,onExit:u,onExited:d,onExiting:f,style:p,timeout:m=`auto`,...h}=e,g=Mh(),_=C.useRef(),v=Tm(),y=C.useRef(null),b=uh(y,Kh(i),t),x=Xh(y,l),S=Xh(y,(e,t)=>{Yh(e);let{duration:n,delay:r,easing:i}=Qh({style:p,timeout:m,easing:a},{mode:`enter`}),o;m===`auto`?(o=v.transitions.getAutoHeightDuration(e.clientHeight),_.current=o):o=n,e.style.transition=[v.transitions.create(`opacity`,{duration:o,delay:r}),v.transitions.create(`transform`,{duration:o*.666,delay:r,easing:i})].join(`,`),s&&s(e,t)}),w=Xh(y,c),T=Xh(y,f),E=Xh(y,e=>{let{duration:t,delay:n,easing:r}=Qh({style:p,timeout:m,easing:a},{mode:`exit`}),i;m===`auto`?(i=v.transitions.getAutoHeightDuration(e.clientHeight),_.current=i):i=t,e.style.transition=[v.transitions.create(`opacity`,{duration:i,delay:n}),v.transitions.create(`transform`,{duration:i*.666,delay:n||i*.333,easing:r})].join(`,`),e.style.opacity=0,e.style.transform=$h(.75),u&&u(e)}),D=Xh(y,e=>{e.style.transition=``,d&&d(e)});return(0,G.jsx)(Eh,{appear:r,in:o,nodeRef:y,onEnter:S,onEntered:w,onEntering:x,onExit:E,onExited:D,onExiting:T,addEndListener:e=>{m===`auto`&&g.start(_.current||0,e),n&&n(y.current,e)},timeout:m===`auto`?null:m,...h,children:(e,{ownerState:t,...n})=>{let r=Zh(e,o,Yte,Xte,p,i.props.style);return C.cloneElement(i,{style:r,ref:b,...n})}})});eg&&(eg.muiSupportAuto=!0);function Zte(e){return Id(`MuiSnackbarContent`,e)}Ld(`MuiSnackbarContent`,[`root`,`message`,`action`]);var Qte=e=>{let{classes:t}=e;return dp({root:[`root`],action:[`action`],message:[`message`]},Zte,t)},$te=J(Km,{name:`MuiSnackbarContent`,slot:`Root`})(Im(({theme:e})=>{let t=e.palette.mode===`light`?.8:.98;return{...e.typography.body2,color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(Sf(e.palette.background.default,t)),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:Sf(e.palette.background.default,t),display:`flex`,alignItems:`center`,flexWrap:`wrap`,padding:`6px 16px`,flexGrow:1,[e.breakpoints.up(`sm`)]:{flexGrow:`initial`,minWidth:288}}})),ene=J(`div`,{name:`MuiSnackbarContent`,slot:`Message`})({padding:`8px 0`}),tne=J(`div`,{name:`MuiSnackbarContent`,slot:`Action`})({display:`flex`,alignItems:`center`,marginLeft:`auto`,paddingLeft:16,marginRight:-8}),nne=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiSnackbarContent`}),{action:r,className:i,message:a,role:o=`alert`,...s}=n,c=n,l=Qte(c);return(0,G.jsxs)($te,{role:o,elevation:6,className:K(l.root,i),ownerState:c,ref:t,...s,children:[(0,G.jsx)(ene,{className:l.message,ownerState:c,children:a}),r?(0,G.jsx)(tne,{className:l.action,ownerState:c,children:r}):null]})});function rne(e){return Id(`MuiSnackbar`,e)}Ld(`MuiSnackbar`,[`root`,`anchorOriginTopCenter`,`anchorOriginBottomCenter`,`anchorOriginTopRight`,`anchorOriginBottomRight`,`anchorOriginTopLeft`,`anchorOriginBottomLeft`]);var ine=e=>{let{classes:t,anchorOrigin:n}=e;return dp({root:[`root`,`anchorOrigin${Y(n.vertical)}${Y(n.horizontal)}`]},rne,t)},ane=J(`div`,{name:`MuiSnackbar`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`anchorOrigin${Y(n.anchorOrigin.vertical)}${Y(n.anchorOrigin.horizontal)}`]]}})(Im(({theme:e})=>({zIndex:(e.vars||e).zIndex.snackbar,position:`fixed`,display:`flex`,left:8,right:8,justifyContent:`center`,alignItems:`center`,variants:[{props:({ownerState:e})=>e.anchorOrigin.vertical===`top`,style:{top:8,[e.breakpoints.up(`sm`)]:{top:24}}},{props:({ownerState:e})=>e.anchorOrigin.vertical!==`top`,style:{bottom:8,[e.breakpoints.up(`sm`)]:{bottom:24}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal===`left`,style:{justifyContent:`flex-start`,[e.breakpoints.up(`sm`)]:{left:24,right:`auto`}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal===`right`,style:{justifyContent:`flex-end`,[e.breakpoints.up(`sm`)]:{right:24,left:`auto`}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal===`center`,style:{[e.breakpoints.up(`sm`)]:{left:`50%`,right:`auto`,transform:`translateX(-50%)`}}}]}))),tg=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiSnackbar`}),r=Tm(),i={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{action:a,anchorOrigin:{vertical:o,horizontal:s}={vertical:`bottom`,horizontal:`left`},autoHideDuration:c=null,children:l,className:u,ClickAwayListenerProps:d,ContentProps:f,disableWindowBlurListener:p=!1,message:m,onBlur:h,onClose:g,onFocus:_,onMouseEnter:v,onMouseLeave:y,open:b,resumeHideDuration:x,slots:S={},slotProps:w={},TransitionComponent:T,transitionDuration:E=i,TransitionProps:{onEnter:D,onExited:O,...k}={},...A}=n,j={...n,anchorOrigin:{vertical:o,horizontal:s},autoHideDuration:c,disableWindowBlurListener:p,TransitionComponent:T,transitionDuration:E},M=ine(j),{getRootProps:N,onClickAway:P}=qte(j),[F,I]=C.useState(!0),L=e=>{I(!0),O&&O(e)},R=(e,t)=>{I(!1),D&&D(e,t)},ee={slots:{transition:T,...S},slotProps:{content:f,clickAwayListener:d,transition:k,...w}},[z,te]=Wm(`root`,{ref:t,className:[M.root,u],elementType:ane,getSlotProps:N,externalForwardedProps:{...ee,...A},ownerState:j}),[B,{ownerState:V,...ne}]=Wm(`clickAwayListener`,{elementType:Jh,externalForwardedProps:ee,getSlotProps:e=>({onClickAway:(...t)=>{let n=t[0];e.onClickAway?.(...t),!n?.defaultMuiPrevented&&P(...t)}}),ownerState:j}),[re,ie]=Wm(`content`,{elementType:nne,shouldForwardComponentProp:!0,externalForwardedProps:ee,additionalProps:{message:m,action:a},ownerState:j}),[ae,oe]=Wm(`transition`,{elementType:eg,externalForwardedProps:ee,getSlotProps:e=>({onEnter:(...t)=>{e.onEnter?.(...t),R(...t)},onExited:(...t)=>{e.onExited?.(...t),L(...t)}}),additionalProps:{appear:!0,in:b,timeout:E,direction:o===`top`?`down`:`up`},ownerState:j});return!b&&F?null:(0,G.jsx)(B,{...ne,...S.clickAwayListener&&{ownerState:V},children:(0,G.jsx)(z,{...te,children:(0,G.jsx)(ae,{...oe,children:l||(0,G.jsx)(re,{...ie})})})})}),ng=(0,C.createContext)({show:()=>{}}),one=0,sne=e=>{let[t,n]=(0,C.useState)([]),r=(0,C.useCallback)(e=>{n(t=>[...t,{...e,autoHideDuration:e.autoHideDuration??6e3,notificationId:one++}])},[]),i=e=>{n(t=>t.filter(t=>t.notificationId!==e))};return(0,G.jsxs)(ng.Provider,{value:{show:r},children:[e.children,t.map(e=>(0,G.jsx)(tg,{open:!0,autoHideDuration:e.autoHideDuration,onClose:()=>i(e.notificationId),children:(0,G.jsx)(Gh,{severity:e.severity,variant:`filled`,sx:{minWidth:`300px`},children:e.message})},e.notificationId))]})};function rg(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var ig=typeof Symbol==`function`&&Symbol.observable||`@@observable`,ag=()=>Math.random().toString(36).substring(7).split(``).join(`.`),og={INIT:`@@redux/INIT${ag()}`,REPLACE:`@@redux/REPLACE${ag()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ag()}`};function sg(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function cg(e,t,n){if(typeof e!=`function`)throw Error(rg(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(rg(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(rg(1));return n(cg)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(rg(3));return i}function d(e){if(typeof e!=`function`)throw Error(rg(4));if(c)throw Error(rg(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(rg(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!sg(e))throw Error(rg(7));if(e.type===void 0)throw Error(rg(8));if(typeof e.type!=`string`)throw Error(rg(17));if(c)throw Error(rg(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(rg(10));r=e,f({type:og.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(rg(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[ig](){return this}}}return f({type:og.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[ig]:m}}function cne(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:og.INIT})===void 0)throw Error(rg(12));if(n(void 0,{type:og.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(rg(13))})}function lne(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i;try{cne(n)}catch(e){i=e}return function(e={},t){if(i)throw i;let a=!1,o={};for(let i=0;i<r.length;i++){let s=r[i],c=n[s],l=e[s],u=c(l,t);if(u===void 0)throw t&&t.type,Error(rg(14));o[s]=u,a||=u!==l}return a||=r.length!==Object.keys(e).length,a?o:e}}function lg(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function une(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(rg(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=lg(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function dne(e){return sg(e)&&`type`in e&&typeof e.type==`string`}var ug=Symbol.for(`immer-nothing`),dg=Symbol.for(`immer-draftable`),fg=Symbol.for(`immer-state`);function pg(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var mg=Object,hg=mg.getPrototypeOf,gg=`constructor`,_g=`prototype`,vg=`configurable`,yg=`enumerable`,bg=`writable`,xg=`value`,Sg=e=>!!e&&!!e[fg];function Cg(e){return e?Tg(e)||jg(e)||!!e[dg]||!!e[gg]?.[dg]||Mg(e)||Ng(e):!1}var fne=mg[_g][gg].toString(),wg=new WeakMap;function Tg(e){if(!e||!Pg(e))return!1;let t=hg(e);if(t===null||t===mg[_g])return!0;let n=mg.hasOwnProperty.call(t,gg)&&t[gg];if(n===Object)return!0;if(!Fg(n))return!1;let r=wg.get(n);return r===void 0&&(r=Function.toString.call(n),wg.set(n,r)),r===fne}function Eg(e,t,n=!0){Dg(e)===0?(n?Reflect.ownKeys(e):mg.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Dg(e){let t=e[fg];return t?t.type_:jg(e)?1:Mg(e)?2:Ng(e)?3:0}var Og=(e,t,n=Dg(e))=>n===2?e.has(t):mg[_g].hasOwnProperty.call(e,t),kg=(e,t,n=Dg(e))=>n===2?e.get(t):e[t],Ag=(e,t,n,r=Dg(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function pne(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var jg=Array.isArray,Mg=e=>e instanceof Map,Ng=e=>e instanceof Set,Pg=e=>typeof e==`object`,Fg=e=>typeof e==`function`,Ig=e=>typeof e==`boolean`;function mne(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Lg=e=>e.copy_||e.base_,Rg=e=>e.modified_?e.copy_:e.base_;function zg(e,t){if(Mg(e))return new Map(e);if(Ng(e))return new Set(e);if(jg(e))return Array[_g].slice.call(e);let n=Tg(e);if(t===!0||t===`class_only`&&!n){let t=mg.getOwnPropertyDescriptors(e);delete t[fg];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[bg]===!1&&(a[bg]=!0,a[vg]=!0),(a.get||a.set)&&(t[i]={[vg]:!0,[bg]:!0,[yg]:a[yg],[xg]:e[i]})}return mg.create(hg(e),t)}else{let t=hg(e);if(t!==null&&n)return{...e};let r=mg.create(t);return mg.assign(r,e)}}function Bg(e,t=!1){return Hg(e)||Sg(e)||!Cg(e)?e:(Dg(e)>1&&mg.defineProperties(e,{set:Vg,add:Vg,clear:Vg,delete:Vg}),mg.freeze(e),t&&Eg(e,(e,t)=>{Bg(t,!0)},!1),e)}function hne(){pg(2)}var Vg={[xg]:hne};function Hg(e){return e===null||!Pg(e)?!0:mg.isFrozen(e)}var Ug=`MapSet`,Wg=`Patches`,Gg=`ArrayMethods`,Kg={};function qg(e){let t=Kg[e];return t||pg(0,e),t}var Jg=e=>!!Kg[e],Yg,Xg=()=>Yg,gne=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Jg(Ug)?qg(Ug):void 0,arrayMethodsPlugin_:Jg(Gg)?qg(Gg):void 0});function Zg(e,t){t&&(e.patchPlugin_=qg(Wg),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Qg(e){$g(e),e.drafts_.forEach(_ne),e.drafts_=null}function $g(e){e===Yg&&(Yg=e.parent_)}var e_=e=>Yg=gne(Yg,e);function _ne(e){let t=e[fg];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function t_(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[fg].modified_&&(Qg(t),pg(4)),Cg(e)&&(e=n_(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[fg].base_,e,t)}else e=n_(t,n);return vne(t,e,!0),Qg(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===ug?void 0:e}function n_(e,t){if(Hg(t))return t;let n=t[fg];if(!n)return s_(t,e.handledSet_,e);if(!i_(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);o_(n,e)}return n.copy_}function vne(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Bg(t,n)}function r_(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var i_=(e,t)=>e.scope_===t,yne=[];function a_(e,t,n,r){let i=Lg(e),a=e.type_;if(r!==void 0&&kg(i,r,a)===t){Ag(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Eg(i,(e,n)=>{if(Sg(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??yne;for(let e of o)Ag(i,e,n,a)}function bne(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!i_(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Rg(i);a_(e,i.draft_??i,a,n),o_(i,r)})}function o_(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}r_(e)}}function xne(e,t,n){let{scope_:r}=e;if(Sg(n)){let i=n[fg];i_(i,r)&&i.callbacks_.push(function(){p_(e),a_(e,n,Rg(i),t)})}else Cg(n)&&e.callbacks_.push(function(){let i=Lg(e);e.type_===3?i.has(n)&&s_(n,r.handledSet_,r):kg(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&s_(kg(e.copy_,t,e.type_),r.handledSet_,r)})}function s_(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Sg(e)||t.has(e)||!Cg(e)||Hg(e)?e:(t.add(e),Eg(e,(r,i)=>{if(Sg(i)){let t=i[fg];i_(t,n)&&(Ag(e,r,Rg(t),e.type_),r_(t))}else Cg(i)&&s_(i,t,n)}),e)}function Sne(e,t){let n=jg(e),r={type_:+!!n,scope_:t?t.scope_:Xg(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=c_;n&&(i=[r],a=l_);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var c_={get(e,t){if(t===fg)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Lg(e);if(!Og(i,t,e.type_))return Cne(e,i,t);let a=i[t];if(e.finalized_||!Cg(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&mne(t))return a;if(a===u_(e.base_,t)){p_(e);let n=e.type_===1?+t:t,r=m_(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Lg(e)},ownKeys(e){return Reflect.ownKeys(Lg(e))},set(e,t,n){let r=d_(Lg(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=u_(Lg(e),t),i=r?.[fg];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(pne(n,r)&&(n!==void 0||Og(e.base_,t,e.type_)))return!0;p_(e),f_(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),xne(e,t,n),!0)},deleteProperty(e,t){return p_(e),u_(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),f_(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Lg(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[bg]:!0,[vg]:e.type_!==1||t!==`length`,[yg]:r[yg],[xg]:n[t]}},defineProperty(){pg(11)},getPrototypeOf(e){return hg(e.base_)},setPrototypeOf(){pg(12)}},l_={};for(let e in c_){let t=c_[e];l_[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}l_.deleteProperty=function(e,t){return l_.set.call(this,e,t,void 0)},l_.set=function(e,t,n){return c_.set.call(this,e[0],t,n,e[0])};function u_(e,t){let n=e[fg];return(n?Lg(n):e)[t]}function Cne(e,t,n){let r=d_(t,n);return r?xg in r?r[xg]:r.get?.call(e.draft_):void 0}function d_(e,t){if(!(t in e))return;let n=hg(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=hg(n)}}function f_(e){e.modified_||(e.modified_=!0,e.parent_&&f_(e.parent_))}function p_(e){e.copy_||=(e.assigned_=new Map,zg(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var wne=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Fg(e)&&!Fg(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}Fg(t)||pg(6),n!==void 0&&!Fg(n)&&pg(7);let r;if(Cg(e)){let i=e_(this),a=m_(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Qg(i):$g(i)}return Zg(i,n),t_(r,i)}else if(!e||!Pg(e)){if(r=t(e),r===void 0&&(r=e),r===ug&&(r=void 0),this.autoFreeze_&&Bg(r,!0),n){let t=[],i=[];qg(Wg).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else pg(1,e)},this.produceWithPatches=(e,t)=>{if(Fg(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Ig(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ig(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ig(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Cg(e)||pg(8),Sg(e)&&(e=Tne(e));let t=e_(this),n=m_(t,e,void 0);return n[fg].isManual_=!0,$g(t),n}finishDraft(e,t){let n=e&&e[fg];(!n||!n.isManual_)&&pg(9);let{scope_:r}=n;return Zg(r,t),t_(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=qg(Wg).applyPatches_;return Sg(e)?r(e,t):this.produce(e,e=>r(e,t))}};function m_(e,t,n,r){let[i,a]=Mg(t)?qg(Ug).proxyMap_(t,n):Ng(t)?qg(Ug).proxySet_(t,n):Sne(t,n);return(n?.scope_??Xg()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?bne(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Tne(e){return Sg(e)||pg(10,e),h_(e)}function h_(e){if(!Cg(e)||Hg(e))return e;let t=e[fg],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=zg(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=zg(e,!0);return Eg(n,(e,t)=>{Ag(n,e,h_(t))},r),t&&(t.finalized_=!1),n}var g_=new wne().produce,__=Symbol(`NOT_FOUND`);function Ene(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function Dne(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!=`object`)throw TypeError(t)}function One(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var v_=e=>Array.isArray(e)?e:[e];function kne(e){let t=Array.isArray(e[0])?e[0]:e;return One(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function Ane(e,t){let n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}function jne(e){let t;return{get(n){return t&&e(t.key,n)?t.value:__},put(e,n){t={key:e,value:n}},getEntries(){return t?[t]:[]},clear(){t=void 0}}}function Mne(e,t){let n=[];function r(e){let r=n.findIndex(n=>t(e,n.key));if(r>-1){let e=n[r];return r>0&&(n.splice(r,1),n.unshift(e)),e.value}return __}function i(t,i){r(t)===__&&(n.unshift({key:t,value:i}),n.length>e&&n.pop())}function a(){return n}function o(){n=[]}return{get:r,put:i,getEntries:a,clear:o}}var Nne=(e,t)=>e===t;function Pne(e){return function(t,n){if(t===null||n===null||t.length!==n.length)return!1;let{length:r}=t;for(let i=0;i<r;i++)if(!e(t[i],n[i]))return!1;return!0}}function Fne(e,t){let{equalityCheck:n=Nne,maxSize:r=1,resultEqualityCheck:i}=typeof t==`object`?t:{equalityCheck:t},a=Pne(n),o=0,s=r<=1?jne(a):Mne(r,a);function c(){let t=s.get(arguments);if(t===__){if(t=e.apply(null,arguments),o++,i){let e=s.getEntries().find(e=>i(e.value,t));e&&(t=e.value,o!==0&&o--)}s.put(arguments,t)}return t}return c.clearCache=()=>{s.clear(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}var Ine=class{constructor(e){this.value=e}deref(){return this.value}},Lne=typeof WeakRef<`u`?WeakRef:Ine,Rne=0,y_=1;function b_(){return{s:Rne,v:void 0,o:null,p:null}}function x_(e,t={}){let n=b_(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e<n;e++){let n=arguments[e];if(typeof n==`function`||typeof n==`object`&&n){let e=t.o;e===null&&(t.o=e=new WeakMap);let r=e.get(n);r===void 0?(t=b_(),e.set(n,t)):t=r}else{let e=t.p;e===null&&(t.p=e=new Map);let r=e.get(n);r===void 0?(t=b_(),e.set(n,t)):t=r}}let s=t,c;if(t.s===y_)c=t.v;else if(c=e.apply(null,arguments),a++,r){let e=i?.deref?.()??i;e!=null&&r(e,c)&&(c=e,a!==0&&a--),i=typeof c==`object`&&c||typeof c==`function`?new Lne(c):c}return s.s=y_,s.v=c,c}return o.clearCache=()=>{n=b_(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function S_(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),Ene(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=x_,argsMemoizeOptions:u=[],devModeChecks:d={}}={...n,...a},f=v_(c),p=v_(u),m=kne(e),h=s(function(){return t++,o.apply(null,arguments)},...f),g=l(function(){r++;let e=Ane(m,arguments);return i=h.apply(null,e),i},...p);return Object.assign(g,{resultFunc:o,memoizedResultFunc:h,dependencies:m,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var C_=S_(x_),zne=Object.assign((e,t=C_)=>{Dne(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);let n=Object.keys(e);return t(n.map(t=>e[t]),(...e)=>e.reduce((e,t,r)=>(e[n[r]]=t,e),{}))},{withTypes:()=>zne});function w_(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var Bne=w_(),Vne=w_,Hne=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?lg:lg.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;var Une=e=>e&&typeof e.match==`function`;function T_(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(M_(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>dne(t)&&t.type===e,n}var E_=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function D_(e){return Cg(e)?g_(e,()=>{}):e}function Wne(e){return typeof e==`boolean`}var Gne=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new E_;return t&&(Wne(t)?a.push(Bne):a.push(Vne(t.extraArgument))),a},Kne=`RTK_autoBatch`,O_=e=>t=>{setTimeout(t,e)},qne=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?window.requestAnimationFrame:O_(10):e.type===`callback`?e.queueNotification:O_(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[Kne],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},Jne=e=>function(t){let{autoBatch:n=!0}=t??{},r=new E_(e);return n&&r.push(qne(typeof n==`object`?n:void 0)),r};function Yne(e){let t=Gne(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(sg(n))c=lne(n);else throw Error(M_(1));let l;l=typeof r==`function`?r(t):t();let u=lg;i&&(u=Hne({trace:!1,...typeof i==`object`&&i}));let d=Jne(une(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return cg(c,o,p)}function Xne(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(M_(28));if(r in t)throw Error(M_(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function Zne(e){return typeof e==`function`}function k_(e,t){let[n,r,i]=Xne(t),a;if(Zne(e))a=()=>D_(e());else{let t=D_(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n)if(Sg(e)){let r=n(e,t);return r===void 0?e:r}else if(Cg(e))return g_(e,e=>n(e,t));else{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}return e},e)}return o.getInitialState=a,o}var Qne=(e,t)=>Une(e)?e.match(t):e(t);function $ne(...e){return t=>e.some(e=>Qne(e,t))}var ere=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,tre=(e=21)=>{let t=``,n=e;for(;n--;)t+=ere[Math.random()*64|0];return t},nre=[`name`,`message`,`stack`,`code`],A_=class{constructor(e,t){this.payload=e,this.meta=t}_type},rre=class{constructor(e,t){this.payload=e,this.meta=t}_type},ire=e=>{if(typeof e==`object`&&e){let t={};for(let n of nre)typeof e[n]==`string`&&(t[n]=e[n]);return t}return{message:String(e)}},are=`External signal was aborted`,ore=(()=>{function e(e,t,n){let r=T_(e+`/fulfilled`,(e,t,n,r)=>({payload:e,meta:{...r||{},arg:n,requestId:t,requestStatus:`fulfilled`}})),i=T_(e+`/pending`,(e,t,n)=>({payload:void 0,meta:{...n||{},arg:t,requestId:e,requestStatus:`pending`}})),a=T_(e+`/rejected`,(e,t,r,i,a)=>({payload:i,error:(n&&n.serializeError||ire)(e||`Rejected`),meta:{...a||{},arg:r,requestId:t,rejectedWithValue:!!i,requestStatus:`rejected`,aborted:e?.name===`AbortError`,condition:e?.name===`ConditionError`}}));function o(e,{signal:o}={}){return(s,c,l)=>{let u=n?.idGenerator?n.idGenerator(e):tre(),d=new AbortController,f,p;function m(e){p=e,d.abort()}o&&(o.aborted?m(are):o.addEventListener(`abort`,()=>m(are),{once:!0}));let h=async function(){let o;try{let a=n?.condition?.(e,{getState:c,extra:l});if(cre(a)&&(a=await a),a===!1||d.signal.aborted)throw{name:`ConditionError`,message:`Aborted due to condition callback returning false.`};let h=new Promise((e,t)=>{f=()=>{t({name:`AbortError`,message:p||`Aborted`})},d.signal.addEventListener(`abort`,f,{once:!0})});s(i(u,e,n?.getPendingMeta?.({requestId:u,arg:e},{getState:c,extra:l}))),o=await Promise.race([h,Promise.resolve(t(e,{dispatch:s,getState:c,extra:l,requestId:u,signal:d.signal,abort:m,rejectWithValue:(e,t)=>new A_(e,t),fulfillWithValue:(e,t)=>new rre(e,t)})).then(t=>{if(t instanceof A_)throw t;return t instanceof rre?r(t.payload,u,e,t.meta):r(t,u,e)})])}catch(t){o=t instanceof A_?a(null,u,e,t.payload,t.meta):a(t,u,e)}finally{f&&d.signal.removeEventListener(`abort`,f)}return n&&!n.dispatchConditionRejection&&a.match(o)&&o.meta.condition||s(o),o}();return Object.assign(h,{abort:m,requestId:u,arg:e,unwrap(){return h.then(sre)}})}}return Object.assign(o,{pending:i,rejected:a,fulfilled:r,settled:$ne(a,r),typePrefix:e})}return e.withTypes=()=>e,e})();function sre(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function cre(e){return typeof e==`object`&&!!e&&typeof e.then==`function`}var lre=`listener`,ure=`completed`,dre=`cancelled`;`${dre}`,`${ure}`,`${lre}${dre}`,`${lre}${ure}`;var{assign:fre}=Object,j_=`listenerMiddleware`,pre=fre(T_(`${j_}/add`),{withTypes:()=>pre});`${j_}`;var mre=fre(T_(`${j_}/remove`),{withTypes:()=>mre});function M_(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var hre=class extends Error{constructor(e,t,n){super(e),this.status=t,this.body=n,this.name=`ApiError`}};async function N_(e){let t=await e.text();try{return JSON.parse(t)}catch{throw new hre(`Invalid JSON response (HTTP ${e.status}): ${t.slice(0,120)}`,e.status,t)}}async function P_(e,t){if(!e.ok){let n=await e.text().catch(()=>``),r=t;try{let e=JSON.parse(n);e?.error&&(r=e.error)}catch{r=n?`${t} (HTTP ${e.status}: ${n.slice(0,120)})`:`${t} (HTTP ${e.status})`}throw Error(r)}}async function gre(){let e=await fetch(`api/matter/bridges?_s=${Date.now()}`);return await P_(e,`Failed to fetch bridges`),N_(e)}async function F_(e){let t=await fetch(`api/matter/bridges`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return await P_(t,`Failed to create bridge`),N_(t)}async function I_(e){let t=await fetch(`api/matter/bridges/${e.id}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return await P_(t,`Failed to update bridge`),N_(t)}async function _re(e){await fetch(`api/matter/bridges/${e}`,{method:`DELETE`})}async function vre(e){let t=await fetch(`api/matter/bridges/${e}/actions/factory-reset`,{method:`POST`});return await P_(t,`Factory reset failed`),N_(t)}async function L_(e){let t=await fetch(`api/matter/bridges/${e}/actions/force-sync`,{method:`POST`});return await P_(t,`Force sync failed`),N_(t)}async function yre(e){let t=await fetch(`api/matter/bridges/${e}/actions/open-commissioning-window`,{method:`POST`});return await P_(t,`Failed to open commissioning window`),N_(t)}async function bre(e){if(!(await fetch(`api/matter/bridges/priorities`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({updates:e})})).ok)throw Error(`Failed to update priorities`)}async function R_(){let e=await fetch(`api/matter/bridges/actions/start-all`,{method:`POST`});return await P_(e,`Failed to start all bridges`),N_(e)}async function z_(){let e=await fetch(`api/matter/bridges/actions/stop-all`,{method:`POST`});return await P_(e,`Failed to stop all bridges`),N_(e)}async function B_(){let e=await fetch(`api/matter/bridges/actions/restart-all`,{method:`POST`});return await P_(e,`Failed to restart all bridges`),N_(e)}var V_=ore.withTypes(),H_=C_.withTypes(),U_=V_(`bridges/load`,gre),W_=V_(`bridges/create`,F_),G_=V_(`bridges/delete`,_re),K_=V_(`bridges/update`,I_),q_=V_(`bridges/reset`,vre),J_=T_(`bridges/setFromWebSocket`),Y_=T_(`bridges/updateFromWebSocket`),X_=V.withTypes(),Z_=ie.withTypes(),Q_=(0,C.createContext)({isConnected:!1,error:null});function $_(){return(0,C.useContext)(Q_)}function xre({children:e}){let t=X_(),[n,r]=(0,C.useState)(!1),[i,a]=(0,C.useState)(null),o=(0,C.useRef)(null),s=(0,C.useRef)(void 0),c=(0,C.useCallback)(e=>{switch(e.type){case`bridges_update`:t(J_(e.data));break;case`bridge_update`:t(Y_(e.data));break;case`ping`:o.current?.send(JSON.stringify({type:`pong`}));break}},[t]),l=(0,C.useCallback)(()=>{if(o.current?.readyState===WebSocket.OPEN)return;let e=window.location.protocol===`https:`?`wss:`:`ws:`,t=document.querySelector(`base`)?.href||window.location.origin,n=new URL(t),i=`${e}//${n.host}${n.pathname}api/ws`.replace(/\/+/g,`/`).replace(`:/`,`://`);try{let e=new WebSocket(i);o.current=e,e.onopen=()=>{r(!0),a(null)},e.onmessage=e=>{try{c(JSON.parse(e.data))}catch{console.warn(`Invalid WebSocket message`)}},e.onclose=()=>{r(!1),o.current=null,s.current=setTimeout(l,3e3)},e.onerror=()=>{a(Error(`WebSocket connection error`)),e.close()}}catch(e){a(e instanceof Error?e:Error(`Failed to connect`))}},[c]);return(0,C.useEffect)(()=>(l(),()=>{s.current&&clearTimeout(s.current),o.current?.close()}),[l]),(0,G.jsx)(Q_.Provider,{value:{isConnected:n,error:i},children:e})}var Sre=()=>{let e=X_();return(0,C.useEffect)(()=>{e(U_())},[e]),(0,G.jsx)(oi,{})},ev;(function(e){e.Starting=`starting`,e.Running=`running`,e.Stopped=`stopped`,e.Failed=`failed`})(ev||={});var tv;(function(e){e.Pattern=`pattern`,e.Regex=`regex`,e.Domain=`domain`,e.Platform=`platform`,e.Label=`label`,e.EntityLabel=`entity_label`,e.DeviceLabel=`device_label`,e.EntityLabelRegex=`entity_label_regex`,e.DeviceLabelRegex=`device_label_regex`,e.AnyFieldRegex=`any_field_regex`,e.Area=`area`,e.EntityCategory=`entity_category`,e.DeviceName=`device_name`,e.ProductName=`product_name`,e.DeviceClass=`device_class`})(tv||={});var nv=[{id:`all_lights`,name:`All Lights`,description:`Expose all light entities. Ideal for controlling lights via Apple Home, Google Home, or Alexa.`,icon:`light`,filter:{include:[{type:tv.Domain,value:`light`}],exclude:[]},featureFlags:{autoBatteryMapping:!0},tags:[`lights`,`popular`]},{id:`all_switches`,name:`All Switches & Plugs`,description:`Expose all switch entities including smart plugs. Includes power and energy monitoring.`,icon:`switch`,filter:{include:[{type:tv.Domain,value:`switch`}],exclude:[]},featureFlags:{},tags:[`switches`,`plugs`]},{id:`sensors_only`,name:`All Sensors`,description:`Expose temperature, humidity, pressure, and other sensors. Auto-combines related sensors from the same device.`,icon:`sensor`,filter:{include:[{type:tv.Domain,value:`sensor`},{type:tv.Domain,value:`binary_sensor`}],exclude:[]},featureFlags:{autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0},tags:[`sensors`,`temperature`,`humidity`]},{id:`climate_control`,name:`Climate & Covers`,description:`Expose thermostats, fans, covers, and humidifiers for climate control.`,icon:`climate`,filter:{include:[{type:tv.Domain,value:`climate`},{type:tv.Domain,value:`fan`},{type:tv.Domain,value:`cover`},{type:tv.Domain,value:`humidifier`}],exclude:[]},featureFlags:{autoBatteryMapping:!0},tags:[`climate`,`thermostat`,`covers`]},{id:`security`,name:`Security & Locks`,description:`Expose locks, alarm panels, and security-related binary sensors (motion, door, window).`,icon:`lock`,filter:{include:[{type:tv.Domain,value:`lock`},{type:tv.Domain,value:`alarm_control_panel`},{type:tv.DeviceClass,value:`motion`},{type:tv.DeviceClass,value:`door`},{type:tv.DeviceClass,value:`window`}],exclude:[],includeMode:`any`},featureFlags:{autoBatteryMapping:!0},tags:[`security`,`locks`,`alarm`]},{id:`robot_vacuum`,name:`Robot Vacuum (Server Mode)`,description:`Single vacuum bridge with Server Mode enabled. Required for Apple Home Siri commands and proper Alexa discovery. Add only ONE vacuum to this bridge.`,icon:`vacuum`,filter:{include:[{type:tv.Domain,value:`vacuum`}],exclude:[]},featureFlags:{serverMode:!0},tags:[`vacuum`,`server-mode`,`apple-home`]},{id:`media_players`,name:`Media Players & Speakers`,description:`Expose media players, speakers, and TVs for volume and playback control.`,icon:`media_player`,filter:{include:[{type:tv.Domain,value:`media_player`}],exclude:[]},featureFlags:{},tags:[`media`,`speakers`,`tv`]},{id:`google_home_optimized`,name:`Google Home Optimized`,description:`All devices with Auto Force Sync enabled. Prevents Google Home from showing devices as offline after a few hours.`,icon:`default`,filter:{include:[{type:tv.Pattern,value:`*`}],exclude:[]},featureFlags:{autoForceSync:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0},tags:[`google-home`,`all-devices`]},{id:`alexa_covers`,name:`Alexa-Optimized Covers`,description:`Covers with Alexa-friendly percentage display. Displayed percentage matches Home Assistant values.`,icon:`cover`,filter:{include:[{type:tv.Domain,value:`cover`}],exclude:[]},featureFlags:{coverUseHomeAssistantPercentage:!0,autoBatteryMapping:!0},tags:[`alexa`,`covers`]},{id:`automations_scripts`,name:`Automations & Scripts`,description:`Expose Home Assistant automations, scripts, and scenes as Matter switches.`,icon:`remote`,filter:{include:[{type:tv.Domain,value:`automation`},{type:tv.Domain,value:`script`},{type:tv.Domain,value:`scene`}],exclude:[]},featureFlags:{},tags:[`automations`,`scripts`,`scenes`]}],Cre;(function(e){e[e.locked=1]=`locked`,e[e.unlocked=2]=`unlocked`})(Cre||={});var wre;(function(e){e[e.Off=0]=`Off`,e[e.Low=1]=`Low`,e[e.Medium=2]=`Medium`,e[e.High=3]=`High`,e[e.On=4]=`On`,e[e.Auto=5]=`Auto`,e[e.Smart=6]=`Smart`})(wre||={});var Tre;(function(e){e[e.Forward=0]=`Forward`,e[e.Reverse=1]=`Reverse`})(Tre||={});var Ere;(function(e){e[e.OffLowMedHigh=0]=`OffLowMedHigh`,e[e.OffLowHigh=1]=`OffLowHigh`,e[e.OffLowMedHighAuto=2]=`OffLowMedHighAuto`,e[e.OffLowHighAuto=3]=`OffLowHighAuto`,e[e.OffHighAuto=4]=`OffHighAuto`,e[e.OffHigh=5]=`OffHigh`})(Ere||={});var Dre;(function(e){e[e.Stopped=0]=`Stopped`,e[e.Running=1]=`Running`,e[e.Paused=2]=`Paused`,e[e.Error=3]=`Error`,e[e.SeekingCharger=64]=`SeekingCharger`,e[e.Charging=65]=`Charging`,e[e.Docked=66]=`Docked`})(Dre||={});var Ore;(function(e){e[e.Off=0]=`Off`,e[e.Auto=1]=`Auto`,e[e.Cool=3]=`Cool`,e[e.Heat=4]=`Heat`,e[e.EmergencyHeat=5]=`EmergencyHeat`,e[e.Precooling=6]=`Precooling`,e[e.FanOnly=7]=`FanOnly`,e[e.Dry=8]=`Dry`,e[e.Sleep=9]=`Sleep`})(Ore||={});var rv;(function(e){e.homeAssistantEntity=`homeAssistantEntity`,e.identify=`identify`,e.groups=`groups`,e.scenesManagement=`scenesManagement`,e.bridgedDeviceBasicInformation=`bridgedDeviceBasicInformation`,e.airQuality=`airQuality`,e.booleanState=`booleanState`,e.booleanStateConfiguration=`booleanStateConfiguration`,e.carbonDioxideConcentrationMeasurement=`carbonDioxideConcentrationMeasurement`,e.carbonMonoxideConcentrationMeasurement=`carbonMonoxideConcentrationMeasurement`,e.colorControl=`colorControl`,e.doorLock=`doorLock`,e.electricalEnergyMeasurement=`electricalEnergyMeasurement`,e.electricalPowerMeasurement=`electricalPowerMeasurement`,e.flowMeasurement=`flowMeasurement`,e.levelControl=`levelControl`,e.fanControl=`fanControl`,e.illuminanceMeasurement=`illuminanceMeasurement`,e.nitrogenDioxideConcentrationMeasurement=`nitrogenDioxideConcentrationMeasurement`,e.occupancySensing=`occupancySensing`,e.onOff=`onOff`,e.ozoneConcentrationMeasurement=`ozoneConcentrationMeasurement`,e.pm1ConcentrationMeasurement=`pm1ConcentrationMeasurement`,e.pm10ConcentrationMeasurement=`pm10ConcentrationMeasurement`,e.pm25ConcentrationMeasurement=`pm25ConcentrationMeasurement`,e.powerSource=`powerSource`,e.powerTopology=`powerTopology`,e.pressureMeasurement=`pressureMeasurement`,e.relativeHumidityMeasurement=`relativeHumidityMeasurement`,e.smokeCoAlarm=`smokeCoAlarm`,e.temperatureMeasurement=`temperatureMeasurement`,e.thermostat=`thermostat`,e.thermostatUserInterfaceConfiguration=`thermostatUserInterfaceConfiguration`,e.totalVolatileOrganicCompoundsConcentrationMeasurement=`totalVolatileOrganicCompoundsConcentrationMeasurement`,e.valveConfigurationAndControl=`valveConfigurationAndControl`,e.windowCovering=`windowCovering`,e.mediaInput=`mediaInput`,e.rvcCleanMode=`rvcCleanMode`,e.rvcRunMode=`rvcRunMode`,e.rvcOperationalState=`rvcOperationalState`,e.serviceArea=`serviceArea`,e.switch=`switch`,e.modeSelect=`modeSelect`})(rv||={});var iv=[{id:`apple_home`,name:`Apple Home`,description:`Optimized for Apple Home and Siri. Enables composed devices for clean sensor grouping. Covers use standard Matter percentage (inverted from HA).`,icon:`default`,featureFlags:{autoComposedDevices:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0}},{id:`google_home`,name:`Google Home`,description:`Optimized for Google Home. Enables Auto Force Sync to prevent devices from going offline. Composed devices enabled for proper sensor grouping.`,icon:`default`,featureFlags:{autoForceSync:!0,autoComposedDevices:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0}},{id:`alexa`,name:`Amazon Alexa`,description:`Optimized for Alexa. Enables Auto Force Sync and Alexa-friendly cover percentages. Battery mapping included for sensor devices.`,icon:`default`,featureFlags:{autoForceSync:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0,coverUseHomeAssistantPercentage:!0}},{id:`multi_controller`,name:`Multi-Controller`,description:`Balanced settings for use with multiple controllers at once (e.g. Apple Home + Alexa). Force Sync enabled. Standard cover behavior.`,icon:`default`,featureFlags:{autoForceSync:!0,autoComposedDevices:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0}}],kre;(function(e){e.Battery=`battery`,e.BatteryCharging=`battery_charging`,e.CarbonMonoxide=`carbon_monoxide`,e.Cold=`cold`,e.Connectivity=`connectivity`,e.Door=`door`,e.GarageDoor=`garage_door`,e.Gas=`gas`,e.Heat=`heat`,e.Light=`light`,e.Lock=`lock`,e.Moisture=`moisture`,e.Motion=`motion`,e.Moving=`moving`,e.Occupancy=`occupancy`,e.Opening=`opening`,e.Plug=`plug`,e.Power=`power`,e.Presence=`presence`,e.Problem=`problem`,e.Rain=`rain`,e.Running=`running`,e.Safety=`safety`,e.Smoke=`smoke`,e.Sound=`sound`,e.Tamper=`tamper`,e.Update=`update`,e.Vibration=`vibration`,e.Window=`window`})(kre||={});var Are;(function(e){e.off=`off`,e.heat=`heat`,e.cool=`cool`,e.heat_cool=`heat_cool`,e.auto=`auto`,e.dry=`dry`,e.fan_only=`fan_only`})(Are||={});var jre;(function(e){e.off=`off`,e.preheating=`preheating`,e.heating=`heating`,e.cooling=`cooling`,e.drying=`drying`,e.fan=`fan`,e.idle=`idle`,e.defrosting=`defrosting`})(jre||={});var Mre;(function(e){e[e.TARGET_TEMPERATURE=1]=`TARGET_TEMPERATURE`,e[e.TARGET_TEMPERATURE_RANGE=2]=`TARGET_TEMPERATURE_RANGE`,e[e.TARGET_HUMIDITY=4]=`TARGET_HUMIDITY`,e[e.FAN_MODE=8]=`FAN_MODE`,e[e.PRESET_MODE=16]=`PRESET_MODE`,e[e.SWING_MODE=32]=`SWING_MODE`,e[e.AUX_HEAT=64]=`AUX_HEAT`,e[e.TURN_OFF=128]=`TURN_OFF`,e[e.TURN_ON=256]=`TURN_ON`,e[e.SWING_HORIZONTAL_MODE=512]=`SWING_HORIZONTAL_MODE`})(Mre||={});var Nre;(function(e){e.closed=`closed`,e.open=`open`,e.closing=`closing`,e.opening=`opening`})(Nre||={});var Pre;(function(e){e.button=`button`,e.doorbell=`doorbell`,e.motion=`motion`})(Pre||={});var Fre;(function(e){e.FORWARD=`forward`,e.REVERSE=`reverse`})(Fre||={});var Ire;(function(e){e[e.SET_SPEED=1]=`SET_SPEED`,e[e.OSCILLATE=2]=`OSCILLATE`,e[e.DIRECTION=4]=`DIRECTION`,e[e.PRESET_MODE=8]=`PRESET_MODE`,e[e.TURN_ON=16]=`TURN_ON`,e[e.TURN_OFF=32]=`TURN_OFF`})(Ire||={});var Lre;(function(e){e.UNKNOWN=`unknown`,e.ONOFF=`onoff`,e.BRIGHTNESS=`brightness`,e.COLOR_TEMP=`color_temp`,e.HS=`hs`,e.XY=`xy`,e.RGB=`rgb`,e.RGBW=`rgbw`,e.RGBWW=`rgbww`,e.WHITE=`white`})(Lre||={});var Rre;(function(e){e.Tv=`tv`,e.Speaker=`speaker`,e.Receiver=`receiver`})(Rre||={});var zre;(function(e){e[e.PAUSE=1]=`PAUSE`,e[e.SEEK=2]=`SEEK`,e[e.VOLUME_SET=4]=`VOLUME_SET`,e[e.VOLUME_MUTE=8]=`VOLUME_MUTE`,e[e.PREVIOUS_TRACK=16]=`PREVIOUS_TRACK`,e[e.NEXT_TRACK=32]=`NEXT_TRACK`,e[e.TURN_ON=128]=`TURN_ON`,e[e.TURN_OFF=256]=`TURN_OFF`,e[e.PLAY_MEDIA=512]=`PLAY_MEDIA`,e[e.VOLUME_STEP=1024]=`VOLUME_STEP`,e[e.SELECT_SOURCE=2048]=`SELECT_SOURCE`,e[e.STOP=4096]=`STOP`,e[e.CLEAR_PLAYLIST=8192]=`CLEAR_PLAYLIST`,e[e.PLAY=16384]=`PLAY`,e[e.SHUFFLE_SET=32768]=`SHUFFLE_SET`,e[e.SELECT_SOUND_MODE=65536]=`SELECT_SOUND_MODE`,e[e.BROWSE_MEDIA=131072]=`BROWSE_MEDIA`,e[e.REPEAT_SET=262144]=`REPEAT_SET`,e[e.GROUPING=524288]=`GROUPING`,e[e.MEDIA_ANNOUNCE=1048576]=`MEDIA_ANNOUNCE`,e[e.MEDIA_ENQUEUE=2097152]=`MEDIA_ENQUEUE`})(zre||={});var Bre;(function(e){e.None=`None`,e.apparent_power=`apparent_power`,e.aqi=`aqi`,e.atmospheric_pressure=`atmospheric_pressure`,e.battery=`battery`,e.carbon_dioxide=`carbon_dioxide`,e.carbon_monoxide=`carbon_monoxide`,e.current=`current`,e.data_rate=`data_rate`,e.data_size=`data_size`,e.date=`date`,e.distance=`distance`,e.duration=`duration`,e.energy=`energy`,e.energy_storage=`energy_storage`,e.enum=`enum`,e.frequency=`frequency`,e.gas=`gas`,e.humidity=`humidity`,e.illuminance=`illuminance`,e.irradiance=`irradiance`,e.moisture=`moisture`,e.monetary=`monetary`,e.nitrogen_dioxide=`nitrogen_dioxide`,e.nitrogen_monoxide=`nitrogen_monoxide`,e.nitrous_oxide=`nitrous_oxide`,e.ozone=`ozone`,e.ph=`ph`,e.pm1=`pm1`,e.pm25=`pm25`,e.pm10=`pm10`,e.power_factor=`power_factor`,e.power=`power`,e.precipitation=`precipitation`,e.precipitation_intensity=`precipitation_intensity`,e.pressure=`pressure`,e.radon=`radon`,e.reactive_power=`reactive_power`,e.signal_strength=`signal_strength`,e.sound_pressure=`sound_pressure`,e.speed=`speed`,e.sulphur_dioxide=`sulphur_dioxide`,e.temperature=`temperature`,e.timestamp=`timestamp`,e.volatile_organic_compounds=`volatile_organic_compounds`,e.volatile_organic_compounds_parts=`volatile_organic_compounds_parts`,e.voltage=`voltage`,e.volume=`volume`,e.volume_flow_rate=`volume_flow_rate`,e.volume_storage=`volume_storage`,e.water=`water`,e.weight=`weight`,e.wind_speed=`wind_speed`})(Bre||={});var Vre;(function(e){e.cleaning=`cleaning`,e.docked=`docked`,e.returning=`returning`,e.error=`error`,e.idle=`idle`,e.paused=`paused`,e.segment_cleaning=`segment_cleaning`,e.zone_cleaning=`zone_cleaning`,e.spot_cleaning=`spot_cleaning`,e.mop_cleaning=`mop_cleaning`})(Vre||={});var Hre;(function(e){e[e.TURN_ON=1]=`TURN_ON`,e[e.TURN_OFF=2]=`TURN_OFF`,e[e.PAUSE=4]=`PAUSE`,e[e.STOP=8]=`STOP`,e[e.RETURN_HOME=16]=`RETURN_HOME`,e[e.FAN_SPEED=32]=`FAN_SPEED`,e[e.BATTERY=64]=`BATTERY`,e[e.STATUS=128]=`STATUS`,e[e.SEND_COMMAND=256]=`SEND_COMMAND`,e[e.LOCATE=512]=`LOCATE`,e[e.CLEAN_SPOT=1024]=`CLEAN_SPOT`,e[e.MAP=2048]=`MAP`,e[e.STATE=4096]=`STATE`,e[e.START=8192]=`START`,e[e.CLEAN_AREA=16384]=`CLEAN_AREA`})(Hre||={});var Ure;(function(e){e.off=`off`,e.low=`low`,e.medium=`medium`,e.high=`high`,e.turbo=`turbo`,e.auto=`auto`,e.max=`max`})(Ure||={});var Wre;(function(e){e.off=`off`,e.eco=`eco`,e.electric=`electric`,e.gas=`gas`,e.heat_pump=`heat_pump`,e.high_demand=`high_demand`,e.performance=`performance`})(Wre||={});var Gre;(function(e){e[e.TARGET_TEMPERATURE=1]=`TARGET_TEMPERATURE`,e[e.OPERATION_MODE=2]=`OPERATION_MODE`,e[e.AWAY_MODE=4]=`AWAY_MODE`,e[e.ON_OFF=8]=`ON_OFF`})(Gre||={});var av={air_purifier:`Air Purifier`,air_quality_sensor:`Air Quality Sensor`,basic_video_player:`Basic Video Player (TV)`,battery_storage:`Battery Sensor`,carbon_monoxide_sensor:`Carbon Monoxide (CO) Sensor`,color_temperature_light:`Color Temperature Light`,contact_sensor:`Contact Sensor`,dishwasher:`Dishwasher`,dimmable_light:`Dimmable Light`,dimmable_plugin_unit:`Dimmable Plug-in Unit`,door_lock:`Door Lock`,electrical_sensor:`Electrical Sensor (Power/Energy/Voltage/Current)`,extended_color_light:`Extended Color Light`,fan:`Fan`,flow_sensor:`Flow Sensor`,formaldehyde_sensor:`Formaldehyde (HCHO) Sensor`,generic_switch:`Generic Switch (Button)`,humidifier_dehumidifier:`Humidifier/Dehumidifier`,humidity_sensor:`Humidity Sensor`,light_sensor:`Light Sensor`,mode_select:`Mode Select`,motion_sensor:`Motion Sensor (PIR)`,nitrogen_dioxide_sensor:`Nitrogen Dioxide (NO₂) Sensor`,occupancy_sensor:`Occupancy Sensor`,on_off_light:`On/Off Light`,on_off_plugin_unit:`On/Off Plug-in Unit`,on_off_switch:`On/Off Switch`,ozone_sensor:`Ozone (O₃) Sensor`,pm1_sensor:`PM1 Sensor`,pressure_sensor:`Pressure Sensor`,pump:`Pump`,rain_sensor:`Rain Sensor`,radon_sensor:`Radon Sensor`,robot_vacuum_cleaner:`Robot Vacuum Cleaner`,smoke_co_alarm:`Smoke/CO Alarm`,speaker:`Speaker`,temperature_sensor:`Temperature Sensor`,thermostat:`Thermostat`,tvoc_sensor:`TVOC / VOC Index Sensor`,water_heater:`Water Heater`,water_freeze_detector:`Water Freeze Detector`,water_leak_detector:`Water Leak Detector`,water_valve:`Water Valve`,window_covering:`Window Covering`},ov={Auto:0,Quick:1,Quiet:2,LowNoise:3,LowEnergy:4,Vacation:5,Min:6,Max:7,Night:8,Day:9,DeepClean:16384,Vacuum:16385,Mop:16386,VacuumThenMop:16387},Kre={alarm_control_panel:[`mode_select`,`on_off_plugin_unit`],automation:[`on_off_switch`],binary_sensor:[`contact_sensor`,`motion_sensor`,`occupancy_sensor`,`rain_sensor`,`smoke_co_alarm`,`water_freeze_detector`,`water_leak_detector`],button:[`generic_switch`],climate:[`thermostat`],cover:[`window_covering`],event:[`generic_switch`],fan:[`air_purifier`,`fan`],humidifier:[`humidifier_dehumidifier`],input_boolean:[`on_off_plugin_unit`,`on_off_switch`],input_select:[`mode_select`],input_button:[`generic_switch`],light:[`color_temperature_light`,`dimmable_light`,`extended_color_light`,`on_off_light`],lock:[`door_lock`],media_player:[`basic_video_player`,`on_off_switch`,`speaker`],scene:[`on_off_switch`],script:[`on_off_switch`],sensor:[`air_quality_sensor`,`battery_storage`,`carbon_monoxide_sensor`,`electrical_sensor`,`formaldehyde_sensor`,`humidity_sensor`,`light_sensor`,`nitrogen_dioxide_sensor`,`ozone_sensor`,`pm1_sensor`,`pressure_sensor`,`radon_sensor`,`temperature_sensor`,`tvoc_sensor`],select:[`mode_select`],siren:[`on_off_plugin_unit`],switch:[`dishwasher`,`on_off_plugin_unit`,`on_off_switch`,`pump`,`water_valve`],vacuum:[`robot_vacuum_cleaner`],valve:[`water_valve`,`on_off_plugin_unit`],water_heater:[`water_heater`,`thermostat`]},qre;(function(e){e.alarm_control_panel=`alarm_control_panel`,e.automation=`automation`,e.button=`button`,e.binary_sensor=`binary_sensor`,e.climate=`climate`,e.cover=`cover`,e.event=`event`,e.fan=`fan`,e.humidifier=`humidifier`,e.input_boolean=`input_boolean`,e.input_button=`input_button`,e.input_select=`input_select`,e.light=`light`,e.lock=`lock`,e.media_player=`media_player`,e.remote=`remote`,e.scene=`scene`,e.select=`select`,e.script=`script`,e.sensor=`sensor`,e.siren=`siren`,e.switch=`switch`,e.vacuum=`vacuum`,e.valve=`valve`,e.water_heater=`water_heater`})(qre||={});var sv={type:`object`,default:{type:``,value:``},properties:{type:{title:`Type`,type:`string`,oneOf:[{const:`pattern`,title:`pattern`,description:`Wildcard pattern matching entity IDs. Use * as wildcard. Example: 'light.living_room_*' matches all lights in the living room.`},{const:`regex`,title:`regex`,description:`Regex tested against the entity_id only (e.g. 'light.kitchen_lamp'). For labels use entity_label_regex or device_label_regex. Example: '^(light|switch)\\.kitchen_.*'.`},{const:`domain`,title:`domain`,description:`Match entities by their domain (the part before the dot). Example: 'light', 'switch', 'sensor'.`},{const:`platform`,title:`platform`,description:`Match entities by their integration/platform. Example: 'hue', 'zwave', 'mqtt'.`},{const:`label`,title:`label (deprecated)`,description:`Deprecated: use entity_label or device_label instead. Behaves like entity_label.`},{const:`entity_label`,title:`entity_label`,description:`Matches only entities that have this label assigned directly. Other entities of the same device are NOT included.`},{const:`device_label`,title:`device_label`,description:`Matches ALL entities of a device if the device has this label. Use this to include a complete device with all its entities.`},{const:`entity_label_regex`,title:`entity_label_regex`,description:`Regex tested against entity-label slugs and display names. Matches if any label assigned to the entity matches. Example: '^(matter|voice).*'.`},{const:`device_label_regex`,title:`device_label_regex`,description:`Regex tested against device-label slugs and display names. Matches ALL entities of a device whose label matches. Example: '^(matter|voice).*'.`},{const:`any_field_regex`,title:`any_field_regex`,description:`Regex tested against a single-line key=value haystack covering entity_id, domain, platform, area, entity_category, device_class, entity_labels, entity_label_names, device_labels, device_label_names, device_name, product_name. Use lookaheads for AND, alternation for OR. Example: '(?=.*domain=light)(?=.*area=living_room)|(?=.*domain=switch)(?=.*entity_labels=.*\\bvoice\\b)'.`},{const:`area`,title:`area`,description:`Match entities by their area slug. Example: 'living_room', 'bedroom'.`},{const:`entity_category`,title:`entity_category`,description:`Match entities by their category. Example: 'config', 'diagnostic' to exclude configuration entities.`},{const:`device_name`,title:`device_name`,description:`Match entities by their device name. Supports wildcards. Example: '*Philips*' matches all Philips devices.`},{const:`product_name`,title:`product_name`,description:`Match entities by their product/model name. Supports wildcards. Example: 'Hue*Bulb'.`},{const:`device_class`,title:`device_class`,description:`Match entities by their device class attribute. Example: 'temperature', 'motion', 'door', 'window'.`}]},value:{title:`Value`,description:`For labels, use the display name or the label_id (slug). You can look up both on the Labels page in the sidebar.`,type:`string`,minLength:1}},required:[`type`,`value`],additionalProperties:!1},cv={type:`object`,title:`Bridge Config`,properties:{name:{title:`Name`,type:`string`,minLength:1,maxLength:32},port:{title:`Port`,type:`number`,minimum:1},icon:{title:`Icon`,type:`string`,description:`Icon to display for this bridge in the UI`,enum:[`light`,`switch`,`climate`,`cover`,`fan`,`lock`,`sensor`,`media_player`,`vacuum`,`remote`,`humidifier`,`speaker`,`garage`,`door`,`window`,`motion`,`battery`,`power`,`camera`,`default`]},countryCode:{title:`Country Code`,type:`string`,description:`An ISO 3166-1 alpha-2 code to represent the country in which the Node is located. Only needed if the commissioning fails due to missing country code.`,minLength:2,maxLength:3},priority:{title:`Startup Priority`,type:`number`,description:`Startup order priority. Lower values start first. Default is 100.`,default:100,minimum:1,maximum:999},serialNumberSuffix:{title:`Serial Number Suffix`,type:`string`,description:`Append a suffix to every entity serial number on this bridge. Useful for forcing controllers like Aqara to treat devices as new and bypass cached device data. Leave empty for default behavior.`,maxLength:16},filter:{title:`Include or exclude entities`,type:`object`,properties:{include:{title:`Include`,type:`array`,items:sv},exclude:{title:`Exclude`,type:`array`,items:sv},includeMode:{title:`Include Mode`,type:`string`,description:`How to combine include rules: 'any' matches if ANY rule matches (OR), 'all' matches only if ALL rules match (AND). Default: 'any'`,enum:[`any`,`all`],default:`any`}},required:[`include`,`exclude`],additionalProperties:!1},featureFlags:{title:`Feature Flags`,type:`object`,properties:{coverDoNotInvertPercentage:{title:`Do not invert Percentages for Covers`,description:`Do not invert the percentage of covers to match Home Assistant (not Matter compliant)`,type:`boolean`,default:!1},coverUseHomeAssistantPercentage:{title:`Use Home Assistant Percentage for Covers (Alexa-friendly)`,description:`Display cover percentages matching Home Assistant values in Matter controllers like Alexa. This makes the displayed percentage match what you see in Home Assistant, but the semantic meaning differs: in HA, higher percentage = more open; in Alexa, higher percentage is typically interpreted as more closed. Open/Close commands will still work correctly.`,type:`boolean`,default:!1},coverSwapOpenClose:{title:`Swap Open/Close for Covers`,description:`Swap open/close commands and invert position reporting for covers. Enable this if Alexa voice commands are reversed (saying 'close' opens the blinds and vice versa).`,type:`boolean`,default:!1},includeHiddenEntities:{title:`Include Hidden Entities`,description:`Include entities that are marked as hidden in Home Assistant`,type:`boolean`,default:!1},serverMode:{title:`Server Mode (for Robot Vacuums)`,description:`Expose the device as a standalone Matter device instead of a bridged device. This is required for Apple Home to properly support Siri voice commands for Robot Vacuums. IMPORTANT: Only ONE device should be in this bridge when server mode is enabled.`,type:`boolean`,default:!1},autoBatteryMapping:{title:`Auto Battery Mapping`,description:`Automatically assign battery sensors from the same Home Assistant device to the main entity. When enabled, battery sensors will be merged into their parent devices instead of appearing as separate devices.`,type:`boolean`,default:!1},autoHumidityMapping:{title:`Auto Humidity Mapping`,description:`Automatically combine humidity sensors with temperature sensors from the same Home Assistant device. When enabled, humidity sensors will be merged into temperature sensors to create combined TemperatureHumiditySensor devices.`,type:`boolean`,default:!0},autoPressureMapping:{title:`Auto Pressure Mapping`,description:`Automatically combine pressure sensors with temperature sensors from the same Home Assistant device. When enabled, pressure sensors will be merged into temperature sensors to create combined sensor devices.`,type:`boolean`,default:!0},autoComposedDevices:{title:`Auto Composed Devices`,description:`Master toggle: combine related entities from the same Home Assistant device into a single Matter endpoint. Turns on battery, humidity, pressure, power, and energy auto-mapping at once, a Shelly Plug shows up as one device with power monitoring instead of several siblings.`,type:`boolean`,default:!1},autoForceSync:{title:`Auto Force Sync`,description:`Periodically compare and push all device states to connected controllers every 90 seconds. Enable this if devices get out of sync after extended periods. Health checks for dead sessions always run regardless of this setting.`,type:`boolean`,default:!1},productNameFromNodeLabel:{title:`Product Name from Node Label`,description:`Report the entity's node label (custom name / friendly name / entity id) as the Matter productName. Useful for controllers like Aqara that display productName as the device name instead of nodeLabel. A per-entity customProductName still takes precedence.`,type:`boolean`,default:!1},preferEntityRegistryName:{title:`Prefer Entity Registry Name (HA 2026.4 workaround)`,description:`Use the entity registry name (or original_name) as nodeLabel instead of the composed friendly_name. Since Home Assistant 2026.4, friendly_name is prefixed with the device name, which breaks voice commands that relied on the short entity name. Resolution order: customName → registry name → registry original_name → friendly_name → entity_id. Matter has no alias concept, this only changes which single name is reported.`,type:`boolean`,default:!1},vacuumOnOff:{title:`Vacuum: Include OnOff Cluster (Alexa)`,description:`Add an OnOff cluster to robot vacuum endpoints. Alexa REQUIRES this (PowerController) to show robotic vacuums in the app. Without it, Alexa commissions the device but never displays it. In Server Mode this is enabled automatically, only check this for bridge mode. WARNING: OnOff is NOT part of the Matter RVC device type specification. Enabling this may break Apple Home (shows 'Updating') and Google Home.`,type:`boolean`},alexaPreserveBrightnessOnTurnOn:{title:`Alexa: Preserve Brightness on Turn-On`,description:`Workaround for Alexa resetting light brightness to 100% after subscription renewal. When enabled, the bridge ignores brightness commands that set lights to 100% within 200ms of a turn-on command for the same light. WARNING: breaks Apple Home's 'set room to 100%' Siri commands, which use the same on() + moveToLevel(254) pattern. Only enable on Alexa-only bridges.`,type:`boolean`,default:!1},useHaRegistrySerial:{title:`Use HA Registry Serial Number`,description:`Fall back to the Home Assistant device registry serial_number when no per-entity customSerialNumber is configured. Default off because changing serialNumber after commissioning can confuse controllers. A per-entity customSerialNumber still takes precedence.`,type:`boolean`,default:!1},coverSliderDebounceMs:{title:`Cover Slider Debounce (ms)`,description:`Override the cover position-update debounce window for this bridge. Some controllers (Apple Home) stream slider updates while the user is still dragging, causing covers to start moving toward an intermediate target. Set to the time the bridge should wait after the last update before sending the final value to Home Assistant. 0 keeps the built-in two-phase debounce (400 ms initial / 150 ms subsequent), which fits most controllers. Try 800–1500 ms for slow blinds. A per-entity override on a single cover wins over this flag.`,type:`number`,minimum:0,maximum:5e3,default:0}}}},required:[`name`,`port`,`filter`],additionalProperties:!1};({...cv}),{...cv.properties},[...cv?.required??[]];var lv=X((0,G.jsx)(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z`}),`ArrowBack`),uv=X((0,G.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z`}),`CheckCircle`),dv=X((0,G.jsx)(`path`,{d:`M9.19 6.35c-2.04 2.29-3.44 5.58-3.57 5.89L2 10.69l4.05-4.05c.47-.47 1.15-.68 1.81-.55zM11.17 17s3.74-1.55 5.89-3.7c5.4-5.4 4.5-9.62 4.21-10.57-.95-.3-5.17-1.19-10.57 4.21C8.55 9.09 7 12.83 7 12.83zm6.48-2.19c-2.29 2.04-5.58 3.44-5.89 3.57L13.31 22l4.05-4.05c.47-.47.68-1.15.55-1.81zM9 18c0 .83-.34 1.58-.88 2.12C6.94 21.3 2 22 2 22s.7-4.94 1.88-6.12C4.42 15.34 5.17 15 6 15c1.66 0 3 1.34 3 3m4-9c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2`}),`RocketLaunch`),Jre=Ld(`MuiBox`,[`root`]),Z=Pd({themeId:wm,defaultTheme:Sm(),defaultClassName:Jre.root,generateClassName:Md.generate});function Yre(e){return Id(`MuiButton`,e)}var fv=Ld(`MuiButton`,`root.text.textInherit.textPrimary.textSecondary.textSuccess.textError.textInfo.textWarning.outlined.outlinedInherit.outlinedPrimary.outlinedSecondary.outlinedSuccess.outlinedError.outlinedInfo.outlinedWarning.contained.containedInherit.containedPrimary.containedSecondary.containedSuccess.containedError.containedInfo.containedWarning.disableElevation.focusVisible.disabled.colorInherit.colorPrimary.colorSecondary.colorSuccess.colorError.colorInfo.colorWarning.textSizeSmall.textSizeMedium.textSizeLarge.outlinedSizeSmall.outlinedSizeMedium.outlinedSizeLarge.containedSizeSmall.containedSizeMedium.containedSizeLarge.sizeMedium.sizeSmall.sizeLarge.fullWidth.startIcon.endIcon.icon.iconSizeSmall.iconSizeMedium.iconSizeLarge.loading.loadingWrapper.loadingIconPlaceholder.loadingIndicator.loadingPositionCenter.loadingPositionStart.loadingPositionEnd`.split(`.`)),Xre=C.createContext({}),Zre=C.createContext(void 0),Qre=e=>{let{color:t,disableElevation:n,fullWidth:r,size:i,variant:a,loading:o,loadingPosition:s,classes:c}=e,l=dp({root:[`root`,o&&`loading`,a,`${a}${Y(t)}`,`size${Y(i)}`,`${a}Size${Y(i)}`,`color${Y(t)}`,n&&`disableElevation`,r&&`fullWidth`,o&&`loadingPosition${Y(s)}`],startIcon:[`icon`,`startIcon`,`iconSize${Y(i)}`],endIcon:[`icon`,`endIcon`,`iconSize${Y(i)}`],loadingIndicator:[`loadingIndicator`],loadingWrapper:[`loadingWrapper`]},Yre,c);return{...c,...l}},pv=[{props:{size:`small`},style:{"& > *:nth-of-type(1)":{fontSize:18}}},{props:{size:`medium`},style:{"& > *:nth-of-type(1)":{fontSize:20}}},{props:{size:`large`},style:{"& > *:nth-of-type(1)":{fontSize:22}}}],$re=J(Fh,{shouldForwardProp:e=>Om(e)||e===`classes`,name:`MuiButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${Y(n.color)}`],t[`size${Y(n.size)}`],t[`${n.variant}Size${Y(n.size)}`],n.color===`inherit`&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth,n.loading&&t.loading]}})(Im(({theme:e})=>{let t=e.palette.mode===`light`?e.palette.grey[300]:e.palette.grey[800],n=e.palette.mode===`light`?e.palette.grey.A100:e.palette.grey[700];return{...e.typography.button,minWidth:64,padding:`6px 16px`,border:0,borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`,`color`],{duration:e.transitions.duration.short}),"&:hover":{textDecoration:`none`},[`&.${fv.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{variant:`contained`},style:{color:`var(--variant-containedColor)`,backgroundColor:`var(--variant-containedBg)`,boxShadow:(e.vars||e).shadows[2],"&:hover":{boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2]}},"&:active":{boxShadow:(e.vars||e).shadows[8]},[`&.${fv.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},[`&.${fv.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}},{props:{variant:`outlined`},style:{padding:`5px 15px`,border:`1px solid currentColor`,borderColor:`var(--variant-outlinedBorder, currentColor)`,backgroundColor:`var(--variant-outlinedBg)`,color:`var(--variant-outlinedColor)`,[`&.${fv.disabled}`]:{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`}}},{props:{variant:`text`},style:{padding:`6px 8px`,color:`var(--variant-textColor)`,backgroundColor:`var(--variant-textBg)`}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{"--variant-textColor":(e.vars||e).palette[t].main,"--variant-outlinedColor":(e.vars||e).palette[t].main,"--variant-outlinedBorder":e.alpha((e.vars||e).palette[t].main,.5),"--variant-containedColor":(e.vars||e).palette[t].contrastText,"--variant-containedBg":(e.vars||e).palette[t].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(e.vars||e).palette[t].dark,"--variant-textBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"--variant-outlinedBorder":(e.vars||e).palette[t].main,"--variant-outlinedBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}}})),{props:{color:`inherit`},style:{color:`inherit`,borderColor:`currentColor`,"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedBg:t,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedHoverBg:n,"--variant-textBg":e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity),"--variant-outlinedBg":e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity)}}}},{props:{size:`small`,variant:`text`},style:{padding:`4px 5px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`text`},style:{padding:`8px 11px`,fontSize:e.typography.pxToRem(15)}},{props:{size:`small`,variant:`outlined`},style:{padding:`3px 9px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`outlined`},style:{padding:`7px 21px`,fontSize:e.typography.pxToRem(15)}},{props:{size:`small`,variant:`contained`},style:{padding:`4px 10px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`contained`},style:{padding:`8px 22px`,fontSize:e.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:`none`,"&:hover":{boxShadow:`none`},[`&.${fv.focusVisible}`]:{boxShadow:`none`},"&:active":{boxShadow:`none`},[`&.${fv.disabled}`]:{boxShadow:`none`}}},{props:{fullWidth:!0},style:{width:`100%`}},{props:{loadingPosition:`center`},style:{transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`],{duration:e.transitions.duration.short}),[`&.${fv.loading}`]:{color:`transparent`}}}]}})),eie=J(`span`,{name:`MuiButton`,slot:`StartIcon`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.startIcon,n.loading&&t.startIconLoadingStart,t[`iconSize${Y(n.size)}`]]}})(({theme:e})=>({display:`inherit`,marginRight:8,marginLeft:-4,variants:[{props:{size:`small`},style:{marginLeft:-2}},{props:{loadingPosition:`start`,loading:!0},style:{transition:e.transitions.create([`opacity`],{duration:e.transitions.duration.short}),opacity:0}},{props:{loadingPosition:`start`,loading:!0,fullWidth:!0},style:{marginRight:-8}},...pv]})),tie=J(`span`,{name:`MuiButton`,slot:`EndIcon`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.endIcon,n.loading&&t.endIconLoadingEnd,t[`iconSize${Y(n.size)}`]]}})(({theme:e})=>({display:`inherit`,marginRight:-4,marginLeft:8,variants:[{props:{size:`small`},style:{marginRight:-2}},{props:{loadingPosition:`end`,loading:!0},style:{transition:e.transitions.create([`opacity`],{duration:e.transitions.duration.short}),opacity:0}},{props:{loadingPosition:`end`,loading:!0,fullWidth:!0},style:{marginLeft:-8}},...pv]})),nie=J(`span`,{name:`MuiButton`,slot:`LoadingIndicator`})(({theme:e})=>({display:`none`,position:`absolute`,visibility:`visible`,variants:[{props:{loading:!0},style:{display:`flex`}},{props:{loadingPosition:`start`},style:{left:14}},{props:{loadingPosition:`start`,size:`small`},style:{left:10}},{props:{variant:`text`,loadingPosition:`start`},style:{left:6}},{props:{loadingPosition:`center`},style:{left:`50%`,transform:`translate(-50%)`,color:(e.vars||e).palette.action.disabled}},{props:{loadingPosition:`end`},style:{right:14}},{props:{loadingPosition:`end`,size:`small`},style:{right:10}},{props:{variant:`text`,loadingPosition:`end`},style:{right:6}},{props:{loadingPosition:`start`,fullWidth:!0},style:{position:`relative`,left:-10}},{props:{loadingPosition:`end`,fullWidth:!0},style:{position:`relative`,right:-10}}]})),mv=J(`span`,{name:`MuiButton`,slot:`LoadingIconPlaceholder`})({display:`inline-block`,width:`1em`,height:`1em`}),hv=C.forwardRef(function(e,t){let n=C.useContext(Xre),r=C.useContext(Zre),i=Am({props:Zd(n,e),name:`MuiButton`}),{children:a,color:o=`primary`,component:s=`button`,className:c,disabled:l=!1,disableElevation:u=!1,disableFocusRipple:d=!1,endIcon:f,focusVisibleClassName:p,fullWidth:m=!1,id:h,loading:g=null,loadingIndicator:_,loadingPosition:v=`center`,size:y=`medium`,startIcon:b,type:x,variant:S=`text`,...w}=i,T=ah(h),E=_??(0,G.jsx)(Bh,{"aria-labelledby":T,color:`inherit`,size:16}),D={...i,color:o,component:s,disabled:l,disableElevation:u,disableFocusRipple:d,fullWidth:m,loading:g,loadingIndicator:E,loadingPosition:v,size:y,type:x,variant:S},O=Qre(D),k=(b||g&&v===`start`)&&(0,G.jsx)(eie,{className:O.startIcon,ownerState:D,children:b||(0,G.jsx)(mv,{className:O.loadingIconPlaceholder,ownerState:D})}),A=(f||g&&v===`end`)&&(0,G.jsx)(tie,{className:O.endIcon,ownerState:D,children:f||(0,G.jsx)(mv,{className:O.loadingIconPlaceholder,ownerState:D})}),j=r||``,M=typeof g==`boolean`?(0,G.jsx)(`span`,{className:O.loadingWrapper,style:{display:`contents`},children:g&&(0,G.jsx)(nie,{className:O.loadingIndicator,ownerState:D,children:E})}):null;return(0,G.jsxs)($re,{ownerState:D,className:K(n.className,O.root,c,j),component:s,disabled:l||g,focusRipple:!d,focusVisibleClassName:K(O.focusVisible,p),ref:t,type:x,id:g?T:h,...w,classes:O,children:[k,v!==`end`&&M,a,v===`end`&&M,A]})});function rie(e){return Id(`MuiCard`,e)}Ld(`MuiCard`,[`root`]);var iie=e=>{let{classes:t}=e;return dp({root:[`root`]},rie,t)},aie=J(Km,{name:`MuiCard`,slot:`Root`})({overflow:`hidden`}),gv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCard`}),{className:r,raised:i=!1,...a}=n,o={...n,raised:i};return(0,G.jsx)(aie,{className:K(iie(o).root,r),elevation:i?8:void 0,ref:t,ownerState:o,...a})});function oie(e){return Id(`MuiCardActionArea`,e)}var _v=Ld(`MuiCardActionArea`,[`root`,`focusVisible`,`focusHighlight`]),sie=e=>{let{classes:t}=e;return dp({root:[`root`],focusHighlight:[`focusHighlight`]},oie,t)},cie=J(Fh,{name:`MuiCardActionArea`,slot:`Root`})(Im(({theme:e})=>({display:`block`,textAlign:`inherit`,borderRadius:`inherit`,width:`100%`,[`&:hover .${_v.focusHighlight}`]:{opacity:(e.vars||e).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${_v.focusVisible} .${_v.focusHighlight}`]:{opacity:(e.vars||e).palette.action.focusOpacity}}))),lie=J(`span`,{name:`MuiCardActionArea`,slot:`FocusHighlight`})(Im(({theme:e})=>({overflow:`hidden`,pointerEvents:`none`,position:`absolute`,top:0,right:0,bottom:0,left:0,borderRadius:`inherit`,opacity:0,backgroundColor:`currentcolor`,transition:e.transitions.create(`opacity`,{duration:e.transitions.duration.short})}))),vv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCardActionArea`}),{children:r,className:i,focusVisibleClassName:a,slots:o={},slotProps:s={},...c}=n,l=n,u=sie(l),d={slots:o,slotProps:s},[f,p]=Wm(`root`,{elementType:cie,externalForwardedProps:{...d,...c},shouldForwardComponentProp:!0,ownerState:l,ref:t,className:K(u.root,i),additionalProps:{focusVisibleClassName:K(a,u.focusVisible)}}),[m,h]=Wm(`focusHighlight`,{elementType:lie,externalForwardedProps:d,ownerState:l,className:u.focusHighlight});return(0,G.jsxs)(f,{...p,children:[r,(0,G.jsx)(m,{...h})]})});function uie(e){return Id(`MuiCardContent`,e)}Ld(`MuiCardContent`,[`root`]);var die=e=>{let{classes:t}=e;return dp({root:[`root`]},uie,t)},fie=J(`div`,{name:`MuiCardContent`,slot:`Root`})({padding:16,"&:last-child":{paddingBottom:24}}),yv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCardContent`}),{className:r,component:i=`div`,...a}=n,o={...n,component:i};return(0,G.jsx)(fie,{as:i,className:K(die(o).root,r),ownerState:o,ref:t,...a})}),bv=C.createContext(void 0);function xv(){return C.useContext(bv)}function pie(e){return Id(`PrivateSwitchBase`,e)}Ld(`PrivateSwitchBase`,[`root`,`checked`,`disabled`,`input`,`edgeStart`,`edgeEnd`]);var mie=e=>{let{classes:t,checked:n,disabled:r,edge:i}=e;return dp({root:[`root`,n&&`checked`,r&&`disabled`,i&&`edge${Y(i)}`],input:[`input`]},pie,t)},hie=J(Fh,{name:`MuiSwitchBase`})({padding:9,borderRadius:`50%`,variants:[{props:{edge:`start`,size:`small`},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e===`start`&&t.size!==`small`,style:{marginLeft:-12}},{props:{edge:`end`,size:`small`},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e===`end`&&t.size!==`small`,style:{marginRight:-12}}]}),gie=J(`input`,{name:`MuiSwitchBase`,shouldForwardProp:Om})({cursor:`inherit`,position:`absolute`,opacity:0,width:`100%`,height:`100%`,top:0,left:0,margin:0,padding:0,zIndex:1}),Sv=C.forwardRef(function(e,t){let{autoFocus:n,checked:r,checkedIcon:i,defaultChecked:a,disabled:o,disableFocusRipple:s=!1,edge:c=!1,icon:l,id:u,inputProps:d,inputRef:f,name:p,onBlur:m,onChange:h,onFocus:g,readOnly:_,required:v=!1,tabIndex:y,type:b,value:x,slots:S={},slotProps:C={},...w}=e,[T,E]=sh({controlled:r,default:!!a,name:`SwitchBase`,state:`checked`}),D=xv(),O=e=>{g&&g(e),D&&D.onFocus&&D.onFocus(e)},k=e=>{m&&m(e),D&&D.onBlur&&D.onBlur(e)},A=e=>{if(e.nativeEvent.defaultPrevented||_)return;let t=e.target.checked;E(t),h&&h(e,t)},j=o;D&&j===void 0&&(j=D.disabled);let M=b===`checkbox`||b===`radio`,N={...e,checked:T,disabled:j,disableFocusRipple:s,edge:c},P=mie(N),F={slots:S,slotProps:{input:d,...C}},[I,L]=Wm(`root`,{ref:t,elementType:hie,className:P.root,shouldForwardComponentProp:!0,externalForwardedProps:{...F,component:`span`,...w},getSlotProps:e=>({...e,onFocus:t=>{e.onFocus?.(t),O(t)},onBlur:t=>{e.onBlur?.(t),k(t)}}),ownerState:N,additionalProps:{centerRipple:!0,focusRipple:!s,role:void 0,tabIndex:null}}),[R,ee]=Wm(`input`,{ref:f,elementType:gie,className:P.input,externalForwardedProps:F,getSlotProps:e=>({...e,onChange:t=>{e.onChange?.(t),A(t)}}),ownerState:N,additionalProps:{autoFocus:n,checked:r,defaultChecked:a,disabled:j,id:M?u:void 0,name:p,readOnly:_,required:v,tabIndex:y,type:b,...b===`checkbox`&&x===void 0?{}:{value:x}}});return(0,G.jsxs)(I,{...L,children:[(0,G.jsx)(R,{...ee}),T?i:l]})}),_ie=X((0,G.jsx)(`path`,{d:`M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z`}),`CheckBoxOutlineBlank`),vie=X((0,G.jsx)(`path`,{d:`M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`}),`CheckBox`),yie=X((0,G.jsx)(`path`,{d:`M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z`}),`IndeterminateCheckBox`);function bie(e){return Id(`MuiCheckbox`,e)}var Cv=Ld(`MuiCheckbox`,[`root`,`checked`,`disabled`,`indeterminate`,`colorPrimary`,`colorSecondary`,`sizeSmall`,`sizeMedium`]),xie=e=>{let{classes:t,indeterminate:n,color:r,size:i}=e,a=dp({root:[`root`,n&&`indeterminate`,`color${Y(r)}`,`size${Y(i)}`]},bie,t);return{...t,...a}},Sie=J(Sv,{shouldForwardProp:e=>Om(e)||e===`classes`,name:`MuiCheckbox`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${Y(n.size)}`],n.color!==`default`&&t[`color${Y(n.color)}`]]}})(Im(({theme:e})=>({color:(e.vars||e).palette.text.secondary,variants:[{props:{color:`default`,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{[`&.${Cv.checked}, &.${Cv.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${Cv.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:`transparent`}}}}]}))),Cie=(0,G.jsx)(vie,{}),wie=(0,G.jsx)(_ie,{}),Tie=(0,G.jsx)(yie,{}),wv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCheckbox`}),{checkedIcon:r=Cie,color:i=`primary`,icon:a=wie,indeterminate:o=!1,indeterminateIcon:s=Tie,inputProps:c,size:l=`medium`,disableRipple:u=!1,className:d,slots:f={},slotProps:p={},...m}=n,h=o?s:a,g=o?s:r,_={...n,disableRipple:u,color:i,indeterminate:o,size:l},v=xie(_),y=p.input??c,[b,x]=Wm(`root`,{ref:t,elementType:Sie,className:K(v.root,d),shouldForwardComponentProp:!0,externalForwardedProps:{slots:f,slotProps:p,...m},ownerState:_,additionalProps:{type:`checkbox`,icon:C.cloneElement(h,{fontSize:h.props.fontSize??l}),checkedIcon:C.cloneElement(g,{fontSize:g.props.fontSize??l}),disableRipple:u,slots:f,slotProps:{input:dh(typeof y==`function`?y(_):y,{"data-indeterminate":o})}}});return(0,G.jsx)(b,{...x,classes:v})}),Eie=X((0,G.jsx)(`path`,{d:`M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z`}),`Cancel`);function Die(e){return Id(`MuiChip`,e)}var Tv=Ld(`MuiChip`,`root.sizeSmall.sizeMedium.colorDefault.colorError.colorInfo.colorPrimary.colorSecondary.colorSuccess.colorWarning.disabled.clickable.clickableColorPrimary.clickableColorSecondary.deletable.deletableColorPrimary.deletableColorSecondary.outlined.filled.outlinedPrimary.outlinedSecondary.filledPrimary.filledSecondary.avatar.avatarSmall.avatarMedium.avatarColorPrimary.avatarColorSecondary.icon.iconSmall.iconMedium.iconColorPrimary.iconColorSecondary.label.labelSmall.labelMedium.deleteIcon.deleteIconSmall.deleteIconMedium.deleteIconColorPrimary.deleteIconColorSecondary.deleteIconOutlinedColorPrimary.deleteIconOutlinedColorSecondary.deleteIconFilledColorPrimary.deleteIconFilledColorSecondary.focusVisible`.split(`.`)),Oie=e=>{let{classes:t,disabled:n,size:r,color:i,iconColor:a,onDelete:o,clickable:s,variant:c}=e;return dp({root:[`root`,c,n&&`disabled`,`size${Y(r)}`,`color${Y(i)}`,s&&`clickable`,s&&`clickableColor${Y(i)}`,o&&`deletable`,o&&`deletableColor${Y(i)}`,`${c}${Y(i)}`],label:[`label`,`label${Y(r)}`],avatar:[`avatar`,`avatar${Y(r)}`,`avatarColor${Y(i)}`],icon:[`icon`,`icon${Y(r)}`,`iconColor${Y(a)}`],deleteIcon:[`deleteIcon`,`deleteIcon${Y(r)}`,`deleteIconColor${Y(i)}`,`deleteIcon${Y(c)}Color${Y(i)}`]},Die,t)},kie=J(`div`,{name:`MuiChip`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e,{color:r,iconColor:i,clickable:a,onDelete:o,size:s,variant:c}=n;return[{[`& .${Tv.avatar}`]:t.avatar},{[`& .${Tv.avatar}`]:t[`avatar${Y(s)}`]},{[`& .${Tv.avatar}`]:t[`avatarColor${Y(r)}`]},{[`& .${Tv.icon}`]:t.icon},{[`& .${Tv.icon}`]:t[`icon${Y(s)}`]},{[`& .${Tv.icon}`]:t[`iconColor${Y(i)}`]},{[`& .${Tv.deleteIcon}`]:t.deleteIcon},{[`& .${Tv.deleteIcon}`]:t[`deleteIcon${Y(s)}`]},{[`& .${Tv.deleteIcon}`]:t[`deleteIconColor${Y(r)}`]},{[`& .${Tv.deleteIcon}`]:t[`deleteIcon${Y(c)}Color${Y(r)}`]},t.root,t[`size${Y(s)}`],t[`color${Y(r)}`],a&&t.clickable,a&&r!==`default`&&t[`clickableColor${Y(r)}`],o&&t.deletable,o&&r!==`default`&&t[`deletableColor${Y(r)}`],t[c],t[`${c}${Y(r)}`]]}})(Im(({theme:e})=>{let t=e.palette.mode===`light`?e.palette.grey[700]:e.palette.grey[300];return{maxWidth:`100%`,fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(13),display:`inline-flex`,alignItems:`center`,justifyContent:`center`,height:32,lineHeight:1.5,color:(e.vars||e).palette.text.primary,backgroundColor:(e.vars||e).palette.action.selected,borderRadius:32/2,whiteSpace:`nowrap`,transition:e.transitions.create([`background-color`,`box-shadow`]),cursor:`unset`,outline:0,textDecoration:`none`,border:0,padding:0,verticalAlign:`middle`,boxSizing:`border-box`,[`&.${Tv.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:`none`},[`& .${Tv.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:e.vars?e.vars.palette.Chip.defaultAvatarColor:t,fontSize:e.typography.pxToRem(12)},[`& .${Tv.avatarColorPrimary}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.dark},[`& .${Tv.avatarColorSecondary}`]:{color:(e.vars||e).palette.secondary.contrastText,backgroundColor:(e.vars||e).palette.secondary.dark},[`& .${Tv.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:e.typography.pxToRem(10)},[`& .${Tv.icon}`]:{marginLeft:5,marginRight:-6},[`& .${Tv.deleteIcon}`]:{WebkitTapHighlightColor:`transparent`,color:e.alpha((e.vars||e).palette.text.primary,.26),fontSize:22,cursor:`pointer`,margin:`0 5px 0 -6px`,"&:hover":{color:e.alpha((e.vars||e).palette.text.primary,.4)}},variants:[{props:{size:`small`},style:{height:24,[`& .${Tv.icon}`]:{fontSize:18,marginLeft:4,marginRight:-4},[`& .${Tv.deleteIcon}`]:{fontSize:16,marginRight:4,marginLeft:-4}}},...Object.entries(e.palette).filter(Gm([`contrastText`])).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main,color:(e.vars||e).palette[t].contrastText,[`& .${Tv.deleteIcon}`]:{color:e.alpha((e.vars||e).palette[t].contrastText,.7),"&:hover, &:active":{color:(e.vars||e).palette[t].contrastText}}}})),{props:e=>e.iconColor===e.color,style:{[`& .${Tv.icon}`]:{color:e.vars?e.vars.palette.Chip.defaultIconColor:t}}},{props:e=>e.iconColor===e.color&&e.color!==`default`,style:{[`& .${Tv.icon}`]:{color:`inherit`}}},{props:{onDelete:!0},style:{[`&.${Tv.focusVisible}`]:{backgroundColor:e.alpha((e.vars||e).palette.action.selected,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.focusOpacity}`)}}},...Object.entries(e.palette).filter(Gm([`dark`])).map(([t])=>({props:{color:t,onDelete:!0},style:{[`&.${Tv.focusVisible}`]:{background:(e.vars||e).palette[t].dark}}})),{props:{clickable:!0},style:{userSelect:`none`,WebkitTapHighlightColor:`transparent`,cursor:`pointer`,"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.selected,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.hoverOpacity}`)},[`&.${Tv.focusVisible}`]:{backgroundColor:e.alpha((e.vars||e).palette.action.selected,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.focusOpacity}`)},"&:active":{boxShadow:(e.vars||e).shadows[1]}}},...Object.entries(e.palette).filter(Gm([`dark`])).map(([t])=>({props:{color:t,clickable:!0},style:{[`&:hover, &.${Tv.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t].dark}}})),{props:{variant:`outlined`},style:{backgroundColor:`transparent`,border:e.vars?`1px solid ${e.vars.palette.Chip.defaultBorder}`:`1px solid ${e.palette.mode===`light`?e.palette.grey[400]:e.palette.grey[700]}`,[`&.${Tv.clickable}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${Tv.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`& .${Tv.avatar}`]:{marginLeft:4},[`& .${Tv.avatarSmall}`]:{marginLeft:2},[`& .${Tv.icon}`]:{marginLeft:4},[`& .${Tv.iconSmall}`]:{marginLeft:2},[`& .${Tv.deleteIcon}`]:{marginRight:5},[`& .${Tv.deleteIconSmall}`]:{marginRight:3}}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{variant:`outlined`,color:t},style:{color:(e.vars||e).palette[t].main,border:`1px solid ${e.alpha((e.vars||e).palette[t].main,.7)}`,[`&.${Tv.clickable}:hover`]:{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)},[`&.${Tv.focusVisible}`]:{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.focusOpacity)},[`& .${Tv.deleteIcon}`]:{color:e.alpha((e.vars||e).palette[t].main,.7),"&:hover, &:active":{color:(e.vars||e).palette[t].main}}}}))]}})),Aie=J(`span`,{name:`MuiChip`,slot:`Label`,overridesResolver:(e,t)=>{let{ownerState:n}=e,{size:r}=n;return[t.label,t[`label${Y(r)}`]]}})({overflow:`hidden`,textOverflow:`ellipsis`,paddingLeft:12,paddingRight:12,whiteSpace:`nowrap`,variants:[{props:{variant:`outlined`},style:{paddingLeft:11,paddingRight:11}},{props:{size:`small`},style:{paddingLeft:8,paddingRight:8}},{props:{size:`small`,variant:`outlined`},style:{paddingLeft:7,paddingRight:7}}]});function Ev(e){return e.key===`Backspace`||e.key===`Delete`}var Dv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiChip`}),{avatar:r,className:i,clickable:a,color:o=`default`,component:s,deleteIcon:c,disabled:l=!1,icon:u,label:d,onClick:f,onDelete:p,onKeyDown:m,onKeyUp:h,size:g=`medium`,variant:_=`filled`,tabIndex:v,skipFocusWhenDisabled:y=!1,slots:b={},slotProps:x={},...S}=n,w=uh(C.useRef(null),t),T=e=>{e.stopPropagation(),p(e)},E=e=>{e.currentTarget===e.target&&Ev(e)&&e.preventDefault(),m&&m(e)},D=e=>{e.currentTarget===e.target&&p&&Ev(e)&&p(e),h&&h(e)},O=a!==!1&&f?!0:a,k=O||p?Fh:s||`div`,A={...n,component:k,disabled:l,size:g,color:o,iconColor:C.isValidElement(u)&&u.props.color||o,onDelete:!!p,clickable:O,variant:_},j=Oie(A),M=k===Fh?{component:s||`div`,focusVisibleClassName:j.focusVisible,...p&&{disableRipple:!0}}:{},N=null;p&&(N=c&&C.isValidElement(c)?C.cloneElement(c,{className:K(c.props.className,j.deleteIcon),onClick:T}):(0,G.jsx)(Eie,{className:j.deleteIcon,onClick:T}));let P=null;r&&C.isValidElement(r)&&(P=C.cloneElement(r,{className:K(j.avatar,r.props.className)}));let F=null;u&&C.isValidElement(u)&&(F=C.cloneElement(u,{className:K(j.icon,u.props.className)}));let I={slots:b,slotProps:x},[L,R]=Wm(`root`,{elementType:kie,externalForwardedProps:{...I,...S},ownerState:A,shouldForwardComponentProp:!0,ref:w,className:K(j.root,i),additionalProps:{disabled:O&&l?!0:void 0,tabIndex:y&&l?-1:v,...M},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),f?.(t)},onKeyDown:t=>{e.onKeyDown?.(t),E(t)},onKeyUp:t=>{e.onKeyUp?.(t),D(t)}})}),[ee,z]=Wm(`label`,{elementType:Aie,externalForwardedProps:I,ownerState:A,className:j.label});return(0,G.jsxs)(L,{as:k,...R,children:[P||F,(0,G.jsx)(ee,{...z,children:d}),N]})});function Ov(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function kv(e,t=!1){return e&&(Ov(e.value)&&e.value!==``||t&&Ov(e.defaultValue)&&e.defaultValue!==``)}function jie(e){return e.startAdornment}function Mie(e){return Id(`MuiFormControl`,e)}Ld(`MuiFormControl`,[`root`,`marginNone`,`marginNormal`,`marginDense`,`fullWidth`,`disabled`]);var Nie=e=>{let{classes:t,margin:n,fullWidth:r}=e;return dp({root:[`root`,n!==`none`&&`margin${Y(n)}`,r&&`fullWidth`]},Mie,t)},Pie=J(`div`,{name:`MuiFormControl`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`margin${Y(n.margin)}`],n.fullWidth&&t.fullWidth]}})({display:`inline-flex`,flexDirection:`column`,position:`relative`,minWidth:0,padding:0,margin:0,border:0,verticalAlign:`top`,variants:[{props:{margin:`normal`},style:{marginTop:16,marginBottom:8}},{props:{margin:`dense`},style:{marginTop:8,marginBottom:4}},{props:{fullWidth:!0},style:{width:`100%`}}]}),Av=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiFormControl`}),{children:r,className:i,color:a=`primary`,component:o=`div`,disabled:s=!1,error:c=!1,focused:l,fullWidth:u=!1,hiddenLabel:d=!1,margin:f=`none`,required:p=!1,size:m=`medium`,variant:h=`outlined`,...g}=n,_={...n,color:a,component:o,disabled:s,error:c,fullWidth:u,hiddenLabel:d,margin:f,required:p,size:m,variant:h},v=Nie(_),[y,b]=C.useState(()=>{let e=!1;return r&&C.Children.forEach(r,t=>{if(!Qm(t,[`Input`,`Select`]))return;let n=Qm(t,[`Select`])?t.props.input:t;n&&jie(n.props)&&(e=!0)}),e}),[x,S]=C.useState(()=>{let e=!1;return r&&C.Children.forEach(r,t=>{Qm(t,[`Input`,`Select`])&&(kv(t.props,!0)||kv(t.props.inputProps,!0))&&(e=!0)}),e}),[w,T]=C.useState(!1);s&&w&&T(!1);let E=l!==void 0&&!s?l:w;C.useRef(!1);let D=C.useCallback(()=>{S(!0)},[]),O=C.useCallback(()=>{S(!1)},[]),k=C.useMemo(()=>({adornedStart:y,setAdornedStart:b,color:a,disabled:s,error:c,filled:x,focused:E,fullWidth:u,hiddenLabel:d,size:m,onBlur:()=>{T(!1)},onFocus:()=>{T(!0)},onEmpty:O,onFilled:D,registerEffect:void 0,required:p,variant:h}),[y,a,s,c,x,E,u,d,void 0,O,D,p,m,h]);return(0,G.jsx)(bv.Provider,{value:k,children:(0,G.jsx)(Pie,{as:o,ownerState:_,className:K(v.root,i),ref:t,...g,children:r})})});function Fie(e){return Id(`MuiTypography`,e)}var jv=Ld(`MuiTypography`,[`root`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`subtitle1`,`subtitle2`,`body1`,`body2`,`inherit`,`button`,`caption`,`overline`,`alignLeft`,`alignRight`,`alignCenter`,`alignJustify`,`noWrap`,`gutterBottom`,`paragraph`]),Iie={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},Lie=Pee(),Rie=e=>{let{align:t,gutterBottom:n,noWrap:r,paragraph:i,variant:a,classes:o}=e;return dp({root:[`root`,a,e.align!==`inherit`&&`align${Y(t)}`,n&&`gutterBottom`,r&&`noWrap`,i&&`paragraph`]},Fie,o)},zie=J(`span`,{name:`MuiTypography`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.variant&&t[n.variant],n.align!==`inherit`&&t[`align${Y(n.align)}`],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})(Im(({theme:e})=>({margin:0,variants:[{props:{variant:`inherit`},style:{font:`inherit`,lineHeight:`inherit`,letterSpacing:`inherit`}},...Object.entries(e.typography).filter(([e,t])=>e!==`inherit`&&t&&typeof t==`object`).map(([e,t])=>({props:{variant:e},style:t})),...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),...Object.entries(e.palette?.text||{}).filter(([,e])=>typeof e==`string`).map(([t])=>({props:{color:`text${Y(t)}`},style:{color:(e.vars||e).palette.text[t]}})),{props:({ownerState:e})=>e.align!==`inherit`,style:{textAlign:`var(--Typography-textAlign)`}},{props:({ownerState:e})=>e.noWrap,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},{props:({ownerState:e})=>e.gutterBottom,style:{marginBottom:`0.35em`}},{props:({ownerState:e})=>e.paragraph,style:{marginBottom:16}}]}))),Mv={h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,h5:`h5`,h6:`h6`,subtitle1:`h6`,subtitle2:`h6`,body1:`p`,body2:`p`,inherit:`p`},Q=C.forwardRef(function(e,t){let{color:n,...r}=Am({props:e,name:`MuiTypography`}),i=!Iie[n],a=Lie({...r,...i&&{color:n}}),{align:o=`inherit`,className:s,component:c,gutterBottom:l=!1,noWrap:u=!1,paragraph:d=!1,variant:f=`body1`,variantMapping:p=Mv,...m}=a,h={...a,align:o,color:n,className:s,component:c,gutterBottom:l,noWrap:u,paragraph:d,variant:f,variantMapping:p};return(0,G.jsx)(zie,{as:c||(d?`p`:p[f]||Mv[f])||`span`,ref:t,className:K(Rie(h).root,s),...m,ownerState:h,style:{...o!==`inherit`&&{"--Typography-textAlign":o},...m.style}})});function Bie(e){return Id(`MuiFormControlLabel`,e)}var Nv=Ld(`MuiFormControlLabel`,[`root`,`labelPlacementStart`,`labelPlacementTop`,`labelPlacementBottom`,`disabled`,`label`,`error`,`required`,`asterisk`]);function Pv({props:e,states:t,muiFormControl:n}){return t.reduce((t,r)=>(t[r]=e[r],n&&e[r]===void 0&&(t[r]=n[r]),t),{})}var Vie=e=>{let{classes:t,disabled:n,labelPlacement:r,error:i,required:a}=e;return dp({root:[`root`,n&&`disabled`,`labelPlacement${Y(r)}`,i&&`error`,a&&`required`],label:[`label`,n&&`disabled`],asterisk:[`asterisk`,i&&`error`]},Bie,t)},Hie=J(`label`,{name:`MuiFormControlLabel`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${Nv.label}`]:t.label},t.root,t[`labelPlacement${Y(n.labelPlacement)}`]]}})(Im(({theme:e})=>({display:`inline-flex`,alignItems:`center`,cursor:`pointer`,verticalAlign:`middle`,WebkitTapHighlightColor:`transparent`,marginLeft:-11,marginRight:16,[`&.${Nv.disabled}`]:{cursor:`default`},[`& .${Nv.label}`]:{[`&.${Nv.disabled}`]:{color:(e.vars||e).palette.text.disabled}},variants:[{props:{labelPlacement:`start`},style:{flexDirection:`row-reverse`,marginRight:-11}},{props:{labelPlacement:`top`},style:{flexDirection:`column-reverse`}},{props:{labelPlacement:`bottom`},style:{flexDirection:`column`}},{props:({labelPlacement:e})=>e===`start`||e===`top`||e===`bottom`,style:{marginLeft:16}}]}))),Uie=J(`span`,{name:`MuiFormControlLabel`,slot:`Asterisk`})(Im(({theme:e})=>({[`&.${Nv.error}`]:{color:(e.vars||e).palette.error.main}}))),Fv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiFormControlLabel`}),{checked:r,className:i,componentsProps:a={},control:o,disabled:s,disableTypography:c,inputRef:l,label:u,labelPlacement:d=`end`,name:f,onChange:p,required:m,slots:h={},slotProps:g={},value:_,...v}=n,y=xv(),b=s??o.props.disabled??y?.disabled,x=m??o.props.required,S={disabled:b,required:x};[`checked`,`name`,`onChange`,`value`,`inputRef`].forEach(e=>{o.props[e]===void 0&&n[e]!==void 0&&(S[e]=n[e])});let w=Pv({props:n,muiFormControl:y,states:[`error`]}),T={...n,disabled:b,labelPlacement:d,required:x,error:w.error},E=Vie(T),[D,O]=Wm(`typography`,{elementType:Q,externalForwardedProps:{slots:h,slotProps:{...a,...g}},ownerState:T}),k=u;return k!=null&&k.type!==Q&&!c&&(k=(0,G.jsx)(D,{component:`span`,...O,className:K(E.label,O?.className),children:k})),(0,G.jsxs)(Hie,{className:K(E.root,i),ownerState:T,ref:t,...v,children:[C.cloneElement(o,S),x?(0,G.jsxs)(`div`,{children:[k,(0,G.jsxs)(Uie,{ownerState:T,"aria-hidden":!0,className:E.asterisk,children:[` `,`*`]})]}):k]})}),Iv=Rp({createStyledComponent:J(`div`,{name:`MuiGrid`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.container&&t.container]}}),componentName:`MuiGrid`,useThemeProps:e=>Am({props:e,name:`MuiGrid`}),useTheme:Tm});function Wie(e){return Id(`MuiLinearProgress`,e)}Ld(`MuiLinearProgress`,[`root`,`colorPrimary`,`colorSecondary`,`determinate`,`indeterminate`,`buffer`,`query`,`dashed`,`dashedColorPrimary`,`dashedColorSecondary`,`bar`,`bar1`,`bar2`,`barColorPrimary`,`barColorSecondary`,`bar1Indeterminate`,`bar1Determinate`,`bar1Buffer`,`bar2Indeterminate`,`bar2Buffer`]);var Lv=4,Rv=ed`
148
+ `,kte=e=>{let{classes:t,variant:n,color:r,disableShrink:i}=e;return dp({root:[`root`,n,`color${Y(r)}`],svg:[`svg`],track:[`track`],circle:[`circle`,`circle${Y(n)}`,i&&`circleDisableShrink`]},Ete,t)},Ate=J(`span`,{name:`MuiCircularProgress`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`color${Y(n.color)}`]]}})(Im(({theme:e})=>({display:`inline-block`,variants:[{props:{variant:`determinate`},style:{transition:e.transitions.create(`transform`)}},{props:{variant:`indeterminate`},style:Dte||{animation:`${Rh} 1.4s linear infinite`}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}}))]}))),jte=J(`svg`,{name:`MuiCircularProgress`,slot:`Svg`})({display:`block`}),Mte=J(`circle`,{name:`MuiCircularProgress`,slot:`Circle`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.circle,t[`circle${Y(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(Im(({theme:e})=>({stroke:`currentColor`,variants:[{props:{variant:`determinate`},style:{transition:e.transitions.create(`stroke-dashoffset`)}},{props:{variant:`indeterminate`},style:{strokeDasharray:`80px, 200px`,strokeDashoffset:0}},{props:({ownerState:e})=>e.variant===`indeterminate`&&!e.disableShrink,style:Ote||{animation:`${zh} 1.4s ease-in-out infinite`}}]}))),Nte=J(`circle`,{name:`MuiCircularProgress`,slot:`Track`})(Im(({theme:e})=>({stroke:`currentColor`,opacity:(e.vars||e).palette.action.activatedOpacity}))),Bh=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCircularProgress`}),{className:r,color:i=`primary`,disableShrink:a=!1,enableTrackSlot:o=!1,size:s=40,style:c,thickness:l=3.6,value:u=0,variant:d=`indeterminate`,...f}=n,p={...n,color:i,disableShrink:a,size:s,thickness:l,value:u,variant:d,enableTrackSlot:o},m=kte(p),h={},g={},_={};if(d===`determinate`){let e=2*Math.PI*((Lh-l)/2);h.strokeDasharray=e.toFixed(3),_[`aria-valuenow`]=Math.round(u),h.strokeDashoffset=`${((100-u)/100*e).toFixed(3)}px`,g.transform=`rotate(-90deg)`}return(0,G.jsx)(Ate,{className:K(m.root,r),style:{width:s,height:s,...g,...c},ownerState:p,ref:t,role:`progressbar`,..._,...f,children:(0,G.jsxs)(jte,{className:m.svg,ownerState:p,viewBox:`${Lh/2} ${Lh/2} ${Lh} ${Lh}`,children:[o?(0,G.jsx)(Nte,{className:m.track,ownerState:p,cx:Lh,cy:Lh,r:(Lh-l)/2,fill:`none`,strokeWidth:l,"aria-hidden":`true`}):null,(0,G.jsx)(Mte,{className:m.circle,style:h,ownerState:p,cx:Lh,cy:Lh,r:(Lh-l)/2,fill:`none`,strokeWidth:l})]})})});function Pte(e){return Id(`MuiIconButton`,e)}var Vh=Ld(`MuiIconButton`,[`root`,`disabled`,`colorInherit`,`colorPrimary`,`colorSecondary`,`colorError`,`colorInfo`,`colorSuccess`,`colorWarning`,`edgeStart`,`edgeEnd`,`sizeSmall`,`sizeMedium`,`sizeLarge`,`loading`,`loadingIndicator`,`loadingWrapper`]),Fte=e=>{let{classes:t,disabled:n,color:r,edge:i,size:a,loading:o}=e;return dp({root:[`root`,o&&`loading`,n&&`disabled`,r!==`default`&&`color${Y(r)}`,i&&`edge${Y(i)}`,`size${Y(a)}`],loadingIndicator:[`loadingIndicator`],loadingWrapper:[`loadingWrapper`]},Pte,t)},Ite=J(Fh,{name:`MuiIconButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.loading&&t.loading,n.color!==`default`&&t[`color${Y(n.color)}`],n.edge&&t[`edge${Y(n.edge)}`],t[`size${Y(n.size)}`]]}})(Im(({theme:e})=>({textAlign:`center`,flex:`0 0 auto`,fontSize:e.typography.pxToRem(24),padding:8,borderRadius:`50%`,color:(e.vars||e).palette.action.active,transition:e.transitions.create(`background-color`,{duration:e.transitions.duration.shortest}),variants:[{props:e=>!e.disableRipple,style:{"--IconButton-hoverBg":e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity),"&:hover":{backgroundColor:`var(--IconButton-hoverBg)`,"@media (hover: none)":{backgroundColor:`transparent`}}}},{props:{edge:`start`},style:{marginLeft:-12}},{props:{edge:`start`,size:`small`},style:{marginLeft:-3}},{props:{edge:`end`},style:{marginRight:-12}},{props:{edge:`end`,size:`small`},style:{marginRight:-3}}]})),Im(({theme:e})=>({variants:[{props:{color:`inherit`},style:{color:`inherit`}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{"--IconButton-hoverBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}})),{props:{size:`small`},style:{padding:5,fontSize:e.typography.pxToRem(18)}},{props:{size:`large`},style:{padding:12,fontSize:e.typography.pxToRem(28)}}],[`&.${Vh.disabled}`]:{backgroundColor:`transparent`,color:(e.vars||e).palette.action.disabled},[`&.${Vh.loading}`]:{color:`transparent`}}))),Lte=J(`span`,{name:`MuiIconButton`,slot:`LoadingIndicator`})(({theme:e})=>({display:`none`,position:`absolute`,visibility:`visible`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,color:(e.vars||e).palette.action.disabled,variants:[{props:{loading:!0},style:{display:`flex`}}]})),Hh=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiIconButton`}),{edge:r=!1,children:i,className:a,color:o=`default`,disabled:s=!1,disableFocusRipple:c=!1,size:l=`medium`,id:u,loading:d=null,loadingIndicator:f,...p}=n,m=ah(u),h=f??(0,G.jsx)(Bh,{"aria-labelledby":m,color:`inherit`,size:16}),g={...n,edge:r,color:o,disabled:s,disableFocusRipple:c,loading:d,loadingIndicator:h,size:l},_=Fte(g);return(0,G.jsxs)(Ite,{id:d?m:u,className:K(_.root,a),centerRipple:!0,focusRipple:!c,disabled:s||d,ref:t,...p,ownerState:g,children:[typeof d==`boolean`&&(0,G.jsx)(`span`,{className:_.loadingWrapper,style:{display:`contents`},children:(0,G.jsx)(Lte,{className:_.loadingIndicator,ownerState:g,children:d&&h})}),i]})}),Rte=X((0,G.jsx)(`path`,{d:`M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z`}),`SuccessOutlined`),zte=X((0,G.jsx)(`path`,{d:`M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z`}),`ReportProblemOutlined`),Bte=X((0,G.jsx)(`path`,{d:`M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z`}),`ErrorOutline`),Vte=X((0,G.jsx)(`path`,{d:`M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z`}),`InfoOutlined`),Uh=X((0,G.jsx)(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`}),`Close`),Hte=e=>{let{variant:t,color:n,severity:r,classes:i}=e;return dp({root:[`root`,`color${Y(n||r)}`,`${t}${Y(n||r)}`,`${t}`],icon:[`icon`],message:[`message`],action:[`action`]},Zee,i)},Ute=J(Km,{name:`MuiAlert`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${Y(n.color||n.severity)}`]]}})(Im(({theme:e})=>{let t=e.palette.mode===`light`?e.darken:e.lighten,n=e.palette.mode===`light`?e.lighten:e.darken;return{...e.typography.body2,backgroundColor:`transparent`,display:`flex`,padding:`6px 16px`,variants:[...Object.entries(e.palette).filter(Gm([`light`])).map(([r])=>({props:{colorSeverity:r,variant:`standard`},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${r}StandardBg`]:n(e.palette[r].light,.9),[`& .${qm.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(Gm([`light`])).map(([n])=>({props:{colorSeverity:n,variant:`outlined`},style:{color:e.vars?e.vars.palette.Alert[`${n}Color`]:t(e.palette[n].light,.6),border:`1px solid ${(e.vars||e).palette[n].light}`,[`& .${qm.icon}`]:e.vars?{color:e.vars.palette.Alert[`${n}IconColor`]}:{color:e.palette[n].main}}})),...Object.entries(e.palette).filter(Gm([`dark`])).map(([t])=>({props:{colorSeverity:t,variant:`filled`},style:{fontWeight:e.typography.fontWeightMedium,...e.vars?{color:e.vars.palette.Alert[`${t}FilledColor`],backgroundColor:e.vars.palette.Alert[`${t}FilledBg`]}:{backgroundColor:e.palette.mode===`dark`?e.palette[t].dark:e.palette[t].main,color:e.palette.getContrastText(e.palette[t].main)}}}))]}})),Wte=J(`div`,{name:`MuiAlert`,slot:`Icon`})({marginRight:12,padding:`7px 0`,display:`flex`,fontSize:22,opacity:.9}),Gte=J(`div`,{name:`MuiAlert`,slot:`Message`})({padding:`8px 0`,minWidth:0,overflow:`auto`}),Kte=J(`div`,{name:`MuiAlert`,slot:`Action`})({display:`flex`,alignItems:`flex-start`,padding:`4px 0 0 16px`,marginLeft:`auto`,marginRight:-8}),Wh={success:(0,G.jsx)(Rte,{fontSize:`inherit`}),warning:(0,G.jsx)(zte,{fontSize:`inherit`}),error:(0,G.jsx)(Bte,{fontSize:`inherit`}),info:(0,G.jsx)(Vte,{fontSize:`inherit`})},Gh=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiAlert`}),{action:r,children:i,className:a,closeText:o=`Close`,color:s,components:c={},componentsProps:l={},icon:u,iconMapping:d=Wh,onClose:f,role:p=`alert`,severity:m=`success`,slotProps:h={},slots:g={},variant:_=`standard`,...v}=n,y={...n,color:s,severity:m,variant:_,colorSeverity:s||m},b=Hte(y),x={slots:{closeButton:c.CloseButton,closeIcon:c.CloseIcon,...g},slotProps:{...l,...h}},[S,C]=Wm(`root`,{ref:t,shouldForwardComponentProp:!0,className:K(b.root,a),elementType:Ute,externalForwardedProps:{...x,...v},ownerState:y,additionalProps:{role:p,elevation:0}}),[w,T]=Wm(`icon`,{className:b.icon,elementType:Wte,externalForwardedProps:x,ownerState:y}),[E,D]=Wm(`message`,{className:b.message,elementType:Gte,externalForwardedProps:x,ownerState:y}),[O,k]=Wm(`action`,{className:b.action,elementType:Kte,externalForwardedProps:x,ownerState:y}),[A,j]=Wm(`closeButton`,{elementType:Hh,externalForwardedProps:x,ownerState:y}),[M,N]=Wm(`closeIcon`,{elementType:Uh,externalForwardedProps:x,ownerState:y});return(0,G.jsxs)(S,{...C,children:[u===!1?null:(0,G.jsx)(w,{...T,children:u||d[m]||Wh[m]}),(0,G.jsx)(E,{...D,children:i}),r==null?null:(0,G.jsx)(O,{...k,children:r}),r==null&&f?(0,G.jsx)(O,{...k,children:(0,G.jsx)(A,{size:`small`,"aria-label":o,title:o,color:`inherit`,onClick:f,...j,children:(0,G.jsx)(M,{fontSize:`small`,...N})})}):null]})});function qte(e={}){let{autoHideDuration:t=null,disableWindowBlurListener:n=!1,onClose:r,open:i,resumeHideDuration:a}=e,o=Mh();C.useEffect(()=>{if(!i)return;function e(e){e.defaultPrevented||e.key===`Escape`&&r?.(e,`escapeKeyDown`)}return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[i,r]);let s=ch((e,t)=>{r?.(e,t)}),c=ch(e=>{!r||e==null||o.start(e,()=>{s(null,`timeout`)})});C.useEffect(()=>(i&&c(t),o.clear),[i,t,c,o]);let l=e=>{r?.(e,`clickaway`)},u=o.clear,d=C.useCallback(()=>{t!=null&&c(a??t*.5)},[t,a,c]),f=e=>t=>{let n=e.onBlur;n?.(t),d()},p=e=>t=>{let n=e.onFocus;n?.(t),u()},m=e=>t=>{let n=e.onMouseEnter;n?.(t),u()},h=e=>t=>{let n=e.onMouseLeave;n?.(t),d()};return C.useEffect(()=>{if(!n&&i)return window.addEventListener(`focus`,d),window.addEventListener(`blur`,u),()=>{window.removeEventListener(`focus`,d),window.removeEventListener(`blur`,u)}},[n,i,d,u]),{getRootProps:(t={})=>{let n={...Vm(e),...Vm(t)};return{role:`presentation`,...t,...n,onBlur:f(n),onFocus:p(n),onMouseEnter:m(n),onMouseLeave:h(n)}},onClickAway:l}}function Kh(e){return e?.props?.ref||null}function qh(e){return e.substring(2).toLowerCase()}function Jte(e,t){return t.documentElement.clientWidth<e.clientX||t.documentElement.clientHeight<e.clientY}function Jh(e){let{children:t,disableReactTree:n=!1,mouseEvent:r=`onClick`,onClickAway:i,touchEvent:a=`onTouchEnd`}=e,o=C.useRef(!1),s=C.useRef(null),c=C.useRef(!1),l=C.useRef(!1);C.useEffect(()=>(setTimeout(()=>{c.current=!0},0),()=>{c.current=!1}),[]);let u=Lm(Kh(t),s),d=ch(e=>{let t=l.current;l.current=!1;let r=$m(s.current);if(!c.current||!s.current||`clientX`in e&&Jte(e,r))return;if(o.current){o.current=!1;return}let a;a=e.composedPath?e.composedPath().includes(s.current):!r.documentElement.contains(e.target)||s.current.contains(e.target),!a&&(n||!t)&&i(e)}),f=e=>n=>{l.current=!0;let r=t.props[e];r&&r(n)},p={ref:u};return a!==!1&&(p[a]=f(a)),C.useEffect(()=>{if(a!==!1){let e=qh(a),t=$m(s.current),n=()=>{o.current=!0};return t.addEventListener(e,d),t.addEventListener(`touchmove`,n),()=>{t.removeEventListener(e,d),t.removeEventListener(`touchmove`,n)}}},[d,a]),r!==!1&&(p[r]=f(r)),C.useEffect(()=>{if(r!==!1){let e=qh(r),t=$m(s.current);return t.addEventListener(e,d),()=>{t.removeEventListener(e,d)}}},[d,r]),C.cloneElement(t,p)}var Yh=e=>e.scrollTop;function Xh(e,t){return n=>{if(t){let r=e.current;n===void 0?t(r):t(r,n)}}}function Zh(e,t,n,r,i,a){let o=e===`exited`&&!t?r:n[e]||n.exited;return i||a?{...o,...i,...a}:o}function Qh(e,t){let{timeout:n,easing:r,style:i={}}=e;return{duration:i.transitionDuration??(typeof n==`number`?n:n[t.mode]||0),easing:i.transitionTimingFunction??(typeof r==`object`?r[t.mode]:r),delay:i.transitionDelay}}function $h(e){return`scale(${e}, ${e**2})`}var Yte={entering:{opacity:1,transform:$h(1)},entered:{opacity:1,transform:`none`},exiting:{opacity:0,transform:$h(.75)},exited:{opacity:0,transform:$h(.75)}},Xte={opacity:0,transform:$h(.75),visibility:`hidden`},eg=C.forwardRef(function(e,t){let{addEndListener:n,appear:r=!0,children:i,easing:a,in:o,onEnter:s,onEntered:c,onEntering:l,onExit:u,onExited:d,onExiting:f,style:p,timeout:m=`auto`,...h}=e,g=Mh(),_=C.useRef(),v=Tm(),y=C.useRef(null),b=uh(y,Kh(i),t),x=Xh(y,l),S=Xh(y,(e,t)=>{Yh(e);let{duration:n,delay:r,easing:i}=Qh({style:p,timeout:m,easing:a},{mode:`enter`}),o;m===`auto`?(o=v.transitions.getAutoHeightDuration(e.clientHeight),_.current=o):o=n,e.style.transition=[v.transitions.create(`opacity`,{duration:o,delay:r}),v.transitions.create(`transform`,{duration:o*.666,delay:r,easing:i})].join(`,`),s&&s(e,t)}),w=Xh(y,c),T=Xh(y,f),E=Xh(y,e=>{let{duration:t,delay:n,easing:r}=Qh({style:p,timeout:m,easing:a},{mode:`exit`}),i;m===`auto`?(i=v.transitions.getAutoHeightDuration(e.clientHeight),_.current=i):i=t,e.style.transition=[v.transitions.create(`opacity`,{duration:i,delay:n}),v.transitions.create(`transform`,{duration:i*.666,delay:n||i*.333,easing:r})].join(`,`),e.style.opacity=0,e.style.transform=$h(.75),u&&u(e)}),D=Xh(y,e=>{e.style.transition=``,d&&d(e)});return(0,G.jsx)(Eh,{appear:r,in:o,nodeRef:y,onEnter:S,onEntered:w,onEntering:x,onExit:E,onExited:D,onExiting:T,addEndListener:e=>{m===`auto`&&g.start(_.current||0,e),n&&n(y.current,e)},timeout:m===`auto`?null:m,...h,children:(e,{ownerState:t,...n})=>{let r=Zh(e,o,Yte,Xte,p,i.props.style);return C.cloneElement(i,{style:r,ref:b,...n})}})});eg&&(eg.muiSupportAuto=!0);function Zte(e){return Id(`MuiSnackbarContent`,e)}Ld(`MuiSnackbarContent`,[`root`,`message`,`action`]);var Qte=e=>{let{classes:t}=e;return dp({root:[`root`],action:[`action`],message:[`message`]},Zte,t)},$te=J(Km,{name:`MuiSnackbarContent`,slot:`Root`})(Im(({theme:e})=>{let t=e.palette.mode===`light`?.8:.98;return{...e.typography.body2,color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(Sf(e.palette.background.default,t)),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:Sf(e.palette.background.default,t),display:`flex`,alignItems:`center`,flexWrap:`wrap`,padding:`6px 16px`,flexGrow:1,[e.breakpoints.up(`sm`)]:{flexGrow:`initial`,minWidth:288}}})),ene=J(`div`,{name:`MuiSnackbarContent`,slot:`Message`})({padding:`8px 0`}),tne=J(`div`,{name:`MuiSnackbarContent`,slot:`Action`})({display:`flex`,alignItems:`center`,marginLeft:`auto`,paddingLeft:16,marginRight:-8}),nne=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiSnackbarContent`}),{action:r,className:i,message:a,role:o=`alert`,...s}=n,c=n,l=Qte(c);return(0,G.jsxs)($te,{role:o,elevation:6,className:K(l.root,i),ownerState:c,ref:t,...s,children:[(0,G.jsx)(ene,{className:l.message,ownerState:c,children:a}),r?(0,G.jsx)(tne,{className:l.action,ownerState:c,children:r}):null]})});function rne(e){return Id(`MuiSnackbar`,e)}Ld(`MuiSnackbar`,[`root`,`anchorOriginTopCenter`,`anchorOriginBottomCenter`,`anchorOriginTopRight`,`anchorOriginBottomRight`,`anchorOriginTopLeft`,`anchorOriginBottomLeft`]);var ine=e=>{let{classes:t,anchorOrigin:n}=e;return dp({root:[`root`,`anchorOrigin${Y(n.vertical)}${Y(n.horizontal)}`]},rne,t)},ane=J(`div`,{name:`MuiSnackbar`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`anchorOrigin${Y(n.anchorOrigin.vertical)}${Y(n.anchorOrigin.horizontal)}`]]}})(Im(({theme:e})=>({zIndex:(e.vars||e).zIndex.snackbar,position:`fixed`,display:`flex`,left:8,right:8,justifyContent:`center`,alignItems:`center`,variants:[{props:({ownerState:e})=>e.anchorOrigin.vertical===`top`,style:{top:8,[e.breakpoints.up(`sm`)]:{top:24}}},{props:({ownerState:e})=>e.anchorOrigin.vertical!==`top`,style:{bottom:8,[e.breakpoints.up(`sm`)]:{bottom:24}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal===`left`,style:{justifyContent:`flex-start`,[e.breakpoints.up(`sm`)]:{left:24,right:`auto`}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal===`right`,style:{justifyContent:`flex-end`,[e.breakpoints.up(`sm`)]:{right:24,left:`auto`}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal===`center`,style:{[e.breakpoints.up(`sm`)]:{left:`50%`,right:`auto`,transform:`translateX(-50%)`}}}]}))),tg=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiSnackbar`}),r=Tm(),i={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{action:a,anchorOrigin:{vertical:o,horizontal:s}={vertical:`bottom`,horizontal:`left`},autoHideDuration:c=null,children:l,className:u,ClickAwayListenerProps:d,ContentProps:f,disableWindowBlurListener:p=!1,message:m,onBlur:h,onClose:g,onFocus:_,onMouseEnter:v,onMouseLeave:y,open:b,resumeHideDuration:x,slots:S={},slotProps:w={},TransitionComponent:T,transitionDuration:E=i,TransitionProps:{onEnter:D,onExited:O,...k}={},...A}=n,j={...n,anchorOrigin:{vertical:o,horizontal:s},autoHideDuration:c,disableWindowBlurListener:p,TransitionComponent:T,transitionDuration:E},M=ine(j),{getRootProps:N,onClickAway:P}=qte(j),[F,I]=C.useState(!0),L=e=>{I(!0),O&&O(e)},R=(e,t)=>{I(!1),D&&D(e,t)},ee={slots:{transition:T,...S},slotProps:{content:f,clickAwayListener:d,transition:k,...w}},[z,te]=Wm(`root`,{ref:t,className:[M.root,u],elementType:ane,getSlotProps:N,externalForwardedProps:{...ee,...A},ownerState:j}),[B,{ownerState:V,...ne}]=Wm(`clickAwayListener`,{elementType:Jh,externalForwardedProps:ee,getSlotProps:e=>({onClickAway:(...t)=>{let n=t[0];e.onClickAway?.(...t),!n?.defaultMuiPrevented&&P(...t)}}),ownerState:j}),[re,ie]=Wm(`content`,{elementType:nne,shouldForwardComponentProp:!0,externalForwardedProps:ee,additionalProps:{message:m,action:a},ownerState:j}),[ae,oe]=Wm(`transition`,{elementType:eg,externalForwardedProps:ee,getSlotProps:e=>({onEnter:(...t)=>{e.onEnter?.(...t),R(...t)},onExited:(...t)=>{e.onExited?.(...t),L(...t)}}),additionalProps:{appear:!0,in:b,timeout:E,direction:o===`top`?`down`:`up`},ownerState:j});return!b&&F?null:(0,G.jsx)(B,{...ne,...S.clickAwayListener&&{ownerState:V},children:(0,G.jsx)(z,{...te,children:(0,G.jsx)(ae,{...oe,children:l||(0,G.jsx)(re,{...ie})})})})}),ng=(0,C.createContext)({show:()=>{}}),one=0,sne=e=>{let[t,n]=(0,C.useState)([]),r=(0,C.useCallback)(e=>{n(t=>[...t,{...e,autoHideDuration:e.autoHideDuration??6e3,notificationId:one++}])},[]),i=e=>{n(t=>t.filter(t=>t.notificationId!==e))};return(0,G.jsxs)(ng.Provider,{value:{show:r},children:[e.children,t.map(e=>(0,G.jsx)(tg,{open:!0,autoHideDuration:e.autoHideDuration,onClose:()=>i(e.notificationId),children:(0,G.jsx)(Gh,{severity:e.severity,variant:`filled`,sx:{minWidth:`300px`},children:e.message})},e.notificationId))]})};function rg(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var ig=typeof Symbol==`function`&&Symbol.observable||`@@observable`,ag=()=>Math.random().toString(36).substring(7).split(``).join(`.`),og={INIT:`@@redux/INIT${ag()}`,REPLACE:`@@redux/REPLACE${ag()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ag()}`};function sg(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function cg(e,t,n){if(typeof e!=`function`)throw Error(rg(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(rg(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(rg(1));return n(cg)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(rg(3));return i}function d(e){if(typeof e!=`function`)throw Error(rg(4));if(c)throw Error(rg(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(rg(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!sg(e))throw Error(rg(7));if(e.type===void 0)throw Error(rg(8));if(typeof e.type!=`string`)throw Error(rg(17));if(c)throw Error(rg(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(rg(10));r=e,f({type:og.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(rg(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[ig](){return this}}}return f({type:og.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[ig]:m}}function cne(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:og.INIT})===void 0)throw Error(rg(12));if(n(void 0,{type:og.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(rg(13))})}function lne(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i;try{cne(n)}catch(e){i=e}return function(e={},t){if(i)throw i;let a=!1,o={};for(let i=0;i<r.length;i++){let s=r[i],c=n[s],l=e[s],u=c(l,t);if(u===void 0)throw t&&t.type,Error(rg(14));o[s]=u,a||=u!==l}return a||=r.length!==Object.keys(e).length,a?o:e}}function lg(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function une(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(rg(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=lg(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function dne(e){return sg(e)&&`type`in e&&typeof e.type==`string`}var ug=Symbol.for(`immer-nothing`),dg=Symbol.for(`immer-draftable`),fg=Symbol.for(`immer-state`);function pg(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var mg=Object,hg=mg.getPrototypeOf,gg=`constructor`,_g=`prototype`,vg=`configurable`,yg=`enumerable`,bg=`writable`,xg=`value`,Sg=e=>!!e&&!!e[fg];function Cg(e){return e?Tg(e)||jg(e)||!!e[dg]||!!e[gg]?.[dg]||Mg(e)||Ng(e):!1}var fne=mg[_g][gg].toString(),wg=new WeakMap;function Tg(e){if(!e||!Pg(e))return!1;let t=hg(e);if(t===null||t===mg[_g])return!0;let n=mg.hasOwnProperty.call(t,gg)&&t[gg];if(n===Object)return!0;if(!Fg(n))return!1;let r=wg.get(n);return r===void 0&&(r=Function.toString.call(n),wg.set(n,r)),r===fne}function Eg(e,t,n=!0){Dg(e)===0?(n?Reflect.ownKeys(e):mg.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Dg(e){let t=e[fg];return t?t.type_:jg(e)?1:Mg(e)?2:Ng(e)?3:0}var Og=(e,t,n=Dg(e))=>n===2?e.has(t):mg[_g].hasOwnProperty.call(e,t),kg=(e,t,n=Dg(e))=>n===2?e.get(t):e[t],Ag=(e,t,n,r=Dg(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function pne(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var jg=Array.isArray,Mg=e=>e instanceof Map,Ng=e=>e instanceof Set,Pg=e=>typeof e==`object`,Fg=e=>typeof e==`function`,Ig=e=>typeof e==`boolean`;function mne(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Lg=e=>e.copy_||e.base_,Rg=e=>e.modified_?e.copy_:e.base_;function zg(e,t){if(Mg(e))return new Map(e);if(Ng(e))return new Set(e);if(jg(e))return Array[_g].slice.call(e);let n=Tg(e);if(t===!0||t===`class_only`&&!n){let t=mg.getOwnPropertyDescriptors(e);delete t[fg];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[bg]===!1&&(a[bg]=!0,a[vg]=!0),(a.get||a.set)&&(t[i]={[vg]:!0,[bg]:!0,[yg]:a[yg],[xg]:e[i]})}return mg.create(hg(e),t)}else{let t=hg(e);if(t!==null&&n)return{...e};let r=mg.create(t);return mg.assign(r,e)}}function Bg(e,t=!1){return Hg(e)||Sg(e)||!Cg(e)?e:(Dg(e)>1&&mg.defineProperties(e,{set:Vg,add:Vg,clear:Vg,delete:Vg}),mg.freeze(e),t&&Eg(e,(e,t)=>{Bg(t,!0)},!1),e)}function hne(){pg(2)}var Vg={[xg]:hne};function Hg(e){return e===null||!Pg(e)?!0:mg.isFrozen(e)}var Ug=`MapSet`,Wg=`Patches`,Gg=`ArrayMethods`,Kg={};function qg(e){let t=Kg[e];return t||pg(0,e),t}var Jg=e=>!!Kg[e],Yg,Xg=()=>Yg,gne=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Jg(Ug)?qg(Ug):void 0,arrayMethodsPlugin_:Jg(Gg)?qg(Gg):void 0});function Zg(e,t){t&&(e.patchPlugin_=qg(Wg),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Qg(e){$g(e),e.drafts_.forEach(_ne),e.drafts_=null}function $g(e){e===Yg&&(Yg=e.parent_)}var e_=e=>Yg=gne(Yg,e);function _ne(e){let t=e[fg];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function t_(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[fg].modified_&&(Qg(t),pg(4)),Cg(e)&&(e=n_(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[fg].base_,e,t)}else e=n_(t,n);return vne(t,e,!0),Qg(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===ug?void 0:e}function n_(e,t){if(Hg(t))return t;let n=t[fg];if(!n)return s_(t,e.handledSet_,e);if(!i_(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);o_(n,e)}return n.copy_}function vne(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Bg(t,n)}function r_(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var i_=(e,t)=>e.scope_===t,yne=[];function a_(e,t,n,r){let i=Lg(e),a=e.type_;if(r!==void 0&&kg(i,r,a)===t){Ag(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Eg(i,(e,n)=>{if(Sg(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??yne;for(let e of o)Ag(i,e,n,a)}function bne(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!i_(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Rg(i);a_(e,i.draft_??i,a,n),o_(i,r)})}function o_(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}r_(e)}}function xne(e,t,n){let{scope_:r}=e;if(Sg(n)){let i=n[fg];i_(i,r)&&i.callbacks_.push(function(){p_(e),a_(e,n,Rg(i),t)})}else Cg(n)&&e.callbacks_.push(function(){let i=Lg(e);e.type_===3?i.has(n)&&s_(n,r.handledSet_,r):kg(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&s_(kg(e.copy_,t,e.type_),r.handledSet_,r)})}function s_(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Sg(e)||t.has(e)||!Cg(e)||Hg(e)?e:(t.add(e),Eg(e,(r,i)=>{if(Sg(i)){let t=i[fg];i_(t,n)&&(Ag(e,r,Rg(t),e.type_),r_(t))}else Cg(i)&&s_(i,t,n)}),e)}function Sne(e,t){let n=jg(e),r={type_:+!!n,scope_:t?t.scope_:Xg(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=c_;n&&(i=[r],a=l_);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var c_={get(e,t){if(t===fg)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Lg(e);if(!Og(i,t,e.type_))return Cne(e,i,t);let a=i[t];if(e.finalized_||!Cg(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&mne(t))return a;if(a===u_(e.base_,t)){p_(e);let n=e.type_===1?+t:t,r=m_(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Lg(e)},ownKeys(e){return Reflect.ownKeys(Lg(e))},set(e,t,n){let r=d_(Lg(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=u_(Lg(e),t),i=r?.[fg];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(pne(n,r)&&(n!==void 0||Og(e.base_,t,e.type_)))return!0;p_(e),f_(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),xne(e,t,n),!0)},deleteProperty(e,t){return p_(e),u_(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),f_(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Lg(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[bg]:!0,[vg]:e.type_!==1||t!==`length`,[yg]:r[yg],[xg]:n[t]}},defineProperty(){pg(11)},getPrototypeOf(e){return hg(e.base_)},setPrototypeOf(){pg(12)}},l_={};for(let e in c_){let t=c_[e];l_[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}l_.deleteProperty=function(e,t){return l_.set.call(this,e,t,void 0)},l_.set=function(e,t,n){return c_.set.call(this,e[0],t,n,e[0])};function u_(e,t){let n=e[fg];return(n?Lg(n):e)[t]}function Cne(e,t,n){let r=d_(t,n);return r?xg in r?r[xg]:r.get?.call(e.draft_):void 0}function d_(e,t){if(!(t in e))return;let n=hg(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=hg(n)}}function f_(e){e.modified_||(e.modified_=!0,e.parent_&&f_(e.parent_))}function p_(e){e.copy_||=(e.assigned_=new Map,zg(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var wne=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Fg(e)&&!Fg(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}Fg(t)||pg(6),n!==void 0&&!Fg(n)&&pg(7);let r;if(Cg(e)){let i=e_(this),a=m_(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Qg(i):$g(i)}return Zg(i,n),t_(r,i)}else if(!e||!Pg(e)){if(r=t(e),r===void 0&&(r=e),r===ug&&(r=void 0),this.autoFreeze_&&Bg(r,!0),n){let t=[],i=[];qg(Wg).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else pg(1,e)},this.produceWithPatches=(e,t)=>{if(Fg(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Ig(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ig(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ig(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Cg(e)||pg(8),Sg(e)&&(e=Tne(e));let t=e_(this),n=m_(t,e,void 0);return n[fg].isManual_=!0,$g(t),n}finishDraft(e,t){let n=e&&e[fg];(!n||!n.isManual_)&&pg(9);let{scope_:r}=n;return Zg(r,t),t_(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=qg(Wg).applyPatches_;return Sg(e)?r(e,t):this.produce(e,e=>r(e,t))}};function m_(e,t,n,r){let[i,a]=Mg(t)?qg(Ug).proxyMap_(t,n):Ng(t)?qg(Ug).proxySet_(t,n):Sne(t,n);return(n?.scope_??Xg()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?bne(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Tne(e){return Sg(e)||pg(10,e),h_(e)}function h_(e){if(!Cg(e)||Hg(e))return e;let t=e[fg],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=zg(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=zg(e,!0);return Eg(n,(e,t)=>{Ag(n,e,h_(t))},r),t&&(t.finalized_=!1),n}var g_=new wne().produce,__=Symbol(`NOT_FOUND`);function Ene(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function Dne(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!=`object`)throw TypeError(t)}function One(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var v_=e=>Array.isArray(e)?e:[e];function kne(e){let t=Array.isArray(e[0])?e[0]:e;return One(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function Ane(e,t){let n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}function jne(e){let t;return{get(n){return t&&e(t.key,n)?t.value:__},put(e,n){t={key:e,value:n}},getEntries(){return t?[t]:[]},clear(){t=void 0}}}function Mne(e,t){let n=[];function r(e){let r=n.findIndex(n=>t(e,n.key));if(r>-1){let e=n[r];return r>0&&(n.splice(r,1),n.unshift(e)),e.value}return __}function i(t,i){r(t)===__&&(n.unshift({key:t,value:i}),n.length>e&&n.pop())}function a(){return n}function o(){n=[]}return{get:r,put:i,getEntries:a,clear:o}}var Nne=(e,t)=>e===t;function Pne(e){return function(t,n){if(t===null||n===null||t.length!==n.length)return!1;let{length:r}=t;for(let i=0;i<r;i++)if(!e(t[i],n[i]))return!1;return!0}}function Fne(e,t){let{equalityCheck:n=Nne,maxSize:r=1,resultEqualityCheck:i}=typeof t==`object`?t:{equalityCheck:t},a=Pne(n),o=0,s=r<=1?jne(a):Mne(r,a);function c(){let t=s.get(arguments);if(t===__){if(t=e.apply(null,arguments),o++,i){let e=s.getEntries().find(e=>i(e.value,t));e&&(t=e.value,o!==0&&o--)}s.put(arguments,t)}return t}return c.clearCache=()=>{s.clear(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}var Ine=class{constructor(e){this.value=e}deref(){return this.value}},Lne=typeof WeakRef<`u`?WeakRef:Ine,Rne=0,y_=1;function b_(){return{s:Rne,v:void 0,o:null,p:null}}function x_(e,t={}){let n=b_(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e<n;e++){let n=arguments[e];if(typeof n==`function`||typeof n==`object`&&n){let e=t.o;e===null&&(t.o=e=new WeakMap);let r=e.get(n);r===void 0?(t=b_(),e.set(n,t)):t=r}else{let e=t.p;e===null&&(t.p=e=new Map);let r=e.get(n);r===void 0?(t=b_(),e.set(n,t)):t=r}}let s=t,c;if(t.s===y_)c=t.v;else if(c=e.apply(null,arguments),a++,r){let e=i?.deref?.()??i;e!=null&&r(e,c)&&(c=e,a!==0&&a--),i=typeof c==`object`&&c||typeof c==`function`?new Lne(c):c}return s.s=y_,s.v=c,c}return o.clearCache=()=>{n=b_(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function S_(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),Ene(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=x_,argsMemoizeOptions:u=[],devModeChecks:d={}}={...n,...a},f=v_(c),p=v_(u),m=kne(e),h=s(function(){return t++,o.apply(null,arguments)},...f),g=l(function(){r++;let e=Ane(m,arguments);return i=h.apply(null,e),i},...p);return Object.assign(g,{resultFunc:o,memoizedResultFunc:h,dependencies:m,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var C_=S_(x_),zne=Object.assign((e,t=C_)=>{Dne(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);let n=Object.keys(e);return t(n.map(t=>e[t]),(...e)=>e.reduce((e,t,r)=>(e[n[r]]=t,e),{}))},{withTypes:()=>zne});function w_(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var Bne=w_(),Vne=w_,Hne=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?lg:lg.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;var Une=e=>e&&typeof e.match==`function`;function T_(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(M_(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>dne(t)&&t.type===e,n}var E_=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function D_(e){return Cg(e)?g_(e,()=>{}):e}function Wne(e){return typeof e==`boolean`}var Gne=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new E_;return t&&(Wne(t)?a.push(Bne):a.push(Vne(t.extraArgument))),a},Kne=`RTK_autoBatch`,O_=e=>t=>{setTimeout(t,e)},qne=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?window.requestAnimationFrame:O_(10):e.type===`callback`?e.queueNotification:O_(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[Kne],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},Jne=e=>function(t){let{autoBatch:n=!0}=t??{},r=new E_(e);return n&&r.push(qne(typeof n==`object`?n:void 0)),r};function Yne(e){let t=Gne(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(sg(n))c=lne(n);else throw Error(M_(1));let l;l=typeof r==`function`?r(t):t();let u=lg;i&&(u=Hne({trace:!1,...typeof i==`object`&&i}));let d=Jne(une(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return cg(c,o,p)}function Xne(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(M_(28));if(r in t)throw Error(M_(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function Zne(e){return typeof e==`function`}function k_(e,t){let[n,r,i]=Xne(t),a;if(Zne(e))a=()=>D_(e());else{let t=D_(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n)if(Sg(e)){let r=n(e,t);return r===void 0?e:r}else if(Cg(e))return g_(e,e=>n(e,t));else{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}return e},e)}return o.getInitialState=a,o}var Qne=(e,t)=>Une(e)?e.match(t):e(t);function $ne(...e){return t=>e.some(e=>Qne(e,t))}var ere=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,tre=(e=21)=>{let t=``,n=e;for(;n--;)t+=ere[Math.random()*64|0];return t},nre=[`name`,`message`,`stack`,`code`],A_=class{constructor(e,t){this.payload=e,this.meta=t}_type},rre=class{constructor(e,t){this.payload=e,this.meta=t}_type},ire=e=>{if(typeof e==`object`&&e){let t={};for(let n of nre)typeof e[n]==`string`&&(t[n]=e[n]);return t}return{message:String(e)}},are=`External signal was aborted`,ore=(()=>{function e(e,t,n){let r=T_(e+`/fulfilled`,(e,t,n,r)=>({payload:e,meta:{...r||{},arg:n,requestId:t,requestStatus:`fulfilled`}})),i=T_(e+`/pending`,(e,t,n)=>({payload:void 0,meta:{...n||{},arg:t,requestId:e,requestStatus:`pending`}})),a=T_(e+`/rejected`,(e,t,r,i,a)=>({payload:i,error:(n&&n.serializeError||ire)(e||`Rejected`),meta:{...a||{},arg:r,requestId:t,rejectedWithValue:!!i,requestStatus:`rejected`,aborted:e?.name===`AbortError`,condition:e?.name===`ConditionError`}}));function o(e,{signal:o}={}){return(s,c,l)=>{let u=n?.idGenerator?n.idGenerator(e):tre(),d=new AbortController,f,p;function m(e){p=e,d.abort()}o&&(o.aborted?m(are):o.addEventListener(`abort`,()=>m(are),{once:!0}));let h=async function(){let o;try{let a=n?.condition?.(e,{getState:c,extra:l});if(cre(a)&&(a=await a),a===!1||d.signal.aborted)throw{name:`ConditionError`,message:`Aborted due to condition callback returning false.`};let h=new Promise((e,t)=>{f=()=>{t({name:`AbortError`,message:p||`Aborted`})},d.signal.addEventListener(`abort`,f,{once:!0})});s(i(u,e,n?.getPendingMeta?.({requestId:u,arg:e},{getState:c,extra:l}))),o=await Promise.race([h,Promise.resolve(t(e,{dispatch:s,getState:c,extra:l,requestId:u,signal:d.signal,abort:m,rejectWithValue:(e,t)=>new A_(e,t),fulfillWithValue:(e,t)=>new rre(e,t)})).then(t=>{if(t instanceof A_)throw t;return t instanceof rre?r(t.payload,u,e,t.meta):r(t,u,e)})])}catch(t){o=t instanceof A_?a(null,u,e,t.payload,t.meta):a(t,u,e)}finally{f&&d.signal.removeEventListener(`abort`,f)}return n&&!n.dispatchConditionRejection&&a.match(o)&&o.meta.condition||s(o),o}();return Object.assign(h,{abort:m,requestId:u,arg:e,unwrap(){return h.then(sre)}})}}return Object.assign(o,{pending:i,rejected:a,fulfilled:r,settled:$ne(a,r),typePrefix:e})}return e.withTypes=()=>e,e})();function sre(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function cre(e){return typeof e==`object`&&!!e&&typeof e.then==`function`}var lre=`listener`,ure=`completed`,dre=`cancelled`;`${dre}`,`${ure}`,`${lre}${dre}`,`${lre}${ure}`;var{assign:fre}=Object,j_=`listenerMiddleware`,pre=fre(T_(`${j_}/add`),{withTypes:()=>pre});`${j_}`;var mre=fre(T_(`${j_}/remove`),{withTypes:()=>mre});function M_(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var hre=class extends Error{constructor(e,t,n){super(e),this.status=t,this.body=n,this.name=`ApiError`}};async function N_(e){let t=await e.text();try{return JSON.parse(t)}catch{throw new hre(`Invalid JSON response (HTTP ${e.status}): ${t.slice(0,120)}`,e.status,t)}}async function P_(e,t){if(!e.ok){let n=await e.text().catch(()=>``),r=t;try{let e=JSON.parse(n);e?.error&&(r=e.error)}catch{r=n?`${t} (HTTP ${e.status}: ${n.slice(0,120)})`:`${t} (HTTP ${e.status})`}throw Error(r)}}async function gre(){let e=await fetch(`api/matter/bridges?_s=${Date.now()}`);return await P_(e,`Failed to fetch bridges`),N_(e)}async function F_(e){let t=await fetch(`api/matter/bridges`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return await P_(t,`Failed to create bridge`),N_(t)}async function I_(e){let t=await fetch(`api/matter/bridges/${e.id}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return await P_(t,`Failed to update bridge`),N_(t)}async function _re(e){await fetch(`api/matter/bridges/${e}`,{method:`DELETE`})}async function vre(e){let t=await fetch(`api/matter/bridges/${e}/actions/factory-reset`,{method:`POST`});return await P_(t,`Factory reset failed`),N_(t)}async function L_(e){let t=await fetch(`api/matter/bridges/${e}/actions/force-sync`,{method:`POST`});return await P_(t,`Force sync failed`),N_(t)}async function yre(e){let t=await fetch(`api/matter/bridges/${e}/actions/open-commissioning-window`,{method:`POST`});return await P_(t,`Failed to open commissioning window`),N_(t)}async function bre(e){if(!(await fetch(`api/matter/bridges/priorities`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({updates:e})})).ok)throw Error(`Failed to update priorities`)}async function R_(){let e=await fetch(`api/matter/bridges/actions/start-all`,{method:`POST`});return await P_(e,`Failed to start all bridges`),N_(e)}async function z_(){let e=await fetch(`api/matter/bridges/actions/stop-all`,{method:`POST`});return await P_(e,`Failed to stop all bridges`),N_(e)}async function B_(){let e=await fetch(`api/matter/bridges/actions/restart-all`,{method:`POST`});return await P_(e,`Failed to restart all bridges`),N_(e)}var V_=ore.withTypes(),H_=C_.withTypes(),U_=V_(`bridges/load`,gre),W_=V_(`bridges/create`,F_),G_=V_(`bridges/delete`,_re),K_=V_(`bridges/update`,I_),q_=V_(`bridges/reset`,vre),J_=T_(`bridges/setFromWebSocket`),Y_=T_(`bridges/updateFromWebSocket`),X_=V.withTypes(),Z_=ie.withTypes(),Q_=(0,C.createContext)({isConnected:!1,error:null});function $_(){return(0,C.useContext)(Q_)}function xre({children:e}){let t=X_(),[n,r]=(0,C.useState)(!1),[i,a]=(0,C.useState)(null),o=(0,C.useRef)(null),s=(0,C.useRef)(void 0),c=(0,C.useCallback)(e=>{switch(e.type){case`bridges_update`:t(J_(e.data));break;case`bridge_update`:t(Y_(e.data));break;case`ping`:o.current?.send(JSON.stringify({type:`pong`}));break}},[t]),l=(0,C.useCallback)(()=>{if(o.current?.readyState===WebSocket.OPEN)return;let e=window.location.protocol===`https:`?`wss:`:`ws:`,t=document.querySelector(`base`)?.href||window.location.origin,n=new URL(t),i=`${e}//${n.host}${n.pathname}api/ws`.replace(/\/+/g,`/`).replace(`:/`,`://`);try{let e=new WebSocket(i);o.current=e,e.onopen=()=>{r(!0),a(null)},e.onmessage=e=>{try{c(JSON.parse(e.data))}catch{console.warn(`Invalid WebSocket message`)}},e.onclose=()=>{r(!1),o.current=null,s.current=setTimeout(l,3e3)},e.onerror=()=>{a(Error(`WebSocket connection error`)),e.close()}}catch(e){a(e instanceof Error?e:Error(`Failed to connect`))}},[c]);return(0,C.useEffect)(()=>(l(),()=>{s.current&&clearTimeout(s.current),o.current?.close()}),[l]),(0,G.jsx)(Q_.Provider,{value:{isConnected:n,error:i},children:e})}var Sre=()=>{let e=X_();return(0,C.useEffect)(()=>{e(U_())},[e]),(0,G.jsx)(oi,{})},ev;(function(e){e.Starting=`starting`,e.Running=`running`,e.Stopped=`stopped`,e.Failed=`failed`})(ev||={});var tv;(function(e){e.Pattern=`pattern`,e.Regex=`regex`,e.Domain=`domain`,e.Platform=`platform`,e.Label=`label`,e.EntityLabel=`entity_label`,e.DeviceLabel=`device_label`,e.EntityLabelRegex=`entity_label_regex`,e.DeviceLabelRegex=`device_label_regex`,e.AnyFieldRegex=`any_field_regex`,e.Area=`area`,e.EntityCategory=`entity_category`,e.DeviceName=`device_name`,e.ProductName=`product_name`,e.DeviceClass=`device_class`})(tv||={});var nv=[{id:`all_lights`,name:`All Lights`,description:`Expose all light entities. Ideal for controlling lights via Apple Home, Google Home, or Alexa.`,icon:`light`,filter:{include:[{type:tv.Domain,value:`light`}],exclude:[]},featureFlags:{autoBatteryMapping:!0},tags:[`lights`,`popular`]},{id:`all_switches`,name:`All Switches & Plugs`,description:`Expose all switch entities including smart plugs. Includes power and energy monitoring.`,icon:`switch`,filter:{include:[{type:tv.Domain,value:`switch`}],exclude:[]},featureFlags:{},tags:[`switches`,`plugs`]},{id:`sensors_only`,name:`All Sensors`,description:`Expose temperature, humidity, pressure, and other sensors. Auto-combines related sensors from the same device.`,icon:`sensor`,filter:{include:[{type:tv.Domain,value:`sensor`},{type:tv.Domain,value:`binary_sensor`}],exclude:[]},featureFlags:{autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0},tags:[`sensors`,`temperature`,`humidity`]},{id:`climate_control`,name:`Climate & Covers`,description:`Expose thermostats, fans, covers, and humidifiers for climate control.`,icon:`climate`,filter:{include:[{type:tv.Domain,value:`climate`},{type:tv.Domain,value:`fan`},{type:tv.Domain,value:`cover`},{type:tv.Domain,value:`humidifier`}],exclude:[]},featureFlags:{autoBatteryMapping:!0},tags:[`climate`,`thermostat`,`covers`]},{id:`security`,name:`Security & Locks`,description:`Expose locks, alarm panels, and security-related binary sensors (motion, door, window).`,icon:`lock`,filter:{include:[{type:tv.Domain,value:`lock`},{type:tv.Domain,value:`alarm_control_panel`},{type:tv.DeviceClass,value:`motion`},{type:tv.DeviceClass,value:`door`},{type:tv.DeviceClass,value:`window`}],exclude:[],includeMode:`any`},featureFlags:{autoBatteryMapping:!0},tags:[`security`,`locks`,`alarm`]},{id:`robot_vacuum`,name:`Robot Vacuum (Server Mode)`,description:`Single vacuum bridge with Server Mode enabled. Required for Apple Home Siri commands and proper Alexa discovery. Add only ONE vacuum to this bridge.`,icon:`vacuum`,filter:{include:[{type:tv.Domain,value:`vacuum`}],exclude:[]},featureFlags:{serverMode:!0},tags:[`vacuum`,`server-mode`,`apple-home`]},{id:`media_players`,name:`Media Players & Speakers`,description:`Expose media players, speakers, and TVs for volume and playback control.`,icon:`media_player`,filter:{include:[{type:tv.Domain,value:`media_player`}],exclude:[]},featureFlags:{},tags:[`media`,`speakers`,`tv`]},{id:`google_home_optimized`,name:`Google Home Optimized`,description:`All devices with Auto Force Sync enabled. Prevents Google Home from showing devices as offline after a few hours.`,icon:`default`,filter:{include:[{type:tv.Pattern,value:`*`}],exclude:[]},featureFlags:{autoForceSync:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0},tags:[`google-home`,`all-devices`]},{id:`alexa_covers`,name:`Alexa-Optimized Covers`,description:`Covers with Alexa-friendly percentage display. Displayed percentage matches Home Assistant values.`,icon:`cover`,filter:{include:[{type:tv.Domain,value:`cover`}],exclude:[]},featureFlags:{coverUseHomeAssistantPercentage:!0,autoBatteryMapping:!0},tags:[`alexa`,`covers`]},{id:`automations_scripts`,name:`Automations & Scripts`,description:`Expose Home Assistant automations, scripts, and scenes as Matter switches.`,icon:`remote`,filter:{include:[{type:tv.Domain,value:`automation`},{type:tv.Domain,value:`script`},{type:tv.Domain,value:`scene`}],exclude:[]},featureFlags:{},tags:[`automations`,`scripts`,`scenes`]}],Cre;(function(e){e[e.locked=1]=`locked`,e[e.unlocked=2]=`unlocked`})(Cre||={});var wre;(function(e){e[e.Off=0]=`Off`,e[e.Low=1]=`Low`,e[e.Medium=2]=`Medium`,e[e.High=3]=`High`,e[e.On=4]=`On`,e[e.Auto=5]=`Auto`,e[e.Smart=6]=`Smart`})(wre||={});var Tre;(function(e){e[e.Forward=0]=`Forward`,e[e.Reverse=1]=`Reverse`})(Tre||={});var Ere;(function(e){e[e.OffLowMedHigh=0]=`OffLowMedHigh`,e[e.OffLowHigh=1]=`OffLowHigh`,e[e.OffLowMedHighAuto=2]=`OffLowMedHighAuto`,e[e.OffLowHighAuto=3]=`OffLowHighAuto`,e[e.OffHighAuto=4]=`OffHighAuto`,e[e.OffHigh=5]=`OffHigh`})(Ere||={});var Dre;(function(e){e[e.Stopped=0]=`Stopped`,e[e.Running=1]=`Running`,e[e.Paused=2]=`Paused`,e[e.Error=3]=`Error`,e[e.SeekingCharger=64]=`SeekingCharger`,e[e.Charging=65]=`Charging`,e[e.Docked=66]=`Docked`})(Dre||={});var Ore;(function(e){e[e.Off=0]=`Off`,e[e.Auto=1]=`Auto`,e[e.Cool=3]=`Cool`,e[e.Heat=4]=`Heat`,e[e.EmergencyHeat=5]=`EmergencyHeat`,e[e.Precooling=6]=`Precooling`,e[e.FanOnly=7]=`FanOnly`,e[e.Dry=8]=`Dry`,e[e.Sleep=9]=`Sleep`})(Ore||={});var rv;(function(e){e.homeAssistantEntity=`homeAssistantEntity`,e.identify=`identify`,e.groups=`groups`,e.scenesManagement=`scenesManagement`,e.bridgedDeviceBasicInformation=`bridgedDeviceBasicInformation`,e.airQuality=`airQuality`,e.booleanState=`booleanState`,e.booleanStateConfiguration=`booleanStateConfiguration`,e.carbonDioxideConcentrationMeasurement=`carbonDioxideConcentrationMeasurement`,e.carbonMonoxideConcentrationMeasurement=`carbonMonoxideConcentrationMeasurement`,e.colorControl=`colorControl`,e.doorLock=`doorLock`,e.electricalEnergyMeasurement=`electricalEnergyMeasurement`,e.electricalPowerMeasurement=`electricalPowerMeasurement`,e.flowMeasurement=`flowMeasurement`,e.levelControl=`levelControl`,e.fanControl=`fanControl`,e.illuminanceMeasurement=`illuminanceMeasurement`,e.nitrogenDioxideConcentrationMeasurement=`nitrogenDioxideConcentrationMeasurement`,e.occupancySensing=`occupancySensing`,e.onOff=`onOff`,e.ozoneConcentrationMeasurement=`ozoneConcentrationMeasurement`,e.pm1ConcentrationMeasurement=`pm1ConcentrationMeasurement`,e.pm10ConcentrationMeasurement=`pm10ConcentrationMeasurement`,e.pm25ConcentrationMeasurement=`pm25ConcentrationMeasurement`,e.powerSource=`powerSource`,e.powerTopology=`powerTopology`,e.pressureMeasurement=`pressureMeasurement`,e.relativeHumidityMeasurement=`relativeHumidityMeasurement`,e.smokeCoAlarm=`smokeCoAlarm`,e.temperatureMeasurement=`temperatureMeasurement`,e.thermostat=`thermostat`,e.thermostatUserInterfaceConfiguration=`thermostatUserInterfaceConfiguration`,e.totalVolatileOrganicCompoundsConcentrationMeasurement=`totalVolatileOrganicCompoundsConcentrationMeasurement`,e.valveConfigurationAndControl=`valveConfigurationAndControl`,e.windowCovering=`windowCovering`,e.mediaInput=`mediaInput`,e.rvcCleanMode=`rvcCleanMode`,e.rvcRunMode=`rvcRunMode`,e.rvcOperationalState=`rvcOperationalState`,e.serviceArea=`serviceArea`,e.switch=`switch`,e.modeSelect=`modeSelect`})(rv||={});var iv=[{id:`apple_home`,name:`Apple Home`,description:`Optimized for Apple Home and Siri. Enables composed devices for clean sensor grouping. Covers use standard Matter percentage (inverted from HA).`,icon:`default`,featureFlags:{autoComposedDevices:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0}},{id:`google_home`,name:`Google Home`,description:`Optimized for Google Home. Enables Auto Force Sync to prevent devices from going offline. Composed devices enabled for proper sensor grouping.`,icon:`default`,featureFlags:{autoForceSync:!0,autoComposedDevices:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0}},{id:`alexa`,name:`Amazon Alexa`,description:`Optimized for Alexa. Enables Auto Force Sync and Alexa-friendly cover percentages. Battery mapping included for sensor devices.`,icon:`default`,featureFlags:{autoForceSync:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0,coverUseHomeAssistantPercentage:!0}},{id:`multi_controller`,name:`Multi-Controller`,description:`Balanced settings for use with multiple controllers at once (e.g. Apple Home + Alexa). Force Sync enabled. Standard cover behavior.`,icon:`default`,featureFlags:{autoForceSync:!0,autoComposedDevices:!0,autoBatteryMapping:!0,autoHumidityMapping:!0,autoPressureMapping:!0}}],kre;(function(e){e.Battery=`battery`,e.BatteryCharging=`battery_charging`,e.CarbonMonoxide=`carbon_monoxide`,e.Cold=`cold`,e.Connectivity=`connectivity`,e.Door=`door`,e.GarageDoor=`garage_door`,e.Gas=`gas`,e.Heat=`heat`,e.Light=`light`,e.Lock=`lock`,e.Moisture=`moisture`,e.Motion=`motion`,e.Moving=`moving`,e.Occupancy=`occupancy`,e.Opening=`opening`,e.Plug=`plug`,e.Power=`power`,e.Presence=`presence`,e.Problem=`problem`,e.Rain=`rain`,e.Running=`running`,e.Safety=`safety`,e.Smoke=`smoke`,e.Sound=`sound`,e.Tamper=`tamper`,e.Update=`update`,e.Vibration=`vibration`,e.Window=`window`})(kre||={});var Are;(function(e){e.off=`off`,e.heat=`heat`,e.cool=`cool`,e.heat_cool=`heat_cool`,e.auto=`auto`,e.dry=`dry`,e.fan_only=`fan_only`})(Are||={});var jre;(function(e){e.off=`off`,e.preheating=`preheating`,e.heating=`heating`,e.cooling=`cooling`,e.drying=`drying`,e.fan=`fan`,e.idle=`idle`,e.defrosting=`defrosting`})(jre||={});var Mre;(function(e){e[e.TARGET_TEMPERATURE=1]=`TARGET_TEMPERATURE`,e[e.TARGET_TEMPERATURE_RANGE=2]=`TARGET_TEMPERATURE_RANGE`,e[e.TARGET_HUMIDITY=4]=`TARGET_HUMIDITY`,e[e.FAN_MODE=8]=`FAN_MODE`,e[e.PRESET_MODE=16]=`PRESET_MODE`,e[e.SWING_MODE=32]=`SWING_MODE`,e[e.AUX_HEAT=64]=`AUX_HEAT`,e[e.TURN_OFF=128]=`TURN_OFF`,e[e.TURN_ON=256]=`TURN_ON`,e[e.SWING_HORIZONTAL_MODE=512]=`SWING_HORIZONTAL_MODE`})(Mre||={});var Nre;(function(e){e.closed=`closed`,e.open=`open`,e.closing=`closing`,e.opening=`opening`})(Nre||={});var Pre;(function(e){e.button=`button`,e.doorbell=`doorbell`,e.motion=`motion`})(Pre||={});var Fre;(function(e){e.FORWARD=`forward`,e.REVERSE=`reverse`})(Fre||={});var Ire;(function(e){e[e.SET_SPEED=1]=`SET_SPEED`,e[e.OSCILLATE=2]=`OSCILLATE`,e[e.DIRECTION=4]=`DIRECTION`,e[e.PRESET_MODE=8]=`PRESET_MODE`,e[e.TURN_ON=16]=`TURN_ON`,e[e.TURN_OFF=32]=`TURN_OFF`})(Ire||={});var Lre;(function(e){e.UNKNOWN=`unknown`,e.ONOFF=`onoff`,e.BRIGHTNESS=`brightness`,e.COLOR_TEMP=`color_temp`,e.HS=`hs`,e.XY=`xy`,e.RGB=`rgb`,e.RGBW=`rgbw`,e.RGBWW=`rgbww`,e.WHITE=`white`})(Lre||={});var Rre;(function(e){e.Tv=`tv`,e.Speaker=`speaker`,e.Receiver=`receiver`})(Rre||={});var zre;(function(e){e[e.PAUSE=1]=`PAUSE`,e[e.SEEK=2]=`SEEK`,e[e.VOLUME_SET=4]=`VOLUME_SET`,e[e.VOLUME_MUTE=8]=`VOLUME_MUTE`,e[e.PREVIOUS_TRACK=16]=`PREVIOUS_TRACK`,e[e.NEXT_TRACK=32]=`NEXT_TRACK`,e[e.TURN_ON=128]=`TURN_ON`,e[e.TURN_OFF=256]=`TURN_OFF`,e[e.PLAY_MEDIA=512]=`PLAY_MEDIA`,e[e.VOLUME_STEP=1024]=`VOLUME_STEP`,e[e.SELECT_SOURCE=2048]=`SELECT_SOURCE`,e[e.STOP=4096]=`STOP`,e[e.CLEAR_PLAYLIST=8192]=`CLEAR_PLAYLIST`,e[e.PLAY=16384]=`PLAY`,e[e.SHUFFLE_SET=32768]=`SHUFFLE_SET`,e[e.SELECT_SOUND_MODE=65536]=`SELECT_SOUND_MODE`,e[e.BROWSE_MEDIA=131072]=`BROWSE_MEDIA`,e[e.REPEAT_SET=262144]=`REPEAT_SET`,e[e.GROUPING=524288]=`GROUPING`,e[e.MEDIA_ANNOUNCE=1048576]=`MEDIA_ANNOUNCE`,e[e.MEDIA_ENQUEUE=2097152]=`MEDIA_ENQUEUE`})(zre||={});var Bre;(function(e){e.None=`None`,e.apparent_power=`apparent_power`,e.aqi=`aqi`,e.atmospheric_pressure=`atmospheric_pressure`,e.battery=`battery`,e.carbon_dioxide=`carbon_dioxide`,e.carbon_monoxide=`carbon_monoxide`,e.current=`current`,e.data_rate=`data_rate`,e.data_size=`data_size`,e.date=`date`,e.distance=`distance`,e.duration=`duration`,e.energy=`energy`,e.energy_storage=`energy_storage`,e.enum=`enum`,e.frequency=`frequency`,e.gas=`gas`,e.humidity=`humidity`,e.illuminance=`illuminance`,e.irradiance=`irradiance`,e.moisture=`moisture`,e.monetary=`monetary`,e.nitrogen_dioxide=`nitrogen_dioxide`,e.nitrogen_monoxide=`nitrogen_monoxide`,e.nitrous_oxide=`nitrous_oxide`,e.ozone=`ozone`,e.ph=`ph`,e.pm1=`pm1`,e.pm25=`pm25`,e.pm10=`pm10`,e.power_factor=`power_factor`,e.power=`power`,e.precipitation=`precipitation`,e.precipitation_intensity=`precipitation_intensity`,e.pressure=`pressure`,e.radon=`radon`,e.reactive_power=`reactive_power`,e.signal_strength=`signal_strength`,e.sound_pressure=`sound_pressure`,e.speed=`speed`,e.sulphur_dioxide=`sulphur_dioxide`,e.temperature=`temperature`,e.timestamp=`timestamp`,e.volatile_organic_compounds=`volatile_organic_compounds`,e.volatile_organic_compounds_parts=`volatile_organic_compounds_parts`,e.voltage=`voltage`,e.volume=`volume`,e.volume_flow_rate=`volume_flow_rate`,e.volume_storage=`volume_storage`,e.water=`water`,e.weight=`weight`,e.wind_speed=`wind_speed`})(Bre||={});var Vre;(function(e){e.cleaning=`cleaning`,e.docked=`docked`,e.returning=`returning`,e.error=`error`,e.idle=`idle`,e.paused=`paused`,e.segment_cleaning=`segment_cleaning`,e.zone_cleaning=`zone_cleaning`,e.spot_cleaning=`spot_cleaning`,e.mop_cleaning=`mop_cleaning`})(Vre||={});var Hre;(function(e){e[e.TURN_ON=1]=`TURN_ON`,e[e.TURN_OFF=2]=`TURN_OFF`,e[e.PAUSE=4]=`PAUSE`,e[e.STOP=8]=`STOP`,e[e.RETURN_HOME=16]=`RETURN_HOME`,e[e.FAN_SPEED=32]=`FAN_SPEED`,e[e.BATTERY=64]=`BATTERY`,e[e.STATUS=128]=`STATUS`,e[e.SEND_COMMAND=256]=`SEND_COMMAND`,e[e.LOCATE=512]=`LOCATE`,e[e.CLEAN_SPOT=1024]=`CLEAN_SPOT`,e[e.MAP=2048]=`MAP`,e[e.STATE=4096]=`STATE`,e[e.START=8192]=`START`,e[e.CLEAN_AREA=16384]=`CLEAN_AREA`})(Hre||={});var Ure;(function(e){e.off=`off`,e.low=`low`,e.medium=`medium`,e.high=`high`,e.turbo=`turbo`,e.auto=`auto`,e.max=`max`})(Ure||={});var Wre;(function(e){e.off=`off`,e.eco=`eco`,e.electric=`electric`,e.gas=`gas`,e.heat_pump=`heat_pump`,e.high_demand=`high_demand`,e.performance=`performance`})(Wre||={});var Gre;(function(e){e[e.TARGET_TEMPERATURE=1]=`TARGET_TEMPERATURE`,e[e.OPERATION_MODE=2]=`OPERATION_MODE`,e[e.AWAY_MODE=4]=`AWAY_MODE`,e[e.ON_OFF=8]=`ON_OFF`})(Gre||={});var av={air_purifier:`Air Purifier`,air_quality_sensor:`Air Quality Sensor`,basic_video_player:`Basic Video Player (TV)`,battery_storage:`Battery Sensor`,carbon_monoxide_sensor:`Carbon Monoxide (CO) Sensor`,color_temperature_light:`Color Temperature Light`,contact_sensor:`Contact Sensor`,dishwasher:`Dishwasher`,dimmable_light:`Dimmable Light`,dimmable_plugin_unit:`Dimmable Plug-in Unit`,door_lock:`Door Lock`,electrical_sensor:`Electrical Sensor (Power/Energy/Voltage/Current)`,extended_color_light:`Extended Color Light`,fan:`Fan`,flow_sensor:`Flow Sensor`,formaldehyde_sensor:`Formaldehyde (HCHO) Sensor`,generic_switch:`Generic Switch (Button)`,humidifier_dehumidifier:`Humidifier/Dehumidifier`,humidity_sensor:`Humidity Sensor`,light_sensor:`Light Sensor`,mode_select:`Mode Select`,motion_sensor:`Motion Sensor (PIR)`,nitrogen_dioxide_sensor:`Nitrogen Dioxide (NO₂) Sensor`,occupancy_sensor:`Occupancy Sensor`,on_off_light:`On/Off Light`,on_off_plugin_unit:`On/Off Plug-in Unit`,on_off_switch:`On/Off Switch`,ozone_sensor:`Ozone (O₃) Sensor`,pm1_sensor:`PM1 Sensor`,pressure_sensor:`Pressure Sensor`,pump:`Pump`,rain_sensor:`Rain Sensor`,radon_sensor:`Radon Sensor`,robot_vacuum_cleaner:`Robot Vacuum Cleaner`,smoke_co_alarm:`Smoke/CO Alarm`,speaker:`Speaker`,temperature_sensor:`Temperature Sensor`,thermostat:`Thermostat`,tvoc_sensor:`TVOC / VOC Index Sensor`,water_heater:`Water Heater`,water_freeze_detector:`Water Freeze Detector`,water_leak_detector:`Water Leak Detector`,water_valve:`Water Valve`,window_covering:`Window Covering`},ov={Auto:0,Quick:1,Quiet:2,LowNoise:3,LowEnergy:4,Vacation:5,Min:6,Max:7,Night:8,Day:9,DeepClean:16384,Vacuum:16385,Mop:16386,VacuumThenMop:16387},Kre={alarm_control_panel:[`mode_select`,`on_off_plugin_unit`],automation:[`on_off_switch`],binary_sensor:[`contact_sensor`,`motion_sensor`,`occupancy_sensor`,`rain_sensor`,`smoke_co_alarm`,`water_freeze_detector`,`water_leak_detector`],button:[`generic_switch`],climate:[`thermostat`],cover:[`window_covering`],event:[`generic_switch`],fan:[`air_purifier`,`fan`],humidifier:[`humidifier_dehumidifier`],input_boolean:[`on_off_plugin_unit`,`on_off_switch`],input_select:[`mode_select`],input_button:[`generic_switch`],light:[`color_temperature_light`,`dimmable_light`,`extended_color_light`,`on_off_light`],lock:[`door_lock`],media_player:[`basic_video_player`,`on_off_switch`,`speaker`],scene:[`on_off_switch`],script:[`on_off_switch`],sensor:[`air_quality_sensor`,`battery_storage`,`carbon_monoxide_sensor`,`electrical_sensor`,`formaldehyde_sensor`,`humidity_sensor`,`light_sensor`,`nitrogen_dioxide_sensor`,`ozone_sensor`,`pm1_sensor`,`pressure_sensor`,`radon_sensor`,`temperature_sensor`,`tvoc_sensor`],select:[`mode_select`],siren:[`on_off_plugin_unit`],switch:[`dishwasher`,`on_off_plugin_unit`,`on_off_switch`,`pump`,`water_valve`],vacuum:[`robot_vacuum_cleaner`],valve:[`water_valve`,`on_off_plugin_unit`],water_heater:[`water_heater`,`thermostat`]},qre;(function(e){e.alarm_control_panel=`alarm_control_panel`,e.automation=`automation`,e.button=`button`,e.binary_sensor=`binary_sensor`,e.climate=`climate`,e.cover=`cover`,e.event=`event`,e.fan=`fan`,e.humidifier=`humidifier`,e.input_boolean=`input_boolean`,e.input_button=`input_button`,e.input_select=`input_select`,e.light=`light`,e.lock=`lock`,e.media_player=`media_player`,e.remote=`remote`,e.scene=`scene`,e.select=`select`,e.script=`script`,e.sensor=`sensor`,e.siren=`siren`,e.switch=`switch`,e.vacuum=`vacuum`,e.valve=`valve`,e.water_heater=`water_heater`})(qre||={});var sv={type:`object`,default:{type:``,value:``},properties:{type:{title:`Type`,type:`string`,oneOf:[{const:`pattern`,title:`pattern`,description:`Wildcard pattern matching entity IDs. Use * as wildcard. Example: 'light.living_room_*' matches all lights in the living room.`},{const:`regex`,title:`regex`,description:`Regex tested against the entity_id only (e.g. 'light.kitchen_lamp'). For labels use entity_label_regex or device_label_regex. Example: '^(light|switch)\\.kitchen_.*'.`},{const:`domain`,title:`domain`,description:`Match entities by their domain (the part before the dot). Example: 'light', 'switch', 'sensor'.`},{const:`platform`,title:`platform`,description:`Match entities by their integration/platform. Example: 'hue', 'zwave', 'mqtt'.`},{const:`label`,title:`label (deprecated)`,description:`Deprecated: use entity_label or device_label instead. Behaves like entity_label.`},{const:`entity_label`,title:`entity_label`,description:`Matches only entities that have this label assigned directly. Other entities of the same device are NOT included.`},{const:`device_label`,title:`device_label`,description:`Matches ALL entities of a device if the device has this label. Use this to include a complete device with all its entities.`},{const:`entity_label_regex`,title:`entity_label_regex`,description:`Regex tested against entity-label slugs and display names. Matches if any label assigned to the entity matches. Example: '^(matter|voice).*'.`},{const:`device_label_regex`,title:`device_label_regex`,description:`Regex tested against device-label slugs and display names. Matches ALL entities of a device whose label matches. Example: '^(matter|voice).*'.`},{const:`any_field_regex`,title:`any_field_regex`,description:`Regex tested against a single-line key=value haystack covering entity_id, domain, platform, area, entity_category, device_class, entity_labels, entity_label_names, device_labels, device_label_names, device_name, product_name. Use lookaheads for AND, alternation for OR. Example: '(?=.*domain=light)(?=.*area=living_room)|(?=.*domain=switch)(?=.*entity_labels=.*\\bvoice\\b)'.`},{const:`area`,title:`area`,description:`Match entities by their area slug. Example: 'living_room', 'bedroom'.`},{const:`entity_category`,title:`entity_category`,description:`Match entities by their category. Example: 'config', 'diagnostic' to exclude configuration entities.`},{const:`device_name`,title:`device_name`,description:`Match entities by their device name. Supports wildcards. Example: '*Philips*' matches all Philips devices.`},{const:`product_name`,title:`product_name`,description:`Match entities by their product/model name. Supports wildcards. Example: 'Hue*Bulb'.`},{const:`device_class`,title:`device_class`,description:`Match entities by their device class attribute. Example: 'temperature', 'motion', 'door', 'window'.`}]},value:{title:`Value`,description:`For labels, use the display name or the label_id (slug). You can look up both on the Labels page in the sidebar.`,type:`string`,minLength:1}},required:[`type`,`value`],additionalProperties:!1},cv={type:`object`,title:`Bridge Config`,properties:{name:{title:`Name`,type:`string`,minLength:1,maxLength:32},port:{title:`Port`,type:`number`,minimum:1},icon:{title:`Icon`,type:`string`,description:`Icon to display for this bridge in the UI`,enum:[`light`,`switch`,`climate`,`cover`,`fan`,`lock`,`sensor`,`media_player`,`vacuum`,`remote`,`humidifier`,`speaker`,`garage`,`door`,`window`,`motion`,`battery`,`power`,`camera`,`default`]},countryCode:{title:`Country Code`,type:`string`,description:`An ISO 3166-1 alpha-2 code to represent the country in which the Node is located. Only needed if the commissioning fails due to missing country code.`,minLength:2,maxLength:3},priority:{title:`Startup Priority`,type:`number`,description:`Startup order priority. Lower values start first. Default is 100.`,default:100,minimum:1,maximum:999},serialNumberSuffix:{title:`Serial Number Suffix`,type:`string`,description:`Append a suffix to every entity serial number on this bridge. Useful for forcing controllers like Aqara to treat devices as new and bypass cached device data. Leave empty for default behavior.`,maxLength:16},sessionMaxAgeHours:{title:`Session Rotation Max Age (hours)`,type:`number`,description:`Server Mode only. Rotate matter sessions older than this many hours so iPhone clients re-subscribe and Apple Home unsticks 'Updating' tiles. Set 0 to disable rotation. Range 0-168, default 4. (#287)`,default:4,minimum:0,maximum:168},filter:{title:`Include or exclude entities`,type:`object`,properties:{include:{title:`Include`,type:`array`,items:sv},exclude:{title:`Exclude`,type:`array`,items:sv},includeMode:{title:`Include Mode`,type:`string`,description:`How to combine include rules: 'any' matches if ANY rule matches (OR), 'all' matches only if ALL rules match (AND). Default: 'any'`,enum:[`any`,`all`],default:`any`}},required:[`include`,`exclude`],additionalProperties:!1},featureFlags:{title:`Feature Flags`,type:`object`,properties:{coverDoNotInvertPercentage:{title:`Do not invert Percentages for Covers`,description:`Do not invert the percentage of covers to match Home Assistant (not Matter compliant)`,type:`boolean`,default:!1},coverUseHomeAssistantPercentage:{title:`Use Home Assistant Percentage for Covers (Alexa-friendly)`,description:`Display cover percentages matching Home Assistant values in Matter controllers like Alexa. This makes the displayed percentage match what you see in Home Assistant, but the semantic meaning differs: in HA, higher percentage = more open; in Alexa, higher percentage is typically interpreted as more closed. Open/Close commands will still work correctly.`,type:`boolean`,default:!1},coverSwapOpenClose:{title:`Swap Open/Close for Covers`,description:`Swap open/close commands and invert position reporting for covers. Enable this if Alexa voice commands are reversed (saying 'close' opens the blinds and vice versa).`,type:`boolean`,default:!1},includeHiddenEntities:{title:`Include Hidden Entities`,description:`Include entities that are marked as hidden in Home Assistant`,type:`boolean`,default:!1},serverMode:{title:`Server Mode (for Robot Vacuums)`,description:`Expose the device as a standalone Matter device instead of a bridged device. This is required for Apple Home to properly support Siri voice commands for Robot Vacuums. IMPORTANT: Only ONE device should be in this bridge when server mode is enabled.`,type:`boolean`,default:!1},autoBatteryMapping:{title:`Auto Battery Mapping`,description:`Automatically assign battery sensors from the same Home Assistant device to the main entity. When enabled, battery sensors will be merged into their parent devices instead of appearing as separate devices.`,type:`boolean`,default:!1},autoHumidityMapping:{title:`Auto Humidity Mapping`,description:`Automatically combine humidity sensors with temperature sensors from the same Home Assistant device. When enabled, humidity sensors will be merged into temperature sensors to create combined TemperatureHumiditySensor devices.`,type:`boolean`,default:!0},autoPressureMapping:{title:`Auto Pressure Mapping`,description:`Automatically combine pressure sensors with temperature sensors from the same Home Assistant device. When enabled, pressure sensors will be merged into temperature sensors to create combined sensor devices.`,type:`boolean`,default:!0},autoComposedDevices:{title:`Auto Composed Devices`,description:`Master toggle: combine related entities from the same Home Assistant device into a single Matter endpoint. Turns on battery, humidity, pressure, power, and energy auto-mapping at once, a Shelly Plug shows up as one device with power monitoring instead of several siblings.`,type:`boolean`,default:!1},autoForceSync:{title:`Auto Force Sync`,description:`Periodically compare and push all device states to connected controllers every 90 seconds. Enable this if devices get out of sync after extended periods. Health checks for dead sessions always run regardless of this setting.`,type:`boolean`,default:!1},productNameFromNodeLabel:{title:`Product Name from Node Label`,description:`Report the entity's node label (custom name / friendly name / entity id) as the Matter productName. Useful for controllers like Aqara that display productName as the device name instead of nodeLabel. A per-entity customProductName still takes precedence.`,type:`boolean`,default:!1},preferEntityRegistryName:{title:`Prefer Entity Registry Name (HA 2026.4 workaround)`,description:`Use the entity registry name (or original_name) as nodeLabel instead of the composed friendly_name. Since Home Assistant 2026.4, friendly_name is prefixed with the device name, which breaks voice commands that relied on the short entity name. Resolution order: customName → registry name → registry original_name → friendly_name → entity_id. Matter has no alias concept, this only changes which single name is reported.`,type:`boolean`,default:!1},vacuumOnOff:{title:`Vacuum: Include OnOff Cluster (Alexa)`,description:`Add an OnOff cluster to robot vacuum endpoints. Alexa REQUIRES this (PowerController) to show robotic vacuums in the app. Without it, Alexa commissions the device but never displays it. In Server Mode this is enabled automatically, only check this for bridge mode. WARNING: OnOff is NOT part of the Matter RVC device type specification. Enabling this may break Apple Home (shows 'Updating') and Google Home.`,type:`boolean`},alexaPreserveBrightnessOnTurnOn:{title:`Alexa: Preserve Brightness on Turn-On`,description:`Workaround for Alexa resetting light brightness to 100% after subscription renewal. When enabled, the bridge ignores brightness commands that set lights to 100% within 200ms of a turn-on command for the same light. WARNING: breaks Apple Home's 'set room to 100%' Siri commands, which use the same on() + moveToLevel(254) pattern. Only enable on Alexa-only bridges.`,type:`boolean`,default:!1},useHaRegistrySerial:{title:`Use HA Registry Serial Number`,description:`Fall back to the Home Assistant device registry serial_number when no per-entity customSerialNumber is configured. Default off because changing serialNumber after commissioning can confuse controllers. A per-entity customSerialNumber still takes precedence.`,type:`boolean`,default:!1},coverSliderDebounceMs:{title:`Cover Slider Debounce (ms)`,description:`Override the cover position-update debounce window for this bridge. Some controllers (Apple Home) stream slider updates while the user is still dragging, causing covers to start moving toward an intermediate target. Set to the time the bridge should wait after the last update before sending the final value to Home Assistant. 0 keeps the built-in two-phase debounce (400 ms initial / 150 ms subsequent), which fits most controllers. Try 800–1500 ms for slow blinds. A per-entity override on a single cover wins over this flag.`,type:`number`,minimum:0,maximum:5e3,default:0}}}},required:[`name`,`port`,`filter`],additionalProperties:!1};({...cv}),{...cv.properties},[...cv?.required??[]];var lv=X((0,G.jsx)(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z`}),`ArrowBack`),uv=X((0,G.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z`}),`CheckCircle`),dv=X((0,G.jsx)(`path`,{d:`M9.19 6.35c-2.04 2.29-3.44 5.58-3.57 5.89L2 10.69l4.05-4.05c.47-.47 1.15-.68 1.81-.55zM11.17 17s3.74-1.55 5.89-3.7c5.4-5.4 4.5-9.62 4.21-10.57-.95-.3-5.17-1.19-10.57 4.21C8.55 9.09 7 12.83 7 12.83zm6.48-2.19c-2.29 2.04-5.58 3.44-5.89 3.57L13.31 22l4.05-4.05c.47-.47.68-1.15.55-1.81zM9 18c0 .83-.34 1.58-.88 2.12C6.94 21.3 2 22 2 22s.7-4.94 1.88-6.12C4.42 15.34 5.17 15 6 15c1.66 0 3 1.34 3 3m4-9c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2`}),`RocketLaunch`),Jre=Ld(`MuiBox`,[`root`]),Z=Pd({themeId:wm,defaultTheme:Sm(),defaultClassName:Jre.root,generateClassName:Md.generate});function Yre(e){return Id(`MuiButton`,e)}var fv=Ld(`MuiButton`,`root.text.textInherit.textPrimary.textSecondary.textSuccess.textError.textInfo.textWarning.outlined.outlinedInherit.outlinedPrimary.outlinedSecondary.outlinedSuccess.outlinedError.outlinedInfo.outlinedWarning.contained.containedInherit.containedPrimary.containedSecondary.containedSuccess.containedError.containedInfo.containedWarning.disableElevation.focusVisible.disabled.colorInherit.colorPrimary.colorSecondary.colorSuccess.colorError.colorInfo.colorWarning.textSizeSmall.textSizeMedium.textSizeLarge.outlinedSizeSmall.outlinedSizeMedium.outlinedSizeLarge.containedSizeSmall.containedSizeMedium.containedSizeLarge.sizeMedium.sizeSmall.sizeLarge.fullWidth.startIcon.endIcon.icon.iconSizeSmall.iconSizeMedium.iconSizeLarge.loading.loadingWrapper.loadingIconPlaceholder.loadingIndicator.loadingPositionCenter.loadingPositionStart.loadingPositionEnd`.split(`.`)),Xre=C.createContext({}),Zre=C.createContext(void 0),Qre=e=>{let{color:t,disableElevation:n,fullWidth:r,size:i,variant:a,loading:o,loadingPosition:s,classes:c}=e,l=dp({root:[`root`,o&&`loading`,a,`${a}${Y(t)}`,`size${Y(i)}`,`${a}Size${Y(i)}`,`color${Y(t)}`,n&&`disableElevation`,r&&`fullWidth`,o&&`loadingPosition${Y(s)}`],startIcon:[`icon`,`startIcon`,`iconSize${Y(i)}`],endIcon:[`icon`,`endIcon`,`iconSize${Y(i)}`],loadingIndicator:[`loadingIndicator`],loadingWrapper:[`loadingWrapper`]},Yre,c);return{...c,...l}},pv=[{props:{size:`small`},style:{"& > *:nth-of-type(1)":{fontSize:18}}},{props:{size:`medium`},style:{"& > *:nth-of-type(1)":{fontSize:20}}},{props:{size:`large`},style:{"& > *:nth-of-type(1)":{fontSize:22}}}],$re=J(Fh,{shouldForwardProp:e=>Om(e)||e===`classes`,name:`MuiButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${Y(n.color)}`],t[`size${Y(n.size)}`],t[`${n.variant}Size${Y(n.size)}`],n.color===`inherit`&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth,n.loading&&t.loading]}})(Im(({theme:e})=>{let t=e.palette.mode===`light`?e.palette.grey[300]:e.palette.grey[800],n=e.palette.mode===`light`?e.palette.grey.A100:e.palette.grey[700];return{...e.typography.button,minWidth:64,padding:`6px 16px`,border:0,borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`,`color`],{duration:e.transitions.duration.short}),"&:hover":{textDecoration:`none`},[`&.${fv.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{variant:`contained`},style:{color:`var(--variant-containedColor)`,backgroundColor:`var(--variant-containedBg)`,boxShadow:(e.vars||e).shadows[2],"&:hover":{boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2]}},"&:active":{boxShadow:(e.vars||e).shadows[8]},[`&.${fv.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},[`&.${fv.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}},{props:{variant:`outlined`},style:{padding:`5px 15px`,border:`1px solid currentColor`,borderColor:`var(--variant-outlinedBorder, currentColor)`,backgroundColor:`var(--variant-outlinedBg)`,color:`var(--variant-outlinedColor)`,[`&.${fv.disabled}`]:{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`}}},{props:{variant:`text`},style:{padding:`6px 8px`,color:`var(--variant-textColor)`,backgroundColor:`var(--variant-textBg)`}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{"--variant-textColor":(e.vars||e).palette[t].main,"--variant-outlinedColor":(e.vars||e).palette[t].main,"--variant-outlinedBorder":e.alpha((e.vars||e).palette[t].main,.5),"--variant-containedColor":(e.vars||e).palette[t].contrastText,"--variant-containedBg":(e.vars||e).palette[t].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(e.vars||e).palette[t].dark,"--variant-textBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"--variant-outlinedBorder":(e.vars||e).palette[t].main,"--variant-outlinedBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}}})),{props:{color:`inherit`},style:{color:`inherit`,borderColor:`currentColor`,"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedBg:t,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedHoverBg:n,"--variant-textBg":e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity),"--variant-outlinedBg":e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity)}}}},{props:{size:`small`,variant:`text`},style:{padding:`4px 5px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`text`},style:{padding:`8px 11px`,fontSize:e.typography.pxToRem(15)}},{props:{size:`small`,variant:`outlined`},style:{padding:`3px 9px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`outlined`},style:{padding:`7px 21px`,fontSize:e.typography.pxToRem(15)}},{props:{size:`small`,variant:`contained`},style:{padding:`4px 10px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`contained`},style:{padding:`8px 22px`,fontSize:e.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:`none`,"&:hover":{boxShadow:`none`},[`&.${fv.focusVisible}`]:{boxShadow:`none`},"&:active":{boxShadow:`none`},[`&.${fv.disabled}`]:{boxShadow:`none`}}},{props:{fullWidth:!0},style:{width:`100%`}},{props:{loadingPosition:`center`},style:{transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`],{duration:e.transitions.duration.short}),[`&.${fv.loading}`]:{color:`transparent`}}}]}})),eie=J(`span`,{name:`MuiButton`,slot:`StartIcon`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.startIcon,n.loading&&t.startIconLoadingStart,t[`iconSize${Y(n.size)}`]]}})(({theme:e})=>({display:`inherit`,marginRight:8,marginLeft:-4,variants:[{props:{size:`small`},style:{marginLeft:-2}},{props:{loadingPosition:`start`,loading:!0},style:{transition:e.transitions.create([`opacity`],{duration:e.transitions.duration.short}),opacity:0}},{props:{loadingPosition:`start`,loading:!0,fullWidth:!0},style:{marginRight:-8}},...pv]})),tie=J(`span`,{name:`MuiButton`,slot:`EndIcon`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.endIcon,n.loading&&t.endIconLoadingEnd,t[`iconSize${Y(n.size)}`]]}})(({theme:e})=>({display:`inherit`,marginRight:-4,marginLeft:8,variants:[{props:{size:`small`},style:{marginRight:-2}},{props:{loadingPosition:`end`,loading:!0},style:{transition:e.transitions.create([`opacity`],{duration:e.transitions.duration.short}),opacity:0}},{props:{loadingPosition:`end`,loading:!0,fullWidth:!0},style:{marginLeft:-8}},...pv]})),nie=J(`span`,{name:`MuiButton`,slot:`LoadingIndicator`})(({theme:e})=>({display:`none`,position:`absolute`,visibility:`visible`,variants:[{props:{loading:!0},style:{display:`flex`}},{props:{loadingPosition:`start`},style:{left:14}},{props:{loadingPosition:`start`,size:`small`},style:{left:10}},{props:{variant:`text`,loadingPosition:`start`},style:{left:6}},{props:{loadingPosition:`center`},style:{left:`50%`,transform:`translate(-50%)`,color:(e.vars||e).palette.action.disabled}},{props:{loadingPosition:`end`},style:{right:14}},{props:{loadingPosition:`end`,size:`small`},style:{right:10}},{props:{variant:`text`,loadingPosition:`end`},style:{right:6}},{props:{loadingPosition:`start`,fullWidth:!0},style:{position:`relative`,left:-10}},{props:{loadingPosition:`end`,fullWidth:!0},style:{position:`relative`,right:-10}}]})),mv=J(`span`,{name:`MuiButton`,slot:`LoadingIconPlaceholder`})({display:`inline-block`,width:`1em`,height:`1em`}),hv=C.forwardRef(function(e,t){let n=C.useContext(Xre),r=C.useContext(Zre),i=Am({props:Zd(n,e),name:`MuiButton`}),{children:a,color:o=`primary`,component:s=`button`,className:c,disabled:l=!1,disableElevation:u=!1,disableFocusRipple:d=!1,endIcon:f,focusVisibleClassName:p,fullWidth:m=!1,id:h,loading:g=null,loadingIndicator:_,loadingPosition:v=`center`,size:y=`medium`,startIcon:b,type:x,variant:S=`text`,...w}=i,T=ah(h),E=_??(0,G.jsx)(Bh,{"aria-labelledby":T,color:`inherit`,size:16}),D={...i,color:o,component:s,disabled:l,disableElevation:u,disableFocusRipple:d,fullWidth:m,loading:g,loadingIndicator:E,loadingPosition:v,size:y,type:x,variant:S},O=Qre(D),k=(b||g&&v===`start`)&&(0,G.jsx)(eie,{className:O.startIcon,ownerState:D,children:b||(0,G.jsx)(mv,{className:O.loadingIconPlaceholder,ownerState:D})}),A=(f||g&&v===`end`)&&(0,G.jsx)(tie,{className:O.endIcon,ownerState:D,children:f||(0,G.jsx)(mv,{className:O.loadingIconPlaceholder,ownerState:D})}),j=r||``,M=typeof g==`boolean`?(0,G.jsx)(`span`,{className:O.loadingWrapper,style:{display:`contents`},children:g&&(0,G.jsx)(nie,{className:O.loadingIndicator,ownerState:D,children:E})}):null;return(0,G.jsxs)($re,{ownerState:D,className:K(n.className,O.root,c,j),component:s,disabled:l||g,focusRipple:!d,focusVisibleClassName:K(O.focusVisible,p),ref:t,type:x,id:g?T:h,...w,classes:O,children:[k,v!==`end`&&M,a,v===`end`&&M,A]})});function rie(e){return Id(`MuiCard`,e)}Ld(`MuiCard`,[`root`]);var iie=e=>{let{classes:t}=e;return dp({root:[`root`]},rie,t)},aie=J(Km,{name:`MuiCard`,slot:`Root`})({overflow:`hidden`}),gv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCard`}),{className:r,raised:i=!1,...a}=n,o={...n,raised:i};return(0,G.jsx)(aie,{className:K(iie(o).root,r),elevation:i?8:void 0,ref:t,ownerState:o,...a})});function oie(e){return Id(`MuiCardActionArea`,e)}var _v=Ld(`MuiCardActionArea`,[`root`,`focusVisible`,`focusHighlight`]),sie=e=>{let{classes:t}=e;return dp({root:[`root`],focusHighlight:[`focusHighlight`]},oie,t)},cie=J(Fh,{name:`MuiCardActionArea`,slot:`Root`})(Im(({theme:e})=>({display:`block`,textAlign:`inherit`,borderRadius:`inherit`,width:`100%`,[`&:hover .${_v.focusHighlight}`]:{opacity:(e.vars||e).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${_v.focusVisible} .${_v.focusHighlight}`]:{opacity:(e.vars||e).palette.action.focusOpacity}}))),lie=J(`span`,{name:`MuiCardActionArea`,slot:`FocusHighlight`})(Im(({theme:e})=>({overflow:`hidden`,pointerEvents:`none`,position:`absolute`,top:0,right:0,bottom:0,left:0,borderRadius:`inherit`,opacity:0,backgroundColor:`currentcolor`,transition:e.transitions.create(`opacity`,{duration:e.transitions.duration.short})}))),vv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCardActionArea`}),{children:r,className:i,focusVisibleClassName:a,slots:o={},slotProps:s={},...c}=n,l=n,u=sie(l),d={slots:o,slotProps:s},[f,p]=Wm(`root`,{elementType:cie,externalForwardedProps:{...d,...c},shouldForwardComponentProp:!0,ownerState:l,ref:t,className:K(u.root,i),additionalProps:{focusVisibleClassName:K(a,u.focusVisible)}}),[m,h]=Wm(`focusHighlight`,{elementType:lie,externalForwardedProps:d,ownerState:l,className:u.focusHighlight});return(0,G.jsxs)(f,{...p,children:[r,(0,G.jsx)(m,{...h})]})});function uie(e){return Id(`MuiCardContent`,e)}Ld(`MuiCardContent`,[`root`]);var die=e=>{let{classes:t}=e;return dp({root:[`root`]},uie,t)},fie=J(`div`,{name:`MuiCardContent`,slot:`Root`})({padding:16,"&:last-child":{paddingBottom:24}}),yv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCardContent`}),{className:r,component:i=`div`,...a}=n,o={...n,component:i};return(0,G.jsx)(fie,{as:i,className:K(die(o).root,r),ownerState:o,ref:t,...a})}),bv=C.createContext(void 0);function xv(){return C.useContext(bv)}function pie(e){return Id(`PrivateSwitchBase`,e)}Ld(`PrivateSwitchBase`,[`root`,`checked`,`disabled`,`input`,`edgeStart`,`edgeEnd`]);var mie=e=>{let{classes:t,checked:n,disabled:r,edge:i}=e;return dp({root:[`root`,n&&`checked`,r&&`disabled`,i&&`edge${Y(i)}`],input:[`input`]},pie,t)},hie=J(Fh,{name:`MuiSwitchBase`})({padding:9,borderRadius:`50%`,variants:[{props:{edge:`start`,size:`small`},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e===`start`&&t.size!==`small`,style:{marginLeft:-12}},{props:{edge:`end`,size:`small`},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e===`end`&&t.size!==`small`,style:{marginRight:-12}}]}),gie=J(`input`,{name:`MuiSwitchBase`,shouldForwardProp:Om})({cursor:`inherit`,position:`absolute`,opacity:0,width:`100%`,height:`100%`,top:0,left:0,margin:0,padding:0,zIndex:1}),Sv=C.forwardRef(function(e,t){let{autoFocus:n,checked:r,checkedIcon:i,defaultChecked:a,disabled:o,disableFocusRipple:s=!1,edge:c=!1,icon:l,id:u,inputProps:d,inputRef:f,name:p,onBlur:m,onChange:h,onFocus:g,readOnly:_,required:v=!1,tabIndex:y,type:b,value:x,slots:S={},slotProps:C={},...w}=e,[T,E]=sh({controlled:r,default:!!a,name:`SwitchBase`,state:`checked`}),D=xv(),O=e=>{g&&g(e),D&&D.onFocus&&D.onFocus(e)},k=e=>{m&&m(e),D&&D.onBlur&&D.onBlur(e)},A=e=>{if(e.nativeEvent.defaultPrevented||_)return;let t=e.target.checked;E(t),h&&h(e,t)},j=o;D&&j===void 0&&(j=D.disabled);let M=b===`checkbox`||b===`radio`,N={...e,checked:T,disabled:j,disableFocusRipple:s,edge:c},P=mie(N),F={slots:S,slotProps:{input:d,...C}},[I,L]=Wm(`root`,{ref:t,elementType:hie,className:P.root,shouldForwardComponentProp:!0,externalForwardedProps:{...F,component:`span`,...w},getSlotProps:e=>({...e,onFocus:t=>{e.onFocus?.(t),O(t)},onBlur:t=>{e.onBlur?.(t),k(t)}}),ownerState:N,additionalProps:{centerRipple:!0,focusRipple:!s,role:void 0,tabIndex:null}}),[R,ee]=Wm(`input`,{ref:f,elementType:gie,className:P.input,externalForwardedProps:F,getSlotProps:e=>({...e,onChange:t=>{e.onChange?.(t),A(t)}}),ownerState:N,additionalProps:{autoFocus:n,checked:r,defaultChecked:a,disabled:j,id:M?u:void 0,name:p,readOnly:_,required:v,tabIndex:y,type:b,...b===`checkbox`&&x===void 0?{}:{value:x}}});return(0,G.jsxs)(I,{...L,children:[(0,G.jsx)(R,{...ee}),T?i:l]})}),_ie=X((0,G.jsx)(`path`,{d:`M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z`}),`CheckBoxOutlineBlank`),vie=X((0,G.jsx)(`path`,{d:`M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`}),`CheckBox`),yie=X((0,G.jsx)(`path`,{d:`M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z`}),`IndeterminateCheckBox`);function bie(e){return Id(`MuiCheckbox`,e)}var Cv=Ld(`MuiCheckbox`,[`root`,`checked`,`disabled`,`indeterminate`,`colorPrimary`,`colorSecondary`,`sizeSmall`,`sizeMedium`]),xie=e=>{let{classes:t,indeterminate:n,color:r,size:i}=e,a=dp({root:[`root`,n&&`indeterminate`,`color${Y(r)}`,`size${Y(i)}`]},bie,t);return{...t,...a}},Sie=J(Sv,{shouldForwardProp:e=>Om(e)||e===`classes`,name:`MuiCheckbox`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${Y(n.size)}`],n.color!==`default`&&t[`color${Y(n.color)}`]]}})(Im(({theme:e})=>({color:(e.vars||e).palette.text.secondary,variants:[{props:{color:`default`,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{[`&.${Cv.checked}, &.${Cv.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${Cv.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:`transparent`}}}}]}))),Cie=(0,G.jsx)(vie,{}),wie=(0,G.jsx)(_ie,{}),Tie=(0,G.jsx)(yie,{}),wv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiCheckbox`}),{checkedIcon:r=Cie,color:i=`primary`,icon:a=wie,indeterminate:o=!1,indeterminateIcon:s=Tie,inputProps:c,size:l=`medium`,disableRipple:u=!1,className:d,slots:f={},slotProps:p={},...m}=n,h=o?s:a,g=o?s:r,_={...n,disableRipple:u,color:i,indeterminate:o,size:l},v=xie(_),y=p.input??c,[b,x]=Wm(`root`,{ref:t,elementType:Sie,className:K(v.root,d),shouldForwardComponentProp:!0,externalForwardedProps:{slots:f,slotProps:p,...m},ownerState:_,additionalProps:{type:`checkbox`,icon:C.cloneElement(h,{fontSize:h.props.fontSize??l}),checkedIcon:C.cloneElement(g,{fontSize:g.props.fontSize??l}),disableRipple:u,slots:f,slotProps:{input:dh(typeof y==`function`?y(_):y,{"data-indeterminate":o})}}});return(0,G.jsx)(b,{...x,classes:v})}),Eie=X((0,G.jsx)(`path`,{d:`M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z`}),`Cancel`);function Die(e){return Id(`MuiChip`,e)}var Tv=Ld(`MuiChip`,`root.sizeSmall.sizeMedium.colorDefault.colorError.colorInfo.colorPrimary.colorSecondary.colorSuccess.colorWarning.disabled.clickable.clickableColorPrimary.clickableColorSecondary.deletable.deletableColorPrimary.deletableColorSecondary.outlined.filled.outlinedPrimary.outlinedSecondary.filledPrimary.filledSecondary.avatar.avatarSmall.avatarMedium.avatarColorPrimary.avatarColorSecondary.icon.iconSmall.iconMedium.iconColorPrimary.iconColorSecondary.label.labelSmall.labelMedium.deleteIcon.deleteIconSmall.deleteIconMedium.deleteIconColorPrimary.deleteIconColorSecondary.deleteIconOutlinedColorPrimary.deleteIconOutlinedColorSecondary.deleteIconFilledColorPrimary.deleteIconFilledColorSecondary.focusVisible`.split(`.`)),Oie=e=>{let{classes:t,disabled:n,size:r,color:i,iconColor:a,onDelete:o,clickable:s,variant:c}=e;return dp({root:[`root`,c,n&&`disabled`,`size${Y(r)}`,`color${Y(i)}`,s&&`clickable`,s&&`clickableColor${Y(i)}`,o&&`deletable`,o&&`deletableColor${Y(i)}`,`${c}${Y(i)}`],label:[`label`,`label${Y(r)}`],avatar:[`avatar`,`avatar${Y(r)}`,`avatarColor${Y(i)}`],icon:[`icon`,`icon${Y(r)}`,`iconColor${Y(a)}`],deleteIcon:[`deleteIcon`,`deleteIcon${Y(r)}`,`deleteIconColor${Y(i)}`,`deleteIcon${Y(c)}Color${Y(i)}`]},Die,t)},kie=J(`div`,{name:`MuiChip`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e,{color:r,iconColor:i,clickable:a,onDelete:o,size:s,variant:c}=n;return[{[`& .${Tv.avatar}`]:t.avatar},{[`& .${Tv.avatar}`]:t[`avatar${Y(s)}`]},{[`& .${Tv.avatar}`]:t[`avatarColor${Y(r)}`]},{[`& .${Tv.icon}`]:t.icon},{[`& .${Tv.icon}`]:t[`icon${Y(s)}`]},{[`& .${Tv.icon}`]:t[`iconColor${Y(i)}`]},{[`& .${Tv.deleteIcon}`]:t.deleteIcon},{[`& .${Tv.deleteIcon}`]:t[`deleteIcon${Y(s)}`]},{[`& .${Tv.deleteIcon}`]:t[`deleteIconColor${Y(r)}`]},{[`& .${Tv.deleteIcon}`]:t[`deleteIcon${Y(c)}Color${Y(r)}`]},t.root,t[`size${Y(s)}`],t[`color${Y(r)}`],a&&t.clickable,a&&r!==`default`&&t[`clickableColor${Y(r)}`],o&&t.deletable,o&&r!==`default`&&t[`deletableColor${Y(r)}`],t[c],t[`${c}${Y(r)}`]]}})(Im(({theme:e})=>{let t=e.palette.mode===`light`?e.palette.grey[700]:e.palette.grey[300];return{maxWidth:`100%`,fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(13),display:`inline-flex`,alignItems:`center`,justifyContent:`center`,height:32,lineHeight:1.5,color:(e.vars||e).palette.text.primary,backgroundColor:(e.vars||e).palette.action.selected,borderRadius:32/2,whiteSpace:`nowrap`,transition:e.transitions.create([`background-color`,`box-shadow`]),cursor:`unset`,outline:0,textDecoration:`none`,border:0,padding:0,verticalAlign:`middle`,boxSizing:`border-box`,[`&.${Tv.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:`none`},[`& .${Tv.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:e.vars?e.vars.palette.Chip.defaultAvatarColor:t,fontSize:e.typography.pxToRem(12)},[`& .${Tv.avatarColorPrimary}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.dark},[`& .${Tv.avatarColorSecondary}`]:{color:(e.vars||e).palette.secondary.contrastText,backgroundColor:(e.vars||e).palette.secondary.dark},[`& .${Tv.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:e.typography.pxToRem(10)},[`& .${Tv.icon}`]:{marginLeft:5,marginRight:-6},[`& .${Tv.deleteIcon}`]:{WebkitTapHighlightColor:`transparent`,color:e.alpha((e.vars||e).palette.text.primary,.26),fontSize:22,cursor:`pointer`,margin:`0 5px 0 -6px`,"&:hover":{color:e.alpha((e.vars||e).palette.text.primary,.4)}},variants:[{props:{size:`small`},style:{height:24,[`& .${Tv.icon}`]:{fontSize:18,marginLeft:4,marginRight:-4},[`& .${Tv.deleteIcon}`]:{fontSize:16,marginRight:4,marginLeft:-4}}},...Object.entries(e.palette).filter(Gm([`contrastText`])).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main,color:(e.vars||e).palette[t].contrastText,[`& .${Tv.deleteIcon}`]:{color:e.alpha((e.vars||e).palette[t].contrastText,.7),"&:hover, &:active":{color:(e.vars||e).palette[t].contrastText}}}})),{props:e=>e.iconColor===e.color,style:{[`& .${Tv.icon}`]:{color:e.vars?e.vars.palette.Chip.defaultIconColor:t}}},{props:e=>e.iconColor===e.color&&e.color!==`default`,style:{[`& .${Tv.icon}`]:{color:`inherit`}}},{props:{onDelete:!0},style:{[`&.${Tv.focusVisible}`]:{backgroundColor:e.alpha((e.vars||e).palette.action.selected,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.focusOpacity}`)}}},...Object.entries(e.palette).filter(Gm([`dark`])).map(([t])=>({props:{color:t,onDelete:!0},style:{[`&.${Tv.focusVisible}`]:{background:(e.vars||e).palette[t].dark}}})),{props:{clickable:!0},style:{userSelect:`none`,WebkitTapHighlightColor:`transparent`,cursor:`pointer`,"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.selected,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.hoverOpacity}`)},[`&.${Tv.focusVisible}`]:{backgroundColor:e.alpha((e.vars||e).palette.action.selected,`${(e.vars||e).palette.action.selectedOpacity} + ${(e.vars||e).palette.action.focusOpacity}`)},"&:active":{boxShadow:(e.vars||e).shadows[1]}}},...Object.entries(e.palette).filter(Gm([`dark`])).map(([t])=>({props:{color:t,clickable:!0},style:{[`&:hover, &.${Tv.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t].dark}}})),{props:{variant:`outlined`},style:{backgroundColor:`transparent`,border:e.vars?`1px solid ${e.vars.palette.Chip.defaultBorder}`:`1px solid ${e.palette.mode===`light`?e.palette.grey[400]:e.palette.grey[700]}`,[`&.${Tv.clickable}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${Tv.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`& .${Tv.avatar}`]:{marginLeft:4},[`& .${Tv.avatarSmall}`]:{marginLeft:2},[`& .${Tv.icon}`]:{marginLeft:4},[`& .${Tv.iconSmall}`]:{marginLeft:2},[`& .${Tv.deleteIcon}`]:{marginRight:5},[`& .${Tv.deleteIconSmall}`]:{marginRight:3}}},...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{variant:`outlined`,color:t},style:{color:(e.vars||e).palette[t].main,border:`1px solid ${e.alpha((e.vars||e).palette[t].main,.7)}`,[`&.${Tv.clickable}:hover`]:{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)},[`&.${Tv.focusVisible}`]:{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.focusOpacity)},[`& .${Tv.deleteIcon}`]:{color:e.alpha((e.vars||e).palette[t].main,.7),"&:hover, &:active":{color:(e.vars||e).palette[t].main}}}}))]}})),Aie=J(`span`,{name:`MuiChip`,slot:`Label`,overridesResolver:(e,t)=>{let{ownerState:n}=e,{size:r}=n;return[t.label,t[`label${Y(r)}`]]}})({overflow:`hidden`,textOverflow:`ellipsis`,paddingLeft:12,paddingRight:12,whiteSpace:`nowrap`,variants:[{props:{variant:`outlined`},style:{paddingLeft:11,paddingRight:11}},{props:{size:`small`},style:{paddingLeft:8,paddingRight:8}},{props:{size:`small`,variant:`outlined`},style:{paddingLeft:7,paddingRight:7}}]});function Ev(e){return e.key===`Backspace`||e.key===`Delete`}var Dv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiChip`}),{avatar:r,className:i,clickable:a,color:o=`default`,component:s,deleteIcon:c,disabled:l=!1,icon:u,label:d,onClick:f,onDelete:p,onKeyDown:m,onKeyUp:h,size:g=`medium`,variant:_=`filled`,tabIndex:v,skipFocusWhenDisabled:y=!1,slots:b={},slotProps:x={},...S}=n,w=uh(C.useRef(null),t),T=e=>{e.stopPropagation(),p(e)},E=e=>{e.currentTarget===e.target&&Ev(e)&&e.preventDefault(),m&&m(e)},D=e=>{e.currentTarget===e.target&&p&&Ev(e)&&p(e),h&&h(e)},O=a!==!1&&f?!0:a,k=O||p?Fh:s||`div`,A={...n,component:k,disabled:l,size:g,color:o,iconColor:C.isValidElement(u)&&u.props.color||o,onDelete:!!p,clickable:O,variant:_},j=Oie(A),M=k===Fh?{component:s||`div`,focusVisibleClassName:j.focusVisible,...p&&{disableRipple:!0}}:{},N=null;p&&(N=c&&C.isValidElement(c)?C.cloneElement(c,{className:K(c.props.className,j.deleteIcon),onClick:T}):(0,G.jsx)(Eie,{className:j.deleteIcon,onClick:T}));let P=null;r&&C.isValidElement(r)&&(P=C.cloneElement(r,{className:K(j.avatar,r.props.className)}));let F=null;u&&C.isValidElement(u)&&(F=C.cloneElement(u,{className:K(j.icon,u.props.className)}));let I={slots:b,slotProps:x},[L,R]=Wm(`root`,{elementType:kie,externalForwardedProps:{...I,...S},ownerState:A,shouldForwardComponentProp:!0,ref:w,className:K(j.root,i),additionalProps:{disabled:O&&l?!0:void 0,tabIndex:y&&l?-1:v,...M},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),f?.(t)},onKeyDown:t=>{e.onKeyDown?.(t),E(t)},onKeyUp:t=>{e.onKeyUp?.(t),D(t)}})}),[ee,z]=Wm(`label`,{elementType:Aie,externalForwardedProps:I,ownerState:A,className:j.label});return(0,G.jsxs)(L,{as:k,...R,children:[P||F,(0,G.jsx)(ee,{...z,children:d}),N]})});function Ov(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function kv(e,t=!1){return e&&(Ov(e.value)&&e.value!==``||t&&Ov(e.defaultValue)&&e.defaultValue!==``)}function jie(e){return e.startAdornment}function Mie(e){return Id(`MuiFormControl`,e)}Ld(`MuiFormControl`,[`root`,`marginNone`,`marginNormal`,`marginDense`,`fullWidth`,`disabled`]);var Nie=e=>{let{classes:t,margin:n,fullWidth:r}=e;return dp({root:[`root`,n!==`none`&&`margin${Y(n)}`,r&&`fullWidth`]},Mie,t)},Pie=J(`div`,{name:`MuiFormControl`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`margin${Y(n.margin)}`],n.fullWidth&&t.fullWidth]}})({display:`inline-flex`,flexDirection:`column`,position:`relative`,minWidth:0,padding:0,margin:0,border:0,verticalAlign:`top`,variants:[{props:{margin:`normal`},style:{marginTop:16,marginBottom:8}},{props:{margin:`dense`},style:{marginTop:8,marginBottom:4}},{props:{fullWidth:!0},style:{width:`100%`}}]}),Av=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiFormControl`}),{children:r,className:i,color:a=`primary`,component:o=`div`,disabled:s=!1,error:c=!1,focused:l,fullWidth:u=!1,hiddenLabel:d=!1,margin:f=`none`,required:p=!1,size:m=`medium`,variant:h=`outlined`,...g}=n,_={...n,color:a,component:o,disabled:s,error:c,fullWidth:u,hiddenLabel:d,margin:f,required:p,size:m,variant:h},v=Nie(_),[y,b]=C.useState(()=>{let e=!1;return r&&C.Children.forEach(r,t=>{if(!Qm(t,[`Input`,`Select`]))return;let n=Qm(t,[`Select`])?t.props.input:t;n&&jie(n.props)&&(e=!0)}),e}),[x,S]=C.useState(()=>{let e=!1;return r&&C.Children.forEach(r,t=>{Qm(t,[`Input`,`Select`])&&(kv(t.props,!0)||kv(t.props.inputProps,!0))&&(e=!0)}),e}),[w,T]=C.useState(!1);s&&w&&T(!1);let E=l!==void 0&&!s?l:w;C.useRef(!1);let D=C.useCallback(()=>{S(!0)},[]),O=C.useCallback(()=>{S(!1)},[]),k=C.useMemo(()=>({adornedStart:y,setAdornedStart:b,color:a,disabled:s,error:c,filled:x,focused:E,fullWidth:u,hiddenLabel:d,size:m,onBlur:()=>{T(!1)},onFocus:()=>{T(!0)},onEmpty:O,onFilled:D,registerEffect:void 0,required:p,variant:h}),[y,a,s,c,x,E,u,d,void 0,O,D,p,m,h]);return(0,G.jsx)(bv.Provider,{value:k,children:(0,G.jsx)(Pie,{as:o,ownerState:_,className:K(v.root,i),ref:t,...g,children:r})})});function Fie(e){return Id(`MuiTypography`,e)}var jv=Ld(`MuiTypography`,[`root`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`subtitle1`,`subtitle2`,`body1`,`body2`,`inherit`,`button`,`caption`,`overline`,`alignLeft`,`alignRight`,`alignCenter`,`alignJustify`,`noWrap`,`gutterBottom`,`paragraph`]),Iie={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},Lie=Pee(),Rie=e=>{let{align:t,gutterBottom:n,noWrap:r,paragraph:i,variant:a,classes:o}=e;return dp({root:[`root`,a,e.align!==`inherit`&&`align${Y(t)}`,n&&`gutterBottom`,r&&`noWrap`,i&&`paragraph`]},Fie,o)},zie=J(`span`,{name:`MuiTypography`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.variant&&t[n.variant],n.align!==`inherit`&&t[`align${Y(n.align)}`],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})(Im(({theme:e})=>({margin:0,variants:[{props:{variant:`inherit`},style:{font:`inherit`,lineHeight:`inherit`,letterSpacing:`inherit`}},...Object.entries(e.typography).filter(([e,t])=>e!==`inherit`&&t&&typeof t==`object`).map(([e,t])=>({props:{variant:e},style:t})),...Object.entries(e.palette).filter(Gm()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),...Object.entries(e.palette?.text||{}).filter(([,e])=>typeof e==`string`).map(([t])=>({props:{color:`text${Y(t)}`},style:{color:(e.vars||e).palette.text[t]}})),{props:({ownerState:e})=>e.align!==`inherit`,style:{textAlign:`var(--Typography-textAlign)`}},{props:({ownerState:e})=>e.noWrap,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},{props:({ownerState:e})=>e.gutterBottom,style:{marginBottom:`0.35em`}},{props:({ownerState:e})=>e.paragraph,style:{marginBottom:16}}]}))),Mv={h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,h5:`h5`,h6:`h6`,subtitle1:`h6`,subtitle2:`h6`,body1:`p`,body2:`p`,inherit:`p`},Q=C.forwardRef(function(e,t){let{color:n,...r}=Am({props:e,name:`MuiTypography`}),i=!Iie[n],a=Lie({...r,...i&&{color:n}}),{align:o=`inherit`,className:s,component:c,gutterBottom:l=!1,noWrap:u=!1,paragraph:d=!1,variant:f=`body1`,variantMapping:p=Mv,...m}=a,h={...a,align:o,color:n,className:s,component:c,gutterBottom:l,noWrap:u,paragraph:d,variant:f,variantMapping:p};return(0,G.jsx)(zie,{as:c||(d?`p`:p[f]||Mv[f])||`span`,ref:t,className:K(Rie(h).root,s),...m,ownerState:h,style:{...o!==`inherit`&&{"--Typography-textAlign":o},...m.style}})});function Bie(e){return Id(`MuiFormControlLabel`,e)}var Nv=Ld(`MuiFormControlLabel`,[`root`,`labelPlacementStart`,`labelPlacementTop`,`labelPlacementBottom`,`disabled`,`label`,`error`,`required`,`asterisk`]);function Pv({props:e,states:t,muiFormControl:n}){return t.reduce((t,r)=>(t[r]=e[r],n&&e[r]===void 0&&(t[r]=n[r]),t),{})}var Vie=e=>{let{classes:t,disabled:n,labelPlacement:r,error:i,required:a}=e;return dp({root:[`root`,n&&`disabled`,`labelPlacement${Y(r)}`,i&&`error`,a&&`required`],label:[`label`,n&&`disabled`],asterisk:[`asterisk`,i&&`error`]},Bie,t)},Hie=J(`label`,{name:`MuiFormControlLabel`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${Nv.label}`]:t.label},t.root,t[`labelPlacement${Y(n.labelPlacement)}`]]}})(Im(({theme:e})=>({display:`inline-flex`,alignItems:`center`,cursor:`pointer`,verticalAlign:`middle`,WebkitTapHighlightColor:`transparent`,marginLeft:-11,marginRight:16,[`&.${Nv.disabled}`]:{cursor:`default`},[`& .${Nv.label}`]:{[`&.${Nv.disabled}`]:{color:(e.vars||e).palette.text.disabled}},variants:[{props:{labelPlacement:`start`},style:{flexDirection:`row-reverse`,marginRight:-11}},{props:{labelPlacement:`top`},style:{flexDirection:`column-reverse`}},{props:{labelPlacement:`bottom`},style:{flexDirection:`column`}},{props:({labelPlacement:e})=>e===`start`||e===`top`||e===`bottom`,style:{marginLeft:16}}]}))),Uie=J(`span`,{name:`MuiFormControlLabel`,slot:`Asterisk`})(Im(({theme:e})=>({[`&.${Nv.error}`]:{color:(e.vars||e).palette.error.main}}))),Fv=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiFormControlLabel`}),{checked:r,className:i,componentsProps:a={},control:o,disabled:s,disableTypography:c,inputRef:l,label:u,labelPlacement:d=`end`,name:f,onChange:p,required:m,slots:h={},slotProps:g={},value:_,...v}=n,y=xv(),b=s??o.props.disabled??y?.disabled,x=m??o.props.required,S={disabled:b,required:x};[`checked`,`name`,`onChange`,`value`,`inputRef`].forEach(e=>{o.props[e]===void 0&&n[e]!==void 0&&(S[e]=n[e])});let w=Pv({props:n,muiFormControl:y,states:[`error`]}),T={...n,disabled:b,labelPlacement:d,required:x,error:w.error},E=Vie(T),[D,O]=Wm(`typography`,{elementType:Q,externalForwardedProps:{slots:h,slotProps:{...a,...g}},ownerState:T}),k=u;return k!=null&&k.type!==Q&&!c&&(k=(0,G.jsx)(D,{component:`span`,...O,className:K(E.label,O?.className),children:k})),(0,G.jsxs)(Hie,{className:K(E.root,i),ownerState:T,ref:t,...v,children:[C.cloneElement(o,S),x?(0,G.jsxs)(`div`,{children:[k,(0,G.jsxs)(Uie,{ownerState:T,"aria-hidden":!0,className:E.asterisk,children:[` `,`*`]})]}):k]})}),Iv=Rp({createStyledComponent:J(`div`,{name:`MuiGrid`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.container&&t.container]}}),componentName:`MuiGrid`,useThemeProps:e=>Am({props:e,name:`MuiGrid`}),useTheme:Tm});function Wie(e){return Id(`MuiLinearProgress`,e)}Ld(`MuiLinearProgress`,[`root`,`colorPrimary`,`colorSecondary`,`determinate`,`indeterminate`,`buffer`,`query`,`dashed`,`dashedColorPrimary`,`dashedColorSecondary`,`bar`,`bar1`,`bar2`,`barColorPrimary`,`barColorSecondary`,`bar1Indeterminate`,`bar1Determinate`,`bar1Buffer`,`bar2Indeterminate`,`bar2Buffer`]);var Lv=4,Rv=ed`
149
149
  0% {
150
150
  left: -35%;
151
151
  right: 100%;
@@ -466,4 +466,4 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
466
466
  To pick up a draggable item, press the space bar.
467
467
  While dragging, use the arrow keys to move the item.
468
468
  Press space again to drop the item in its new position, or press escape to cancel.
469
- `},Q0e={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function $0e(e){let{announcements:t=Q0e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Z0e}=e,{announce:a,announcement:o}=q0e(),s=f9(`DndLiveRegion`),[c,l]=(0,C.useState)(!1);if((0,C.useEffect)(()=>{l(!0)},[]),Y0e((0,C.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=C.createElement(C.Fragment,null,C.createElement(G0e,{id:r,value:i.draggable}),C.createElement(K0e,{id:s,announcement:o}));return n?(0,ya.createPortal)(u,n):u}var v9;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(v9||={});function y9(){}function e2e(e,t){return(0,C.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function t2e(){var e=[...arguments];return(0,C.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var b9=Object.freeze({x:0,y:0});function n2e(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function r2e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function i2e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function a2e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function o2e(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function s2e(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var c2e=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=s2e(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=n2e(s2e(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(r2e)},l2e=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=a2e(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=a2e(r),o=i.reduce((e,t,r)=>e+n2e(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(r2e)};function u2e(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var d2e=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=u2e(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(i2e)};function f2e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function p2e(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:b9}function m2e(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var h2e=m2e(1);function g2e(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function _2e(e,t,n){let r=g2e(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var v2e={ignoreTransform:!1};function x9(e,t){t===void 0&&(t=v2e);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=t9(e).getComputedStyle(e);t&&(n=_2e(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function y2e(e){return x9(e,{ignoreTransform:!0})}function b2e(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function x2e(e,t){return t===void 0&&(t=t9(e).getComputedStyle(e)),t.position===`fixed`}function S2e(e,t){t===void 0&&(t=t9(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function S9(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(n9(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!r9(i)||L0e(i)||n.includes(i))return n;let a=t9(e).getComputedStyle(i);return i!==e&&S2e(i,a)&&n.push(i),x2e(i,a)?n:r(i.parentNode)}return e?r(e):n}function C2e(e){let[t]=S9(e,1);return t??null}function C9(e){return!Q7||!e?null:$7(e)?e:e9(e)?n9(e)||e===i9(e).scrollingElement?window:r9(e)?e:null:null}function w2e(e){return $7(e)?e.scrollX:e.scrollLeft}function T2e(e){return $7(e)?e.scrollY:e.scrollTop}function w9(e){return{x:w2e(e),y:T2e(e)}}var T9;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(T9||={});function E2e(e){return!Q7||!e?!1:e===document.scrollingElement}function D2e(e){let t={x:0,y:0},n=E2e(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var O2e={x:.2,y:.2};function k2e(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=O2e);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=D2e(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=T9.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=T9.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=T9.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=T9.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function A2e(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function j2e(e){return e.reduce((e,t)=>p9(e,w9(t)),b9)}function M2e(e){return e.reduce((e,t)=>e+w2e(t),0)}function N2e(e){return e.reduce((e,t)=>e+T2e(t),0)}function P2e(e,t){if(t===void 0&&(t=x9),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);C2e(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var F2e=[[`x`,[`left`,`right`],M2e],[`y`,[`top`,`bottom`],N2e]],E9=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=S9(t),r=j2e(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of F2e)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,`rect`,{enumerable:!1})}},D9=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function I2e(e){let{EventTarget:t}=t9(e);return e instanceof t?e:i9(e)}function O9(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var k9;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(k9||={});function L2e(e){e.preventDefault()}function R2e(e){e.stopPropagation()}var A9;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(A9||={});var z2e={start:[A9.Space,A9.Enter],cancel:[A9.Esc],end:[A9.Space,A9.Enter,A9.Tab]},B2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case A9.Right:return{...n,x:n.x+25};case A9.Left:return{...n,x:n.x-25};case A9.Down:return{...n,y:n.y+25};case A9.Up:return{...n,y:n.y-25}}},j9=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new D9(i9(t)),this.windowListeners=new D9(t9(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(k9.Resize,this.handleCancel),this.windowListeners.add(k9.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(k9.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&P2e(n),t(b9)}handleKeyDown(e){if(h9(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=z2e,coordinateGetter:a=B2e,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:b9;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=m9(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=D2e(n),p=A2e(n),m={x:Math.min(i===A9.Right?p.right-p.width/2:p.right,Math.max(i===A9.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===A9.Down?p.bottom-p.height/2:p.bottom,Math.max(i===A9.Down?p.top:p.top+p.height/2,u.y))},h=i===A9.Right&&!s||i===A9.Left&&!c,g=i===A9.Down&&!l||i===A9.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===A9.Right&&e<=d.x||i===A9.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===A9.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===A9.Down&&e<=d.y||i===A9.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===A9.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,p9(m9(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};j9.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=z2e,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function V2e(e){return!!(e&&`distance`in e)}function H2e(e){return!!(e&&`delay`in e)}var M9=class{constructor(e,t,n){n===void 0&&(n=I2e(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=i9(i),this.documentListeners=new D9(this.document),this.listeners=new D9(n),this.windowListeners=new D9(t9(i)),this.initialCoordinates=g9(r)??b9,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(k9.Resize,this.handleCancel),this.windowListeners.add(k9.DragStart,L2e),this.windowListeners.add(k9.VisibilityChange,this.handleCancel),this.windowListeners.add(k9.ContextMenu,L2e),this.documentListeners.add(k9.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(H2e(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(V2e(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(k9.Click,R2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(k9.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=g9(e)??b9,s=m9(n,o);if(!t&&a){if(V2e(a)){if(a.tolerance!=null&&O9(s,a.tolerance))return this.handleCancel();if(O9(s,a.distance))return this.handleStart()}if(H2e(a)&&O9(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===A9.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},U2e={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},N9=class extends M9{constructor(e){let{event:t}=e,n=i9(t.target);super(e,U2e,n)}};N9.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var W2e={move:{name:`mousemove`},end:{name:`mouseup`}},G2e;(function(e){e[e.RightClick=2]=`RightClick`})(G2e||={});var K2e=class extends M9{constructor(e){super(e,W2e,i9(e.event.target))}};K2e.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===G2e.RightClick?!1:(r?.({event:n}),!0)}}];var P9={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},q2e=class extends M9{constructor(e){super(e,P9)}static setup(){return window.addEventListener(P9.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(P9.move.name,e)};function e(){}}};q2e.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var F9;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(F9||={});var I9;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(I9||={});function J2e(e){let{acceleration:t,activator:n=F9.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=I9.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=X2e({delta:d,disabled:!a}),[m,h]=R0e(),g=(0,C.useRef)({x:0,y:0}),_=(0,C.useRef)({x:0,y:0}),v=(0,C.useMemo)(()=>{switch(n){case F9.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case F9.DraggableRect:return i}},[n,i,c]),y=(0,C.useRef)(null),b=(0,C.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,C.useMemo)(()=>s===I9.TreeOrder?[...l].reverse():l,[s,l]);(0,C.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=k2e(e,n,v,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),y.current=e,m(b,o),g.current=a,_.current=i;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var Y2e={x:{[T9.Backward]:!1,[T9.Forward]:!1},y:{[T9.Backward]:!1,[T9.Forward]:!1}};function X2e(e){let{delta:t,disabled:n}=e,r=u9(t);return c9(e=>{if(n||!r||!e)return Y2e;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[T9.Backward]:e.x[T9.Backward]||i.x===-1,[T9.Forward]:e.x[T9.Forward]||i.x===1},y:{[T9.Backward]:e.y[T9.Backward]||i.y===-1,[T9.Forward]:e.y[T9.Forward]||i.y===1}}},[n,t,r])}function Z2e(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return c9(e=>t==null?null:r??e??null,[r,t])}function Q2e(e,t){return(0,C.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var L9;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(L9||={});var $2e;(function(e){e.Optimized=`optimized`})($2e||={});var e4e=new Map;function t4e(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,C.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,C.useRef)(e),d=g(),f=s9(d),p=(0,C.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,C.useRef)(null),h=c9(t=>{if(d&&!n)return e4e;if(!t||t===e4e||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new E9(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,C.useEffect)(()=>{u.current=e},[e]),(0,C.useEffect)(()=>{d||p()},[n,d]),(0,C.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,C.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case L9.Always:return!1;case L9.BeforeDragging:return n;default:return!n}}}function n4e(e,t){return c9(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function r4e(e,t){return n4e(e,t)}function i4e(e){let{callback:t,disabled:n}=e,r=o9(t),i=(0,C.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,C.useEffect)(()=>()=>i?.disconnect(),[i]),i}function R9(e){let{callback:t,disabled:n}=e,r=o9(t),i=(0,C.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,C.useEffect)(()=>()=>i?.disconnect(),[i]),i}function a4e(e){return new E9(x9(e),e)}function o4e(e,t,n){t===void 0&&(t=a4e);let[r,i]=(0,C.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=i4e({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=R9({callback:a});return a9(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function s4e(e){return p2e(e,n4e(e))}var c4e=[];function l4e(e){let t=(0,C.useRef)(e),n=c9(n=>e?n&&n!==c4e&&e&&t.current&&e.parentNode===t.current.parentNode?n:S9(e):c4e,[e]);return(0,C.useEffect)(()=>{t.current=e},[e]),n}function u4e(e){let[t,n]=(0,C.useState)(null),r=(0,C.useRef)(e),i=(0,C.useCallback)(e=>{let t=C9(e.target);t&&n(e=>e?(e.set(t,w9(t)),new Map(e)):null)},[]);return(0,C.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=C9(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,w9(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{C9(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,C.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>p9(e,t),b9):j2e(e):b9,[e,t])}function d4e(e,t){t===void 0&&(t=[]);let n=(0,C.useRef)(null);return(0,C.useEffect)(()=>{n.current=null},t),(0,C.useEffect)(()=>{let t=e!==b9;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?m9(e,n.current):b9}function f4e(e){(0,C.useEffect)(()=>{if(!Q7)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function p4e(e,t){return(0,C.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function m4e(e){return(0,C.useMemo)(()=>e?b2e(e):null,[e])}var h4e=[];function g4e(e,t){t===void 0&&(t=x9);let[n]=e,r=m4e(n?t9(n):null),[i,a]=(0,C.useState)(h4e);function o(){a(()=>e.length?e.map(e=>E2e(e)?r:new E9(t(e),e)):h4e)}let s=R9({callback:o});return a9(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function _4e(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return r9(t)?t:e}function v4e(e){let{measure:t}=e,[n,r]=(0,C.useState)(null),i=R9({callback:(0,C.useCallback)(e=>{for(let{target:n}of e)if(r9(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=l9((0,C.useCallback)(e=>{let n=_4e(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,C.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var y4e=[{sensor:N9,options:{}},{sensor:j9,options:{}}],b4e={current:{}},z9={draggable:{measure:y2e},droppable:{measure:y2e,strategy:L9.WhileDragging,frequency:$2e.Optimized},dragOverlay:{measure:x9}},B9=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},x4e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new B9,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:y9},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:z9,measureDroppableContainers:y9,windowRect:null,measuringScheduled:!1},S4e={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:y9,draggableNodes:new Map,over:null,measureDroppableContainers:y9},V9=(0,C.createContext)(S4e),C4e=(0,C.createContext)(x4e);function w4e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new B9}}}function T4e(e,t){switch(t.type){case v9.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case v9.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case v9.DragEnd:case v9.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case v9.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new B9(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case v9.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new B9(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case v9.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new B9(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function E4e(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,C.useContext)(V9),a=u9(r),o=u9(n?.id);return(0,C.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!h9(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=U0e(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function D4e(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function O4e(e){return(0,C.useMemo)(()=>({draggable:{...z9.draggable,...e?.draggable},droppable:{...z9.droppable,...e?.droppable},dragOverlay:{...z9.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function k4e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,C.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;a9(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=p2e(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=C2e(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var A4e=(0,C.createContext)({...b9,scaleX:1,scaleY:1}),H9;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(H9||={});var j4e=(0,C.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=y4e,collisionDetection:o=d2e,measuring:s,modifiers:c,...l}=e,[u,d]=(0,C.useReducer)(T4e,void 0,w4e),[f,p]=X0e(),[m,h]=(0,C.useState)(H9.Uninitialized),g=m===H9.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,C.useRef)({initial:null,translated:null}),w=(0,C.useMemo)(()=>_==null?null:{id:_,data:x?.data??b4e,rect:S},[_,x]),T=(0,C.useRef)(null),[E,D]=(0,C.useState)(null),[O,k]=(0,C.useState)(null),A=s9(l,Object.values(l)),j=f9(`DndDescribedBy`,t),M=(0,C.useMemo)(()=>b.getEnabled(),[b]),N=O4e(s),{droppableRects:P,measureDroppableContainers:F,measuringScheduled:I}=t4e(M,{dragging:g,dependencies:[y.x,y.y],config:N.droppable}),L=Z2e(v,_),R=(0,C.useMemo)(()=>O?g9(O):null,[O]),ee=Te(),z=r4e(L,N.draggable.measure);k4e({activeNode:_==null?null:v.get(_),config:ee.layoutShiftCompensation,initialRect:z,measure:N.draggable.measure});let te=o4e(L,N.draggable.measure,z),B=o4e(L?L.parentElement:null),V=(0,C.useRef)({activatorEvent:null,active:null,activeNode:L,collisionRect:null,collisions:null,droppableRects:P,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ne=b.getNodeFor(V.current.over?.id),re=v4e({measure:N.dragOverlay.measure}),ie=re.nodeRef.current??L,ae=g?re.rect??te:null,oe=!!(re.nodeRef.current&&re.rect),se=s4e(oe?null:te),ce=m4e(ie?t9(ie):null),le=l4e(g?ne??L:null),ue=g4e(le),H=D4e(c,{transform:{x:y.x-se.x,y:y.y-se.y,scaleX:1,scaleY:1},activatorEvent:O,active:w,activeNodeRect:te,containerNodeRect:B,draggingNodeRect:ae,over:V.current.over,overlayNodeRect:re.rect,scrollableAncestors:le,scrollableAncestorRects:ue,windowRect:ce}),de=R?p9(R,y):null,fe=u4e(le),U=d4e(fe),pe=d4e(fe,[te]),me=p9(H,U),W=ae?h2e(ae,H):null,he=w&&W?o({active:w,collisionRect:W,droppableRects:P,droppableContainers:M,pointerCoordinates:de}):null,ge=o2e(he,`id`),[_e,ve]=(0,C.useState)(null),ye=f2e(oe?H:p9(H,pe),_e?.rect??null,te),be=(0,C.useRef)(null),xe=(0,C.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(T.current==null)return;let i=v.get(T.current);if(!i)return;let a=e.nativeEvent;be.current=new n({active:T.current,activeNode:i,event:a,options:r,context:V,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=A.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=A.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=T.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=A.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,ya.unstable_batchedUpdates)(()=>{r?.(i),h(H9.Initializing),d({type:v9.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),D(be.current),k(a)})},onMove(e){d({type:v9.DragMove,coordinates:e})},onEnd:o(v9.DragEnd),onCancel:o(v9.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=V.current,o=null;if(t&&i){let{cancelDrop:s}=A.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===v9.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=v9.DragCancel)}T.current=null,(0,ya.unstable_batchedUpdates)(()=>{d({type:e}),h(H9.Uninitialized),ve(null),D(null),k(null),be.current=null;let t=e===v9.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=A.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),Se=Q2e(a,(0,C.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(T.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},T.current=r,xe(n,t))},[v,xe]));f4e(a),a9(()=>{te&&m===H9.Initializing&&h(H9.Initialized)},[te,m]),(0,C.useEffect)(()=>{let{onDragMove:e}=A.current,{active:t,activatorEvent:n,collisions:r,over:i}=V.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:me.x,y:me.y},over:i};(0,ya.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[me.x,me.y]),(0,C.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=V.current;if(!e||T.current==null||!t||!i)return;let{onDragOver:a}=A.current,o=r.get(ge),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,ya.unstable_batchedUpdates)(()=>{ve(s),a?.(c),f({type:`onDragOver`,event:c})})},[ge]),a9(()=>{V.current={activatorEvent:O,active:w,activeNode:L,collisionRect:W,collisions:he,droppableRects:P,draggableNodes:v,draggingNode:ie,draggingNodeRect:ae,droppableContainers:b,over:_e,scrollableAncestors:le,scrollAdjustedTranslate:me},S.current={initial:ae,translated:W}},[w,L,he,W,v,ie,ae,P,b,_e,le,me]),J2e({...ee,delta:y,draggingRect:W,pointerCoordinates:de,scrollableAncestors:le,scrollableAncestorRects:ue});let Ce=(0,C.useMemo)(()=>({active:w,activeNode:L,activeNodeRect:te,activatorEvent:O,collisions:he,containerNodeRect:B,dragOverlay:re,draggableNodes:v,droppableContainers:b,droppableRects:P,over:_e,measureDroppableContainers:F,scrollableAncestors:le,scrollableAncestorRects:ue,measuringConfiguration:N,measuringScheduled:I,windowRect:ce}),[w,L,te,O,he,B,re,v,b,P,_e,F,le,ue,N,I,ce]),we=(0,C.useMemo)(()=>({activatorEvent:O,activators:Se,active:w,activeNodeRect:te,ariaDescribedById:{draggable:j},dispatch:d,draggableNodes:v,over:_e,measureDroppableContainers:F}),[O,Se,w,te,d,j,v,_e,F]);return C.createElement(J0e.Provider,{value:p},C.createElement(V9.Provider,{value:we},C.createElement(C4e.Provider,{value:Ce},C.createElement(A4e.Provider,{value:ye},i)),C.createElement(E4e,{disabled:n?.restoreFocus===!1})),C.createElement($0e,{...n,hiddenTextDescribedById:j}));function Te(){let e=E?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),M4e=(0,C.createContext)(null),N4e=`button`,P4e=`Draggable`;function F4e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=f9(P4e),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,C.useContext)(V9),{role:p=N4e,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,C.useContext)(g?A4e:M4e),[v,y]=l9(),[b,x]=l9(),S=p4e(o,t),w=s9(n);return a9(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:w}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,C.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===N4e?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function I4e(){return(0,C.useContext)(C4e)}var L4e=`Droppable`,R4e={timeout:25};function z4e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=f9(L4e),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,C.useContext)(V9),u=(0,C.useRef)({disabled:n}),d=(0,C.useRef)(!1),f=(0,C.useRef)(null),p=(0,C.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...R4e,...i},_=s9(h??r),v=R9({callback:(0,C.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=l9((0,C.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=s9(t);return(0,C.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,C.useEffect)(()=>(s({type:v9.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:v9.UnregisterDroppable,key:a,id:r})),[r]),(0,C.useEffect)(()=>{n!==u.current.disabled&&(s({type:v9.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function U9(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function B4e(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function W9(e){return e!==null&&e>=0}function V4e(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function H4e(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var U4e=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=U9(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},G9={scaleX:1,scaleY:1},W4e=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...G9}:null}let s=G4e(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...G9}:r<t&&r>=a?{x:0,y:o.height+s,...G9}:{x:0,y:0,...G9}};function G4e(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var K4e=`Sortable`,q4e=C.createContext({activeIndex:-1,containerId:K4e,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:U4e,disabled:{draggable:!1,droppable:!1}});function J4e(e){let{children:t,id:n,items:r,strategy:i=U4e,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=I4e(),d=f9(K4e,n),f=s.rect!==null,p=(0,C.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,C.useRef)(p),v=!V4e(p,_.current),y=g!==-1&&h===-1||v,b=H4e(a);a9(()=>{v&&m&&u(p)},[v,p,m,u]),(0,C.useEffect)(()=>{_.current=p},[p]);let x=(0,C.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:B4e(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return C.createElement(q4e.Provider,{value:x},t)}var Y4e=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return U9(n,r,i).indexOf(t)},X4e=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Z4e={duration:200,easing:`ease`},Q4e=`transform`,$4e=_9.Transition.toString({property:Q4e,duration:0,easing:`linear`}),e3e={roleDescription:`sortable`};function t3e(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,C.useState)(null),s=(0,C.useRef)(n);return a9(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=x9(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,C.useEffect)(()=>{a&&o(null)},[a]),a}function n3e(e){let{animateLayoutChanges:t=X4e,attributes:n,disabled:r,data:i,getNewIndex:a=Y4e,id:o,strategy:s,resizeObserverConfig:c,transition:l=Z4e}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,C.useContext)(q4e),y=r3e(r,p),b=u.indexOf(o),x=(0,C.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,C.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:w,node:T,isOver:E,setNodeRef:D}=z4e({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:O,activatorEvent:k,activeNodeRect:A,attributes:j,setNodeRef:M,listeners:N,isDragging:P,over:F,setActivatorNodeRef:I,transform:L}=F4e({id:o,data:x,attributes:{...e3e,...n},disabled:y.draggable}),R=I0e(D,M),ee=!!O,z=ee&&!m&&W9(f)&&W9(g),te=!_&&P,B=z?(te&&z?L:null)??(s??v)({rects:h,activeNodeRect:A,activeIndex:f,overIndex:g,index:b}):null,V=W9(f)&&W9(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,ne=O?.id,re=(0,C.useRef)({activeId:ne,items:u,newIndex:V,containerId:d}),ie=u!==re.current.items,ae=t({active:O,containerId:d,isDragging:P,isSorting:ee,id:o,index:b,items:u,newIndex:re.current.newIndex,previousItems:re.current.items,previousContainerId:re.current.containerId,transition:l,wasDragging:re.current.activeId!=null}),oe=t3e({disabled:!ae,index:b,node:T,rect:w});return(0,C.useEffect)(()=>{ee&&re.current.newIndex!==V&&(re.current.newIndex=V),d!==re.current.containerId&&(re.current.containerId=d),u!==re.current.items&&(re.current.items=u)},[ee,V,d,u]),(0,C.useEffect)(()=>{if(ne===re.current.activeId)return;if(ne!=null&&re.current.activeId==null){re.current.activeId=ne;return}let e=setTimeout(()=>{re.current.activeId=ne},50);return()=>clearTimeout(e)},[ne]),{active:O,activeIndex:f,attributes:j,data:x,rect:w,index:b,newIndex:V,items:u,isOver:E,isSorting:ee,isDragging:P,listeners:N,node:T,overIndex:g,over:F,setNodeRef:R,setActivatorNodeRef:I,setDroppableNodeRef:D,setDraggableNodeRef:M,transform:oe??B,transition:se()};function se(){if(oe||ie&&re.current.newIndex===b)return $4e;if(!(te&&!h9(k)||!l)&&(ee||ae))return _9.Transition.toString({...l,property:Q4e})}}function r3e(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function K9(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var i3e=[A9.Down,A9.Right,A9.Up,A9.Left],a3e=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(i3e.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case A9.Down:r.top<a.top&&t.push(n);break;case A9.Up:r.top>a.top&&t.push(n);break;case A9.Left:r.left>a.left&&t.push(n);break;case A9.Right:r.left<a.left&&t.push(n);break}});let c=l2e({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=o2e(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=S9(c).some((e,t)=>s[t]!==e),i=o3e(e,t),a=s3e(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:m9(u,l)}}}};function o3e(e,t){return!K9(e)||!K9(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function s3e(e,t){return!K9(e)||!K9(t)||!o3e(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var c3e=({bridge:e,index:t})=>{let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=n3e({id:e.id}),[c,l]=(0,C.useState)(!1);return(0,C.useEffect)(()=>{vE(e.id).then(l)},[e.id]),(0,G.jsx)(gv,{ref:i,style:{transform:_9.Transform.toString(a),transition:o,opacity:s?.5:1},variant:`outlined`,sx:{cursor:`grab`,"&:active":{cursor:`grabbing`},bgcolor:s?`action.selected`:`background.paper`,width:`fit-content`},children:(0,G.jsxs)(yv,{sx:{display:`flex`,alignItems:`center`,gap:1.5,py:1,"&:last-child":{pb:1}},children:[(0,G.jsx)(Z,{...n,...r,sx:{display:`flex`,alignItems:`center`,color:`text.secondary`},children:(0,G.jsx)(Ehe,{})}),(0,G.jsx)(Dv,{label:t+1,size:`small`,color:`primary`,sx:{minWidth:32,fontWeight:`bold`}}),c?(0,G.jsx)(Z,{component:`img`,src:yE(e.id),alt:e.name,sx:{width:40,height:40,borderRadius:`50%`,objectFit:`cover`,boxShadow:2}}):(0,G.jsx)(Tb,{sx:{bgcolor:TE(e),width:40,height:40,boxShadow:2},children:(0,G.jsx)(wE(e),{sx:{fontSize:24}})}),(0,G.jsxs)(Z,{sx:{flex:1},children:[(0,G.jsx)(Q,{variant:`subtitle1`,fontWeight:500,children:e.name}),(0,G.jsxs)(Q,{variant:`caption`,color:`text.secondary`,children:[`Port: `,e.port,` • Priority: `,e.priority??100]})]})]})})},l3e=()=>{let{t:e}=ms(),t=Jv(),{content:n,isLoading:r}=FT(),i=Wme(),[a,o]=(0,C.useState)([]),[s,c]=(0,C.useState)(!1);(0,C.useEffect)(()=>{n&&(o([...n].sort((e,t)=>(e.priority??100)-(t.priority??100))),c(!1))},[n]);let l=t2e(e2e(N9),e2e(j9,{coordinateGetter:a3e})),u=(0,C.useCallback)(e=>{let{active:t,over:n}=e;n&&t.id!==n.id&&(o(e=>U9(e,e.findIndex(e=>e.id===t.id),e.findIndex(e=>e.id===n.id))),c(!0))},[]),d=(0,C.useCallback)(async()=>{let n=a.map((e,t)=>({id:e.id,priority:(t+1)*10}));try{await i(n),t.show({message:e(`startup.saveSuccess`),severity:`success`}),c(!1)}catch(n){t.show({message:n instanceof Error?n.message:e(`startup.saveFailed`),severity:`error`})}},[a,i,t,e]),f=(0,C.useMemo)(()=>a.map(e=>e.id),[a]);return r?(0,G.jsxs)(Q,{children:[e(`common.loading`),`...`]}):(0,G.jsxs)(Uv,{spacing:3,children:[(0,G.jsx)(qv,{items:[{name:e(`nav.bridges`),to:J9.bridges},{name:e(`startup.title`),to:J9.startup}]}),(0,G.jsxs)(Z,{display:`flex`,alignItems:`center`,gap:2,children:[(0,G.jsx)(dv,{color:`primary`,fontSize:`large`}),(0,G.jsxs)(Z,{children:[(0,G.jsx)(Q,{variant:`h5`,fontWeight:600,children:e(`startup.title`)}),(0,G.jsx)(Q,{variant:`body2`,color:`text.secondary`,children:e(`startup.description`)})]})]}),s&&(0,G.jsx)(Gh,{severity:`info`,action:(0,G.jsx)(hv,{color:`inherit`,size:`small`,startIcon:(0,G.jsx)(cE,{}),onClick:d,children:e(`startup.saveChanges`)}),children:e(`startup.unsavedChanges`)}),(0,G.jsx)(j4e,{sensors:l,collisionDetection:c2e,onDragEnd:u,children:(0,G.jsx)(J4e,{items:f,strategy:W4e,children:(0,G.jsx)(Uv,{spacing:1,children:a.map((e,t)=>(0,G.jsx)(c3e,{bridge:e,index:t},e.id))})})}),a.length===0&&(0,G.jsx)(Q,{color:`text.secondary`,textAlign:`center`,py:4,children:e(`startup.noBridges`)}),s&&a.length>0&&(0,G.jsx)(Z,{display:`flex`,justifyContent:`flex-end`,children:(0,G.jsx)(hv,{variant:`contained`,startIcon:(0,G.jsx)(cE,{}),onClick:d,children:e(`startup.saveOrder`)})})]})},q9=`https://riddix.github.io/home-assistant-matter-hub`,J9={dashboard:`/`,bridges:`/bridges`,bridge:e=>`/bridges/${e}`,createBridge:`/bridges/create`,areaSetup:`/bridges/area-setup`,editBridge:e=>`/bridges/${e}/edit`,devices:`/devices`,networkMap:`/network-map`,health:`/health`,labels:`/labels`,lockCredentials:`/lock-credentials`,plugins:`/plugins`,settings:`/settings`,startup:`/startup`,githubRepository:`https://github.com/riddix/home-assistant-matter-hub/`,documentation:q9,support:`${q9}/support`,faq:{multiFabric:`${q9}/connect-multiple-fabrics`,bridgeConfig:`${q9}/bridge-configuration`}},u3e=[{path:``,element:(0,G.jsx)(Sre,{}),children:[{path:``,element:(0,G.jsx)(qge,{})},{path:J9.bridges,element:(0,G.jsx)(Vge,{})},{path:J9.createBridge,element:(0,G.jsx)(Dqe,{})},{path:J9.areaSetup,element:(0,G.jsx)(yae,{})},{path:J9.bridge(`:bridgeId`),element:(0,G.jsx)(ohe,{})},{path:J9.editBridge(`:bridgeId`),element:(0,G.jsx)(Oqe,{})},{path:J9.devices,element:(0,G.jsx)(d_e,{})},{path:J9.networkMap,element:(0,G.jsx)(o0e,{})},{path:J9.health,element:(0,G.jsx)(qqe,{})},{path:J9.labels,element:(0,G.jsx)(Zqe,{})},{path:J9.lockCredentials,element:(0,G.jsx)(rJe,{})},{path:J9.plugins,element:(0,G.jsx)(A0e,{})},{path:J9.settings,element:(0,G.jsx)(F0e,{})},{path:J9.startup,element:(0,G.jsx)(l3e,{})},{path:`*`,element:(0,G.jsx)(iJe,{})}]}],d3e=k_({items:{isInitialized:!1,isLoading:!1}},e=>{e.addCase(U_.pending,e=>{e.items.isLoading=!0}).addCase(U_.rejected,(e,t)=>{e.items.isInitialized=!0,e.items.isLoading=!1,e.items.content=void 0,e.items.error=t.error}).addCase(U_.fulfilled,(e,t)=>{e.items.isInitialized=!0,e.items.isLoading=!1,e.items.content=t.payload,e.items.error=void 0}).addCase(W_.fulfilled,(e,t)=>{e.items.content?.push(t.payload)}).addCase(K_.fulfilled,(e,t)=>{let n=e.items.content?.findIndex(e=>e.id===t.payload.id)??-1;n!==-1&&(e.items.content[n]=t.payload)}).addCase(q_.fulfilled,(e,t)=>{let n=e.items.content?.findIndex(e=>e.id===t.payload.id)??-1;n!==-1&&(e.items.content[n]=t.payload)}).addCase(G_.fulfilled,(e,t)=>{if(e.items.content){let n=e.items.content.findIndex(e=>e.id===t.meta.arg);n!==-1&&e.items.content.splice(n,1)}}).addCase(J_,(e,t)=>{e.items.isInitialized=!0,e.items.isLoading=!1,e.items.content=t.payload,e.items.error=void 0}).addCase(Y_,(e,t)=>{if(e.items.content){let n=e.items.content.findIndex(e=>e.id===t.payload.id);n===-1?e.items.content.push(t.payload):e.items.content[n]=t.payload}})}),f3e=k_({byBridge:{}},e=>{e.addCase(RT.pending,(e,t)=>{e.byBridge[t.meta.arg]=Y9(e.byBridge[t.meta.arg],t)}).addCase(RT.rejected,(e,t)=>{e.byBridge[t.meta.arg]=Y9(e.byBridge[t.meta.arg],t)}).addCase(RT.fulfilled,(e,t)=>{e.byBridge[t.meta.arg]=Y9(e.byBridge[t.meta.arg],t)})}),Y9=k_({isInitialized:!1,isLoading:!1,content:void 0,error:void 0},e=>{e.addCase(RT.pending,e=>{e.isLoading=!0}).addCase(RT.rejected,(e,t)=>{e.isInitialized=!0,e.isLoading=!1,e.content=void 0,e.error=t.error}).addCase(RT.fulfilled,(e,t)=>{e.isInitialized=!0,e.isLoading=!1,e.content=t.payload,e.error=void 0})}),p3e=Yne({reducer:{bridges:d3e,devices:f3e}}),X9=gp({createStyledComponent:J(`div`,{name:`MuiContainer`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`maxWidth${Y(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),useThemeProps:e=>Am({props:e,name:`MuiContainer`})});function m3e(e){return Id(`MuiToolbar`,e)}Ld(`MuiToolbar`,[`root`,`gutters`,`regular`,`dense`]);var h3e=e=>{let{classes:t,disableGutters:n,variant:r}=e;return dp({root:[`root`,!n&&`gutters`,r]},m3e,t)},g3e=J(`div`,{name:`MuiToolbar`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})(Im(({theme:e})=>({position:`relative`,display:`flex`,alignItems:`center`,variants:[{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up(`sm`)]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}}},{props:{variant:`dense`},style:{minHeight:48}},{props:{variant:`regular`},style:e.mixins.toolbar}]}))),_3e=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiToolbar`}),{className:r,component:i=`div`,disableGutters:a=!1,variant:o=`regular`,...s}=n,c={...n,component:i,disableGutters:a,variant:o};return(0,G.jsx)(g3e,{as:i,className:K(h3e(c).root,r),ref:t,ownerState:c,...s})}),v3e=class extends C.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`ErrorBoundary caught:`,e,t.componentStack)}render(){return this.state.hasError?(0,G.jsxs)(Z,{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,minHeight:`60vh`,gap:2,p:4,children:[(0,G.jsx)(_b,{color:`error`,sx:{fontSize:64}}),(0,G.jsx)(Q,{variant:`h5`,fontWeight:600,children:Ps.t(`errorBoundary.title`)}),(0,G.jsx)(Q,{variant:`body2`,color:`text.secondary`,textAlign:`center`,maxWidth:480,children:this.state.error?.message??Ps.t(`errorBoundary.fallbackMessage`)}),(0,G.jsx)(hv,{variant:`contained`,onClick:()=>{this.setState({hasError:!1,error:null}),window.location.reload()},children:Ps.t(`errorBoundary.reload`)})]}):this.props.children}};function y3e(e){return Id(`MuiFab`,e)}var b3e=Ld(`MuiFab`,[`root`,`primary`,`secondary`,`extended`,`circular`,`focusVisible`,`disabled`,`colorInherit`,`sizeSmall`,`sizeMedium`,`sizeLarge`,`info`,`error`,`warning`,`success`]),x3e=e=>{let{color:t,variant:n,classes:r,size:i}=e,a=dp({root:[`root`,n,`size${Y(i)}`,t===`inherit`?`colorInherit`:t]},y3e,r);return{...r,...a}},S3e=J(Fh,{name:`MuiFab`,slot:`Root`,shouldForwardProp:e=>Om(e)||e===`classes`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`size${Y(n.size)}`],n.color===`inherit`&&t.colorInherit,t[Y(n.size)],t[n.color]]}})(Im(({theme:e})=>({...e.typography.button,minHeight:36,transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`],{duration:e.transitions.duration.short}),borderRadius:`50%`,padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.grey[900]:e.palette.getContrastText?.(e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:`none`},[`&.${b3e.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},variants:[{props:{size:`small`},style:{width:40,height:40}},{props:{size:`medium`},style:{width:48,height:48}},{props:{variant:`extended`},style:{borderRadius:48/2,padding:`0 16px`,width:`auto`,minHeight:`auto`,minWidth:48,height:48}},{props:{variant:`extended`,size:`small`},style:{width:`auto`,padding:`0 8px`,borderRadius:34/2,minWidth:34,height:34}},{props:{variant:`extended`,size:`medium`},style:{width:`auto`,padding:`0 16px`,borderRadius:40/2,minWidth:40,height:40}},{props:{color:`inherit`},style:{color:`inherit`}}]})),Im(({theme:e})=>({variants:[...Object.entries(e.palette).filter(Gm([`dark`,`contrastText`])).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].contrastText,backgroundColor:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:(e.vars||e).palette[t].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t].main}}}}))]})),Im(({theme:e})=>({[`&.${b3e.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}))),C3e=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiFab`}),{children:r,className:i,color:a=`default`,component:o=`button`,disabled:s=!1,disableFocusRipple:c=!1,focusVisibleClassName:l,size:u=`large`,variant:d=`circular`,...f}=n,p={...n,color:a,component:o,disabled:s,disableFocusRipple:c,size:u,variant:d},m=x3e(p);return(0,G.jsx)(S3e,{className:K(m.root,i),component:o,disabled:s,focusRipple:!c,focusVisibleClassName:K(m.focusVisible,l),ownerState:p,ref:t,...f,classes:m,children:r})}),w3e=[{code:`en`,flag:`🇬🇧`,name:`English`},{code:`de`,flag:`🇩🇪`,name:`Deutsch`},{code:`fr`,flag:`🇫🇷`,name:`Français`},{code:`es`,flag:`🇪🇸`,name:`Español`},{code:`it`,flag:`🇮🇹`,name:`Italiano`},{code:`zh`,flag:`🇨🇳`,name:`中文`},{code:`zh-TW`,flag:`🇹🇼`,name:`繁體中文`},{code:`ja`,flag:`🇯🇵`,name:`日本語`},{code:`th`,flag:`🇹🇭`,name:`ไทย`},{code:`sv`,flag:`🇸🇪`,name:`Svenska`},{code:`tr`,flag:`🇹🇷`,name:`Türkçe`},{code:`ru`,flag:`🇷🇺`,name:`Русский`}],T3e=`hamh-custom-languages`;function E3e(){try{let e=localStorage.getItem(T3e);return e?JSON.parse(e).map(e=>({code:e.code,flag:`🌐`,name:e.name})):[]}catch{return[]}}var D3e=`https://github.com/RiDDiX/home-assistant-matter-hub/issues/new?labels=translation&title=Translation+improvement`;function O3e(){let{t:e,i18n:t}=ms(),[n,r]=(0,C.useState)(!1),i=(0,C.useRef)(null),a=(0,C.useMemo)(()=>[...w3e,...E3e()],[]),o=t.language??`en`,s=a.some(e=>e.code===o)?o:o.split(`-`)[0]??`en`,c=(0,C.useCallback)(()=>{r(e=>!e)},[]),l=(0,C.useCallback)(e=>{t.changeLanguage(e),r(!1)},[t]);return(0,G.jsx)(Jh,{onClickAway:(0,C.useCallback)(()=>{r(!1)},[]),children:(0,G.jsxs)(Z,{children:[(0,G.jsx)(C3e,{ref:i,size:`small`,color:`primary`,onClick:c,"aria-label":`Change language`,sx:{position:`fixed`,bottom:24,right:24,zIndex:1300},children:(0,G.jsx)(Nhe,{})}),(0,G.jsx)(ob,{open:n,anchorEl:i.current,placement:`top-end`,transition:!0,sx:{zIndex:1300},children:({TransitionProps:t})=>(0,G.jsx)(Mb,{...t,timeout:200,children:(0,G.jsxs)(Km,{elevation:8,sx:{mb:1,py:.5,minWidth:160,borderRadius:2,overflow:`hidden`},children:[a.map(e=>(0,G.jsxs)(Z,{onClick:()=>l(e.code),sx:{display:`flex`,alignItems:`center`,gap:1.5,px:2,py:1,cursor:`pointer`,bgcolor:s===e.code?`action.selected`:`transparent`,"&:hover":{bgcolor:`action.hover`},transition:`background-color 0.15s`},children:[(0,G.jsx)(Q,{sx:{fontSize:`1.4rem`,lineHeight:1,userSelect:`none`},children:e.flag}),(0,G.jsx)(Q,{variant:`body2`,fontWeight:s===e.code?600:400,children:e.name})]},e.code)),(0,G.jsx)(Wb,{}),(0,G.jsxs)(Z,{sx:{display:`flex`,alignItems:`flex-start`,gap:.75,px:2,py:1},children:[(0,G.jsx)(Yv,{sx:{fontSize:14,mt:.25,color:`text.secondary`}}),(0,G.jsxs)(Q,{variant:`caption`,color:`text.secondary`,sx:{lineHeight:1.4},children:[e(`languageSwitcher.disclaimer`),` `,(0,G.jsx)(Kv,{href:D3e,target:`_blank`,rel:`noopener`,sx:{fontSize:`inherit`},children:e(`languageSwitcher.contribute`)})]})]})]})})})]})})}var k3e={name:`home-assistant-matter-hub`,description:``,version:`2.1.0-alpha.676`,private:!1,type:`module`,bin:{"home-assistant-matter-hub":`./dist/backend/cli.js`},author:{name:`riddix`,url:`https://github.com/riddix`},keywords:[`home-assistant`,`homeassistant`,`home`,`assistant`,`apple home`,`google home`,`apple`,`google`,`alexa`,`matter`,`matter.js`,`matterjs`,`project-chip`,`smart`,`smarthome`,`smart-home`],bugs:{url:`https://github.com/riddix/home-assistant-matter-hub/issues`},license:`Apache-2.0`,repository:`github:riddix/home-assistant-matter-hub`,scripts:{cleanup:`npx rimraf node_modules dist pack LICENSE README.md`,build:`node build.js`,bundle:`pnpm pack --out package.tgz`,postbuild:`pnpm run bundle`,test:`vitest run`,prestart:`pnpm run build`,start:`dotenvx run -f ../../.env -- ./dist/backend/cli.js start`},dependencies:{"@matter/main":`0.16.11`,"@matter/nodejs":`0.16.11`,"@matter/general":`0.16.11`,ajv:`8.18.0`,archiver:`7.0.1`,color:`5.0.3`,debounce:`3.0.0`,express:`5.2.1`,"express-basic-auth":`1.2.1`,"express-ip-access-control":`1.1.3`,"home-assistant-js-websocket":`9.6.0`,"lodash-es":`4.18.1`,multer:`2.1.1`,nocache:`4.0.0`,unzipper:`0.12.3`,ws:`8.20.0`,yargs:`18.0.0`},devDependencies:{"@home-assistant-matter-hub/backend":`workspace:*`,"@home-assistant-matter-hub/frontend":`workspace:*`,"@home-assistant-matter-hub/common":`workspace:*`,"@types/lodash-es":`^4.17.12`},overrides:{minimatch:`9.0.7`,"path-to-regexp":`^8.4.0`,glob:`^13.0.0`},nx:{targets:{start:{cache:!1,dependsOn:[`build`]},pack:{cache:!0,dependsOn:[`build`],outputs:[`{projectRoot}/pack`]},build:{inputs:[`^default`,`default`,`{workspaceRoot}/README.md`,`{workspaceRoot}/LICENSE`],outputs:[`{projectRoot}/dist`,`{projectRoot}/README.md`,`{projectRoot}/LICENSE`]}}}};function A3e(){let e=`2.1.0-alpha.676`,[t,n]=(0,C.useState)(null);(0,C.useEffect)(()=>{fetch(`api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.version&&n(e.version)}).catch(()=>{})},[]);let r=(0,C.useMemo)(()=>!t||e===`0.0.0-dev`?!1:e!==t,[t]);return(0,C.useMemo)(()=>({name:k3e.name,version:t??e,frontendVersion:e,backendVersion:t,versionMismatch:r}),[t,r])}var j3e=()=>{let{t:e}=ms(),t=[{name:e(`footer.github`),url:J9.githubRepository},{name:e(`footer.documentation`),url:J9.documentation},{name:e(`footer.support`),url:J9.support}];return(0,G.jsxs)(X9,{sx:{mt:16,mb:4},children:[(0,G.jsx)(Wb,{sx:{mt:4,mb:4}}),(0,G.jsx)(Iv,{container:!0,spacing:2,justifyContent:`center`,children:t.map((e,t)=>(0,G.jsx)(Iv,{size:{xs:12,sm:`auto`},children:(0,G.jsx)(hv,{fullWidth:!0,size:`small`,variant:`outlined`,component:Kv,href:e.url,target:`_blank`,children:e.name})},t.toString()))})]})};function M3e(e){return Id(`MuiAppBar`,e)}Ld(`MuiAppBar`,[`root`,`positionFixed`,`positionAbsolute`,`positionSticky`,`positionStatic`,`positionRelative`,`colorDefault`,`colorPrimary`,`colorSecondary`,`colorInherit`,`colorTransparent`,`colorError`,`colorInfo`,`colorSuccess`,`colorWarning`]);var N3e=e=>{let{color:t,position:n,classes:r}=e;return dp({root:[`root`,`color${Y(t)}`,`position${Y(n)}`]},M3e,r)},P3e=(e,t)=>e?`${e.replace(`)`,``)}, ${t})`:t,F3e=J(Km,{name:`MuiAppBar`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`position${Y(n.position)}`],t[`color${Y(n.color)}`]]}})(Im(({theme:e})=>({display:`flex`,flexDirection:`column`,width:`100%`,boxSizing:`border-box`,flexShrink:0,variants:[{props:{position:`fixed`},style:{position:`fixed`,zIndex:(e.vars||e).zIndex.appBar,top:0,left:`auto`,right:0,"@media print":{position:`absolute`}}},{props:{position:`absolute`},style:{position:`absolute`,zIndex:(e.vars||e).zIndex.appBar,top:0,left:`auto`,right:0}},{props:{position:`sticky`},style:{position:`sticky`,zIndex:(e.vars||e).zIndex.appBar,top:0,left:`auto`,right:0}},{props:{position:`static`},style:{position:`static`}},{props:{position:`relative`},style:{position:`relative`}},{props:{color:`inherit`},style:{"--AppBar-color":`inherit`,color:`var(--AppBar-color)`}},{props:{color:`default`},style:{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[100],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[100]),...e.applyStyles(`dark`,{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[900],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[900])})}},...Object.entries(e.palette).filter(Gm([`contrastText`])).map(([t])=>({props:{color:t},style:{"--AppBar-background":(e.vars??e).palette[t].main,"--AppBar-color":(e.vars??e).palette[t].contrastText}})),{props:e=>e.enableColorOnDark===!0&&![`inherit`,`transparent`].includes(e.color),style:{backgroundColor:`var(--AppBar-background)`,color:`var(--AppBar-color)`}},{props:e=>e.enableColorOnDark===!1&&![`inherit`,`transparent`].includes(e.color),style:{backgroundColor:`var(--AppBar-background)`,color:`var(--AppBar-color)`,...e.applyStyles(`dark`,{backgroundColor:e.vars?P3e(e.vars.palette.AppBar.darkBg,`var(--AppBar-background)`):null,color:e.vars?P3e(e.vars.palette.AppBar.darkColor,`var(--AppBar-color)`):null})}},{props:{color:`transparent`},style:{"--AppBar-background":`transparent`,"--AppBar-color":`inherit`,backgroundColor:`var(--AppBar-background)`,color:`var(--AppBar-color)`,...e.applyStyles(`dark`,{backgroundImage:`none`})}}]}))),I3e=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiAppBar`}),{className:r,color:i=`primary`,enableColorOnDark:a=!1,position:o=`fixed`,...s}=n,c={...n,color:i,position:o,enableColorOnDark:a};return(0,G.jsx)(F3e,{square:!0,component:`header`,ownerState:c,elevation:4,className:K(N3e(c).root,r,o===`fixed`&&`mui-fixed`),ref:t,...s})}),L3e={visibility:`hidden`};function R3e(e,t,n){let r=n&&n.getBoundingClientRect(),i=nh(t),a=t.style.transform,o=t.style.transition;t.style.transition=``,t.style.transform=``;let s=t.getBoundingClientRect(),c=i.getComputedStyle(t).getPropertyValue(`transform`);t.style.transform=a,t.style.transition=o;let l=0,u=0;if(c&&c!==`none`&&typeof c==`string`){let e=c.split(`(`)[1].split(`)`)[0].split(`,`);l=parseInt(e[4],10),u=parseInt(e[5],10)}return e===`left`?r?`translateX(${r.right+l-s.left}px)`:`translateX(${i.innerWidth+l-s.left}px)`:e===`right`?r?`translateX(-${s.right-r.left-l}px)`:`translateX(-${s.left+s.width-l}px)`:e===`up`?r?`translateY(${r.bottom+u-s.top}px)`:`translateY(${i.innerHeight+u-s.top}px)`:r?`translateY(-${s.top-r.top+s.height-u}px)`:`translateY(-${s.top+s.height-u}px)`}function z3e(e){return typeof e==`function`?e():e}function Z9(e,t,n){let r=R3e(e,t,z3e(n));r&&(t.style.transform=r)}var B3e=C.forwardRef(function(e,t){let n=Tm(),r={enter:n.transitions.easing.easeOut,exit:n.transitions.easing.sharp},i={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{addEndListener:a,appear:o=!0,children:s,container:c,direction:l=`down`,easing:u=r,in:d,onEnter:f,onEntered:p,onEntering:m,onExit:h,onExited:g,onExiting:_,style:v,timeout:y=i,...b}=e,x=C.useRef(null),S=uh(Kh(s),x,t),w=Xh(x,(e,t)=>{Z9(l,e,c),Yh(e),f&&f(e,t)}),T=Xh(x,(e,t)=>{let r=Qh({timeout:y,style:v,easing:u},{mode:`enter`});e.style.transition=n.transitions.create(`transform`,r),e.style.transform=`none`,m&&m(e,t)}),E=Xh(x,p),D=Xh(x,_),O=Xh(x,e=>{let t=Qh({timeout:y,style:v,easing:u},{mode:`exit`});e.style.transition=n.transitions.create(`transform`,t),Z9(l,e,c),h&&h(e)}),k=Xh(x,e=>{e.style.transition=``,g&&g(e)}),A=e=>{a&&a(x.current,e)},j=C.useCallback(()=>{x.current&&Z9(l,x.current,c)},[l,c]);return C.useEffect(()=>{if(d||l===`down`||l===`right`)return;let e=Zm(()=>{x.current&&Z9(l,x.current,c)}),t=nh(x.current);return t.addEventListener(`resize`,e),()=>{e.clear(),t.removeEventListener(`resize`,e)}},[l,d,c]),C.useEffect(()=>{d||j()},[d,j]),(0,G.jsx)(Eh,{nodeRef:x,onEnter:w,onEntered:E,onEntering:T,onExit:O,onExited:k,onExiting:D,addEndListener:A,appear:o,in:d,timeout:y,...b,children:(e,{ownerState:t,...n})=>{let r;return r=e===`exited`&&!d?v||s.props.style?{visibility:`hidden`,...v,...s.props.style}:L3e:v&&s.props.style?{...v,...s.props.style}:v||s.props.style,C.cloneElement(s,{ref:S,style:r,...n})}})});function V3e(e){return Id(`MuiDrawer`,e)}Ld(`MuiDrawer`,[`root`,`docked`,`paper`,`anchorLeft`,`anchorRight`,`anchorTop`,`anchorBottom`,`paperAnchorLeft`,`paperAnchorRight`,`paperAnchorTop`,`paperAnchorBottom`,`paperAnchorDockedLeft`,`paperAnchorDockedRight`,`paperAnchorDockedTop`,`paperAnchorDockedBottom`,`modal`]);var H3e=(e,t)=>{let{ownerState:n}=e;return[t.root,(n.variant===`permanent`||n.variant===`persistent`)&&t.docked,n.variant===`temporary`&&t.modal]},U3e=e=>{let{classes:t,anchor:n,variant:r}=e;return dp({root:[`root`,`anchor${Y(n)}`],docked:[(r===`permanent`||r===`persistent`)&&`docked`],modal:[`modal`],paper:[`paper`,`paperAnchor${Y(n)}`,r!==`temporary`&&`paperAnchorDocked${Y(n)}`]},V3e,t)},W3e=J(Ib,{name:`MuiDrawer`,slot:`Root`,overridesResolver:H3e})(Im(({theme:e})=>({zIndex:(e.vars||e).zIndex.drawer}))),G3e=J(`div`,{shouldForwardProp:Om,name:`MuiDrawer`,slot:`Docked`,skipVariantsResolver:!1,overridesResolver:H3e})({flex:`0 0 auto`}),K3e=J(Km,{name:`MuiDrawer`,slot:`Paper`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.paper,t[`paperAnchor${Y(n.anchor)}`],n.variant!==`temporary`&&t[`paperAnchorDocked${Y(n.anchor)}`]]}})(Im(({theme:e})=>({overflowY:`auto`,display:`flex`,flexDirection:`column`,height:`100%`,flex:`1 0 auto`,zIndex:(e.vars||e).zIndex.drawer,WebkitOverflowScrolling:`touch`,position:`fixed`,top:0,outline:0,variants:[{props:{anchor:`left`},style:{left:0}},{props:{anchor:`top`},style:{top:0,left:0,right:0,height:`auto`,maxHeight:`100%`}},{props:{anchor:`right`},style:{right:0}},{props:{anchor:`bottom`},style:{top:`auto`,left:0,bottom:0,right:0,height:`auto`,maxHeight:`100%`}},{props:({ownerState:e})=>e.anchor===`left`&&e.variant!==`temporary`,style:{borderRight:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:e})=>e.anchor===`top`&&e.variant!==`temporary`,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:e})=>e.anchor===`right`&&e.variant!==`temporary`,style:{borderLeft:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:e})=>e.anchor===`bottom`&&e.variant!==`temporary`,style:{borderTop:`1px solid ${(e.vars||e).palette.divider}`}}]}))),q3e={left:`right`,right:`left`,top:`down`,bottom:`up`};function J3e(e){return[`left`,`right`].includes(e)}function Y3e({direction:e},t){return e===`rtl`&&J3e(t)?q3e[t]:t}var X3e=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiDrawer`}),r=Tm(),i=Af(),a={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{anchor:o=`left`,BackdropProps:s,children:c,className:l,elevation:u=16,hideBackdrop:d=!1,ModalProps:{BackdropProps:f,...p}={},onClose:m,open:h=!1,PaperProps:g={},SlideProps:_,TransitionComponent:v,transitionDuration:y=a,variant:b=`temporary`,slots:x={},slotProps:S={},...w}=n,T=C.useRef(!1);C.useEffect(()=>{T.current=!0},[]);let E=Y3e({direction:i?`rtl`:`ltr`},o),D=o,O={...n,anchor:D,elevation:u,open:h,variant:b,...w},k=U3e(O),A={slots:{transition:v,...x},slotProps:{paper:g,transition:_,...S,backdrop:dh(S.backdrop||{...s,...f},{transitionDuration:y})}},[j,M]=Wm(`root`,{ref:t,elementType:W3e,className:K(k.root,k.modal,l),shouldForwardComponentProp:!0,ownerState:O,externalForwardedProps:{...A,...w,...p},additionalProps:{open:h,onClose:m,hideBackdrop:d,slots:{backdrop:A.slots.backdrop},slotProps:{backdrop:A.slotProps.backdrop}}}),[N,P]=Wm(`paper`,{elementType:K3e,shouldForwardComponentProp:!0,className:K(k.paper,g.className),ownerState:O,externalForwardedProps:A,additionalProps:{elevation:b===`temporary`?u:0,square:!0,...b===`temporary`&&{role:`dialog`,"aria-modal":`true`}}}),[F,I]=Wm(`docked`,{elementType:G3e,ref:t,className:K(k.root,k.docked,l),ownerState:O,externalForwardedProps:A,additionalProps:w}),[L,R]=Wm(`transition`,{elementType:B3e,ownerState:O,externalForwardedProps:A,additionalProps:{in:h,direction:q3e[E],timeout:y,appear:T.current}}),ee=(0,G.jsx)(N,{...P,children:c});if(b===`permanent`)return(0,G.jsx)(F,{...I,children:ee});let z=(0,G.jsx)(L,{...R,children:ee});return b===`persistent`?(0,G.jsx)(F,{...I,children:z}):(0,G.jsx)(j,{...M,children:z})}),Z3e=af({themeId:wm}),Q3e={error:Cx,warn:Xv,info:yb,debug:qT},$3e=({open:e,onClose:t})=>{let{t:n}=ms(),r=Tm(),i=(0,C.useMemo)(()=>({error:r.palette.error.main,warn:r.palette.warning.main,info:r.palette.info.main,debug:r.palette.secondary.main}),[r]),[a,o]=(0,C.useState)([]),[s,c]=(0,C.useState)(!0),[l,u]=(0,C.useState)(`error,warn,info`.split(`,`)),[d,f]=(0,C.useState)(``),[p,m]=(0,C.useState)(!0),h=(0,C.useCallback)(async()=>{try{let e=new URLSearchParams({level:l.join(`,`),limit:`500`,...d&&{search:d}}),t=await fetch(`api/logs?${e}`);t.ok&&o((await t.json()).entries)}catch(e){console.error(`Failed to fetch logs:`,e)}finally{c(!1)}},[l,d]);(0,C.useEffect)(()=>{e&&h()},[e,h]),(0,C.useEffect)(()=>{if(!p||!e)return;let t=setInterval(h,5e3);return()=>clearInterval(t)},[p,e,h]);let g=e=>{u(Array.isArray(e.target.value)?e.target.value:[e.target.value])},_=e=>{f(e.target.value)},v=async()=>{try{await fetch(`api/logs`,{method:`DELETE`}),o([])}catch(e){console.error(`Failed to clear logs:`,e)}},y=e=>(0,G.jsx)(Q3e[e]||yb,{sx:{fontSize:16,color:i[e]}});return(0,G.jsxs)(zb,{open:e,onClose:t,maxWidth:`lg`,fullWidth:!0,children:[(0,G.jsxs)(Hb,{sx:{display:`flex`,alignItems:`center`,gap:1},children:[(0,G.jsx)(qT,{}),n(`logs.title`),(0,G.jsx)(Z,{sx:{flexGrow:1}}),(0,G.jsx)(fb,{title:n(`logs.autoRefresh`),children:(0,G.jsx)(Dv,{label:p?`Auto`:`Manual`,color:p?`success`:`default`,size:`small`,onClick:()=>m(!p),sx:{cursor:`pointer`}})}),(0,G.jsx)(Hh,{onClick:t,children:(0,G.jsx)(YT,{})})]}),(0,G.jsxs)(Vb,{children:[(0,G.jsx)(Uv,{spacing:2,sx:{mb:2},children:(0,G.jsxs)(Uv,{direction:`row`,spacing:2,alignItems:`center`,children:[(0,G.jsxs)(Av,{size:`small`,sx:{minWidth:200},children:[(0,G.jsx)(Bx,{children:n(`logs.logLevel`)}),(0,G.jsxs)(SS,{value:l,label:n(`logs.logLevel`),onChange:g,multiple:!0,renderValue:e=>(0,G.jsx)(Z,{sx:{display:`flex`,flexWrap:`wrap`,gap:.5},children:(Array.isArray(e)?e:[e]).map(e=>(0,G.jsx)(Dv,{label:e.toUpperCase(),size:`small`,sx:{backgroundColor:i[e],color:`white`}},e))}),children:[(0,G.jsx)(CS,{value:`error`,children:n(`logs.error`)}),(0,G.jsx)(CS,{value:`warn`,children:n(`logs.warning`)}),(0,G.jsx)(CS,{value:`info`,children:n(`logs.info`)}),(0,G.jsx)(CS,{value:`debug`,children:n(`logs.debug`)})]})]}),(0,G.jsx)(ES,{size:`small`,placeholder:n(`logs.searchPlaceholder`),value:d,onChange:_,sx:{flexGrow:1}}),(0,G.jsx)(hv,{variant:`outlined`,onClick:h,children:n(`common.refresh`)}),(0,G.jsx)(hv,{variant:`outlined`,color:`error`,onClick:v,children:n(`common.delete`)})]})}),(0,G.jsx)(Z,{sx:{height:400,overflow:`auto`,backgroundColor:`background.paper`,border:1,borderColor:`divider`,borderRadius:1,p:1},children:s?(0,G.jsx)(Z,{sx:{display:`flex`,justifyContent:`center`,p:4},children:(0,G.jsxs)(Q,{children:[n(`common.loading`),`...`]})}):a.length===0?(0,G.jsx)(Z,{sx:{display:`flex`,justifyContent:`center`,p:4},children:(0,G.jsx)(Q,{color:`text.secondary`,children:n(`logs.noResults`)})}):(0,G.jsx)(Uv,{spacing:1,children:a.map((e,t)=>(0,G.jsxs)(Z,{sx:{p:1,borderRadius:1,backgroundColor:`action.hover`,fontFamily:`monospace`,fontSize:`0.875rem`,wordBreak:`break-all`},children:[(0,G.jsxs)(Z,{sx:{display:`flex`,alignItems:`center`,gap:1,mb:.5},children:[y(e.level),(0,G.jsx)(Q,{variant:`caption`,color:`text.secondary`,children:new Date(e.timestamp).toLocaleString()}),(0,G.jsx)(Dv,{label:e.level.toUpperCase(),size:`small`,sx:{backgroundColor:i[e.level],color:r.palette.getContrastText(i[e.level]??r.palette.grey[500]),fontSize:`0.7rem`,height:20}})]}),(0,G.jsx)(Q,{sx:{ml:3},children:e.message}),e.context&&(0,G.jsx)(Q,{sx:{ml:3,color:`text.secondary`,fontSize:`0.8rem`},children:JSON.stringify(e.context,null,2)})]},`${e.timestamp}-${e.level}-${t}`))})})]}),(0,G.jsx)(Bb,{children:(0,G.jsx)(hv,{onClick:t,children:n(`common.close`)})})]})};function Q9(){let{t:e}=ms(),{isConnected:t}=$_(),[n,r]=(0,C.useState)(null),[i,a]=(0,C.useState)(!1);(0,C.useEffect)(()=>{let e=async()=>{try{let e=await fetch(`api/health`);e.ok?(r(await e.json()),a(!1)):a(!0)}catch{a(!0)}};e();let t=setInterval(e,3e4);return()=>clearInterval(t)},[]);let o=e=>{let t=Math.floor(e/3600),n=Math.floor(e%3600/60);return t>0?`${t}h ${n}m`:`${n}m`},s=n?.status===`healthy`&&!i,c=n?.services?.bridges,l=c&&c.total>0&&c.running===c.total,u=c&&c.total===0,d=n?(0,G.jsxs)(Z,{sx:{p:.5},children:[(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`strong`,{children:[e(`health.version`),`:`]}),` `,n.version??e(`status.unknown`)]}),(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`strong`,{children:[e(`health.uptime`),`:`]}),` `,o(n.uptime??0)]}),n.services?.bridges&&(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`strong`,{children:[e(`nav.bridges`),`:`]}),` `,n.services.bridges.running??0,`/`,n.services.bridges.total??0,` `,e(`common.running`).toLowerCase(),(n.services.bridges.stopped??0)>0&&` (${n.services.bridges.stopped} ${e(`common.stopped`).toLowerCase()})`]}),n.services?.homeAssistant&&(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`strong`,{children:[e(`health.homeAssistant`),`:`]}),` `,n.services.homeAssistant.connected?e(`health.connected`):e(`health.disconnected`)]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`strong`,{children:`WebSocket:`}),` `,e(t?`health.connected`:`health.disconnected`)]})]}):e(`status.loadingHealth`);return(0,G.jsx)(fb,{title:d,arrow:!0,children:(0,G.jsx)(Dv,{icon:i||!s?(0,G.jsx)(Cx,{fontSize:`small`}):l?(0,G.jsx)(uv,{fontSize:`small`}):(0,G.jsx)(Sb,{fontSize:`small`}),label:e(i?`status.error`:s?t?u?`status.noBridges`:l?`common.online`:`common.starting`:`common.offline`:`status.unhealthy`),color:i||!s?`error`:!l||!t?`warning`:`success`,size:`small`,variant:`filled`,sx:{borderRadius:1,fontWeight:600,"& .MuiChip-icon":{color:`inherit`}}})})}var e6e=e=>(0,G.jsx)(`svg`,{viewBox:`0 0 91 89`,xmlSpace:`preserve`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,G.jsxs)(`g`,{style:{display:`inline`},children:[(0,G.jsx)(`path`,{style:{fill:`#18bcf2`,fillOpacity:1,strokeWidth:.266194},d:`m 49.149143,1.473171 38.513568,38.536435 c 0,0 1.248354,1.186052 2.207681,3.092371 0.959329,1.906323 1.10864,4.600698 1.10864,4.600698 v 36.786372 c 0,0 -0.01549,1.748506 -1.49842,3.050572 -1.482931,1.302064 -3.333077,1.362947 -3.333077,1.362947 l -81.325658,7.7e-5 c 0,0 -1.7523855,-0.0091 -3.17112,-1.352526 C -0.07808495,85.913164 0.05953025,84.487808 0.05953025,84.487808 V 47.704546 c 0,0 -0.0018381,-2.218618 0.95921785,-4.315832 0.9610554,-2.097209 2.3010618,-3.355005 2.3010618,-3.355005 L 41.545959,1.4719546 c 0,0 1.465224,-1.46837077 3.753488,-1.46837077 2.288268,0 3.849696,1.46958717 3.849696,1.46958717 z`}),(0,G.jsx)(`path`,{style:{fill:`#ffffff`,fillOpacity:1,strokeWidth:.175841},d:`m 31.689717,32.051124 c 2.813363,2.331095 6.157331,3.89845 9.721813,4.556421 V 17.180647 l 3.873694,-2.282955 3.870527,2.282955 V 36.60772 c 3.565364,-0.658847 6.910387,-2.226204 9.725159,-4.556417 l 7.032345,4.154609 c -11.437354,11.557779 -29.852321,11.557779 -41.290025,0 z m 8.546732,49.60988 C 44.314996,65.760441 35.09933,49.470196 19.574984,45.139543 v 8.312381 c 3.383916,1.32244 6.386113,3.496288 8.728705,6.320026 L 11.83076,69.485301 v 4.56907 l 3.873697,2.270836 16.469936,-9.713534 c 1.224356,3.48294 1.56683,7.225375 0.996449,10.879778 z M 70.977694,45.139543 c -15.515726,4.34014 -24.72189,20.626696 -20.643519,36.521461 l 7.047658,-4.15742 c -0.569325,-3.654411 -0.2265,-7.3965 0.996449,-10.87979 l 16.457611,9.701233 3.870711,-2.283125 v -4.55677 L 62.233673,59.77195 c 2.342772,-2.822684 5.34497,-4.996533 8.728708,-6.320026 z`})]})}),t6e=e=>{let t=A3e();return(0,G.jsxs)(Z,{component:ea,to:J9.dashboard,sx:{display:`flex`,alignItems:`center`,justifyContent:e.large?`flex-start`:`center`,flexGrow:1,textDecoration:`none`,color:`inherit`},children:[(0,G.jsx)(e6e,{style:{height:`40px`}}),(0,G.jsx)(Q,{variant:`inherit`,component:`span`,sx:{mr:1,ml:1},children:t.name.split(`-`).map(Y).join(`-`)}),e.large&&(0,G.jsx)(Q,{variant:`caption`,component:`span`,children:t.version})]})},n6e=()=>{let e=Z3e(`(min-width:600px)`),{mode:t,setMode:n}=Fm(),[r,i]=(0,C.useState)(!1),[a,o]=(0,C.useState)(!1),s=Sr(),c=yr(),l=e=>e?e===`/`?c.pathname===`/`:c.pathname.startsWith(e):!1,u=()=>{n(t===`dark`?`light`:`dark`)},{t:d}=ms(),f=[{label:d(`dashboard.title`),icon:(0,G.jsx)($T,{}),to:J9.dashboard},{label:d(`nav.bridges`),icon:(0,G.jsx)(eE,{}),to:J9.bridges},{label:d(`nav.devices`),icon:(0,G.jsx)(hb,{}),to:J9.devices},{label:d(`nav.networkMap`),icon:(0,G.jsx)(HT,{}),to:J9.networkMap},{label:d(`nav.startupOrder`),icon:(0,G.jsx)(dv,{}),to:J9.startup},{label:d(`nav.lockCredentials`),icon:(0,G.jsx)(CT,{}),to:J9.lockCredentials},{label:d(`nav.filterReference`),icon:(0,G.jsx)(tE,{}),to:J9.labels},{label:`Plugins`,icon:(0,G.jsx)(ZT,{}),to:J9.plugins},{label:d(`nav.settings`),icon:(0,G.jsx)(MT,{}),to:J9.settings},{label:d(t===`dark`?`nav.lightMode`:`nav.darkMode`),icon:t===`dark`?(0,G.jsx)(Fhe,{}):(0,G.jsx)(She,{}),onClick:u},{label:d(`nav.systemLogs`),icon:(0,G.jsx)(qT,{}),onClick:()=>i(!0)},{label:d(`nav.health`),icon:(0,G.jsx)(kx,{}),to:J9.health}],p=e=>{o(!1),e.onClick?e.onClick():e.to&&s(e.to)};return(0,G.jsxs)(Z,{children:[(0,G.jsx)(I3e,{sx:{height:`72px`},children:(0,G.jsx)(_3e,{sx:{paddingLeft:`0 !important`,paddingRight:`0 !important`},children:(0,G.jsxs)(X9,{sx:{padding:2,height:`100%`,display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,G.jsx)(t6e,{large:e}),e?(0,G.jsxs)(Z,{sx:{display:`flex`,alignItems:`center`,gap:1},children:[f.map(e=>e.to?(0,G.jsx)(fb,{title:e.label,children:(0,G.jsx)(Hh,{component:ea,to:e.to,sx:{color:`inherit`,bgcolor:l(e.to)?`rgba(255,255,255,0.15)`:`transparent`,borderRadius:1},children:e.icon})},e.label):(0,G.jsx)(fb,{title:e.label,children:(0,G.jsx)(Hh,{onClick:e.onClick,sx:{color:`inherit`},children:e.icon})},e.label)),(0,G.jsx)(Q9,{})]}):(0,G.jsxs)(Z,{sx:{display:`flex`,alignItems:`center`,gap:.5},children:[(0,G.jsx)(Q9,{}),(0,G.jsx)(Hh,{onClick:()=>o(!0),sx:{color:`inherit`},children:(0,G.jsx)(Ihe,{})})]})]})})}),(0,G.jsx)(X3e,{anchor:`right`,open:a,onClose:()=>o(!1),children:(0,G.jsx)(ey,{sx:{width:250},children:f.map(e=>(0,G.jsxs)(Iae,{selected:l(e.to),onClick:()=>p(e),children:[(0,G.jsx)(ay,{children:e.icon}),(0,G.jsx)(sy,{primary:e.label})]},e.label))})}),(0,G.jsx)($3e,{open:r,onClose:()=>i(!1)})]})},r6e=()=>{let{versionMismatch:e,frontendVersion:t,backendVersion:n}=A3e(),{isConnected:r}=$_();return(0,G.jsxs)(Z,{children:[(0,G.jsx)(n6e,{}),(0,G.jsx)(_3e,{}),e&&(0,G.jsxs)(Gh,{severity:`warning`,variant:`filled`,sx:{borderRadius:0},action:(0,G.jsx)(hv,{color:`inherit`,size:`small`,onClick:()=>window.location.reload(),children:`Reload`}),children:[`Version mismatch: frontend `,t,`, backend `,n,`. Please reload to get the latest UI.`]}),!r&&(0,G.jsx)(Gh,{severity:`error`,variant:`filled`,sx:{borderRadius:0},children:`Connection lost, data may be outdated. Reconnecting…`}),(0,G.jsx)(X9,{sx:{p:2},children:(0,G.jsx)(v3e,{children:(0,G.jsx)(oi,{})})}),(0,G.jsx)(j3e,{}),(0,G.jsx)(O3e,{})]})},i6e=Sm({colorSchemes:{light:{palette:{primary:{main:`#1976d2`,light:`#42a5f5`,dark:`#1565c0`},secondary:{main:`#9c27b0`,light:`#ba68c8`,dark:`#7b1fa2`},background:{default:`#f5f5f5`,paper:`#ffffff`}}},dark:{palette:{primary:{main:`#90caf9`,light:`#e3f2fd`,dark:`#42a5f5`},secondary:{main:`#ce93d8`,light:`#f3e5f5`,dark:`#ab47bc`},background:{default:`#121212`,paper:`#1e1e1e`}}}},typography:{fontFamily:`"Roboto", "Helvetica", "Arial", sans-serif`,h1:{fontSize:`2.5rem`,fontWeight:500},h2:{fontSize:`2rem`,fontWeight:500},h3:{fontSize:`1.75rem`,fontWeight:500},h4:{fontSize:`1.5rem`,fontWeight:500},h5:{fontSize:`1.25rem`,fontWeight:500},h6:{fontSize:`1rem`,fontWeight:500}},shape:{borderRadius:8},components:{MuiCard:{styleOverrides:{root:{transition:`transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out`,"&:hover":{transform:`translateY(-2px)`,boxShadow:`0 4px 20px rgba(0,0,0,0.12)`}}}},MuiButton:{styleOverrides:{root:{textTransform:`none`,fontWeight:500}}},MuiChip:{styleOverrides:{root:{fontWeight:500}}},MuiAppBar:{styleOverrides:{root:{backgroundImage:`none`}}}}}),$9=document.getElementsByTagName(`base`)[0]?.href?.replace(/\/$/,``);$9?.startsWith(`http`)&&($9=new URL($9).pathname);var a6e=Yi([{path:`/`,element:(0,G.jsx)(r6e,{}),children:u3e}],{basename:$9});(0,S.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(C.StrictMode,{children:(0,G.jsx)(L,{store:p3e,children:(0,G.jsxs)(Gee,{theme:i6e,children:[(0,G.jsx)(zee,{}),(0,G.jsx)(Em,{styles:{".rjsf-field-array > .MuiFormControl-root > .MuiPaper-root > .MuiBox-root > .MuiGrid-root > .MuiGrid-root:has(> .MuiBox-root > .MuiPaper-root > .MuiBox-root > .rjsf-field)":{overflow:`initial !important`,flexGrow:1}}}),(0,G.jsx)(xre,{children:(0,G.jsx)(sne,{children:(0,G.jsx)(ba,{router:a6e})})})]})})}));
469
+ `},Q0e={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function $0e(e){let{announcements:t=Q0e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Z0e}=e,{announce:a,announcement:o}=q0e(),s=f9(`DndLiveRegion`),[c,l]=(0,C.useState)(!1);if((0,C.useEffect)(()=>{l(!0)},[]),Y0e((0,C.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=C.createElement(C.Fragment,null,C.createElement(G0e,{id:r,value:i.draggable}),C.createElement(K0e,{id:s,announcement:o}));return n?(0,ya.createPortal)(u,n):u}var v9;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(v9||={});function y9(){}function e2e(e,t){return(0,C.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function t2e(){var e=[...arguments];return(0,C.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var b9=Object.freeze({x:0,y:0});function n2e(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function r2e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function i2e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function a2e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function o2e(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function s2e(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var c2e=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=s2e(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=n2e(s2e(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(r2e)},l2e=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=a2e(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=a2e(r),o=i.reduce((e,t,r)=>e+n2e(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(r2e)};function u2e(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var d2e=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=u2e(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(i2e)};function f2e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function p2e(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:b9}function m2e(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var h2e=m2e(1);function g2e(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function _2e(e,t,n){let r=g2e(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var v2e={ignoreTransform:!1};function x9(e,t){t===void 0&&(t=v2e);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=t9(e).getComputedStyle(e);t&&(n=_2e(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function y2e(e){return x9(e,{ignoreTransform:!0})}function b2e(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function x2e(e,t){return t===void 0&&(t=t9(e).getComputedStyle(e)),t.position===`fixed`}function S2e(e,t){t===void 0&&(t=t9(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function S9(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(n9(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!r9(i)||L0e(i)||n.includes(i))return n;let a=t9(e).getComputedStyle(i);return i!==e&&S2e(i,a)&&n.push(i),x2e(i,a)?n:r(i.parentNode)}return e?r(e):n}function C2e(e){let[t]=S9(e,1);return t??null}function C9(e){return!Q7||!e?null:$7(e)?e:e9(e)?n9(e)||e===i9(e).scrollingElement?window:r9(e)?e:null:null}function w2e(e){return $7(e)?e.scrollX:e.scrollLeft}function T2e(e){return $7(e)?e.scrollY:e.scrollTop}function w9(e){return{x:w2e(e),y:T2e(e)}}var T9;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(T9||={});function E2e(e){return!Q7||!e?!1:e===document.scrollingElement}function D2e(e){let t={x:0,y:0},n=E2e(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var O2e={x:.2,y:.2};function k2e(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=O2e);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=D2e(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=T9.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=T9.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=T9.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=T9.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function A2e(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function j2e(e){return e.reduce((e,t)=>p9(e,w9(t)),b9)}function M2e(e){return e.reduce((e,t)=>e+w2e(t),0)}function N2e(e){return e.reduce((e,t)=>e+T2e(t),0)}function P2e(e,t){if(t===void 0&&(t=x9),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);C2e(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var F2e=[[`x`,[`left`,`right`],M2e],[`y`,[`top`,`bottom`],N2e]],E9=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=S9(t),r=j2e(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of F2e)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,`rect`,{enumerable:!1})}},D9=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function I2e(e){let{EventTarget:t}=t9(e);return e instanceof t?e:i9(e)}function O9(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var k9;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(k9||={});function L2e(e){e.preventDefault()}function R2e(e){e.stopPropagation()}var A9;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(A9||={});var z2e={start:[A9.Space,A9.Enter],cancel:[A9.Esc],end:[A9.Space,A9.Enter,A9.Tab]},B2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case A9.Right:return{...n,x:n.x+25};case A9.Left:return{...n,x:n.x-25};case A9.Down:return{...n,y:n.y+25};case A9.Up:return{...n,y:n.y-25}}},j9=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new D9(i9(t)),this.windowListeners=new D9(t9(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(k9.Resize,this.handleCancel),this.windowListeners.add(k9.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(k9.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&P2e(n),t(b9)}handleKeyDown(e){if(h9(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=z2e,coordinateGetter:a=B2e,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:b9;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=m9(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=D2e(n),p=A2e(n),m={x:Math.min(i===A9.Right?p.right-p.width/2:p.right,Math.max(i===A9.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===A9.Down?p.bottom-p.height/2:p.bottom,Math.max(i===A9.Down?p.top:p.top+p.height/2,u.y))},h=i===A9.Right&&!s||i===A9.Left&&!c,g=i===A9.Down&&!l||i===A9.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===A9.Right&&e<=d.x||i===A9.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===A9.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===A9.Down&&e<=d.y||i===A9.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===A9.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,p9(m9(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};j9.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=z2e,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function V2e(e){return!!(e&&`distance`in e)}function H2e(e){return!!(e&&`delay`in e)}var M9=class{constructor(e,t,n){n===void 0&&(n=I2e(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=i9(i),this.documentListeners=new D9(this.document),this.listeners=new D9(n),this.windowListeners=new D9(t9(i)),this.initialCoordinates=g9(r)??b9,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(k9.Resize,this.handleCancel),this.windowListeners.add(k9.DragStart,L2e),this.windowListeners.add(k9.VisibilityChange,this.handleCancel),this.windowListeners.add(k9.ContextMenu,L2e),this.documentListeners.add(k9.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(H2e(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(V2e(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(k9.Click,R2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(k9.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=g9(e)??b9,s=m9(n,o);if(!t&&a){if(V2e(a)){if(a.tolerance!=null&&O9(s,a.tolerance))return this.handleCancel();if(O9(s,a.distance))return this.handleStart()}if(H2e(a)&&O9(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===A9.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},U2e={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},N9=class extends M9{constructor(e){let{event:t}=e,n=i9(t.target);super(e,U2e,n)}};N9.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var W2e={move:{name:`mousemove`},end:{name:`mouseup`}},G2e;(function(e){e[e.RightClick=2]=`RightClick`})(G2e||={});var K2e=class extends M9{constructor(e){super(e,W2e,i9(e.event.target))}};K2e.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===G2e.RightClick?!1:(r?.({event:n}),!0)}}];var P9={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},q2e=class extends M9{constructor(e){super(e,P9)}static setup(){return window.addEventListener(P9.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(P9.move.name,e)};function e(){}}};q2e.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var F9;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(F9||={});var I9;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(I9||={});function J2e(e){let{acceleration:t,activator:n=F9.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=I9.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=X2e({delta:d,disabled:!a}),[m,h]=R0e(),g=(0,C.useRef)({x:0,y:0}),_=(0,C.useRef)({x:0,y:0}),v=(0,C.useMemo)(()=>{switch(n){case F9.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case F9.DraggableRect:return i}},[n,i,c]),y=(0,C.useRef)(null),b=(0,C.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,C.useMemo)(()=>s===I9.TreeOrder?[...l].reverse():l,[s,l]);(0,C.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=k2e(e,n,v,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),y.current=e,m(b,o),g.current=a,_.current=i;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var Y2e={x:{[T9.Backward]:!1,[T9.Forward]:!1},y:{[T9.Backward]:!1,[T9.Forward]:!1}};function X2e(e){let{delta:t,disabled:n}=e,r=u9(t);return c9(e=>{if(n||!r||!e)return Y2e;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[T9.Backward]:e.x[T9.Backward]||i.x===-1,[T9.Forward]:e.x[T9.Forward]||i.x===1},y:{[T9.Backward]:e.y[T9.Backward]||i.y===-1,[T9.Forward]:e.y[T9.Forward]||i.y===1}}},[n,t,r])}function Z2e(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return c9(e=>t==null?null:r??e??null,[r,t])}function Q2e(e,t){return(0,C.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var L9;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(L9||={});var $2e;(function(e){e.Optimized=`optimized`})($2e||={});var e4e=new Map;function t4e(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,C.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,C.useRef)(e),d=g(),f=s9(d),p=(0,C.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,C.useRef)(null),h=c9(t=>{if(d&&!n)return e4e;if(!t||t===e4e||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new E9(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,C.useEffect)(()=>{u.current=e},[e]),(0,C.useEffect)(()=>{d||p()},[n,d]),(0,C.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,C.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case L9.Always:return!1;case L9.BeforeDragging:return n;default:return!n}}}function n4e(e,t){return c9(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function r4e(e,t){return n4e(e,t)}function i4e(e){let{callback:t,disabled:n}=e,r=o9(t),i=(0,C.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,C.useEffect)(()=>()=>i?.disconnect(),[i]),i}function R9(e){let{callback:t,disabled:n}=e,r=o9(t),i=(0,C.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,C.useEffect)(()=>()=>i?.disconnect(),[i]),i}function a4e(e){return new E9(x9(e),e)}function o4e(e,t,n){t===void 0&&(t=a4e);let[r,i]=(0,C.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=i4e({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=R9({callback:a});return a9(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function s4e(e){return p2e(e,n4e(e))}var c4e=[];function l4e(e){let t=(0,C.useRef)(e),n=c9(n=>e?n&&n!==c4e&&e&&t.current&&e.parentNode===t.current.parentNode?n:S9(e):c4e,[e]);return(0,C.useEffect)(()=>{t.current=e},[e]),n}function u4e(e){let[t,n]=(0,C.useState)(null),r=(0,C.useRef)(e),i=(0,C.useCallback)(e=>{let t=C9(e.target);t&&n(e=>e?(e.set(t,w9(t)),new Map(e)):null)},[]);return(0,C.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=C9(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,w9(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{C9(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,C.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>p9(e,t),b9):j2e(e):b9,[e,t])}function d4e(e,t){t===void 0&&(t=[]);let n=(0,C.useRef)(null);return(0,C.useEffect)(()=>{n.current=null},t),(0,C.useEffect)(()=>{let t=e!==b9;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?m9(e,n.current):b9}function f4e(e){(0,C.useEffect)(()=>{if(!Q7)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function p4e(e,t){return(0,C.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function m4e(e){return(0,C.useMemo)(()=>e?b2e(e):null,[e])}var h4e=[];function g4e(e,t){t===void 0&&(t=x9);let[n]=e,r=m4e(n?t9(n):null),[i,a]=(0,C.useState)(h4e);function o(){a(()=>e.length?e.map(e=>E2e(e)?r:new E9(t(e),e)):h4e)}let s=R9({callback:o});return a9(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function _4e(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return r9(t)?t:e}function v4e(e){let{measure:t}=e,[n,r]=(0,C.useState)(null),i=R9({callback:(0,C.useCallback)(e=>{for(let{target:n}of e)if(r9(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=l9((0,C.useCallback)(e=>{let n=_4e(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,C.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var y4e=[{sensor:N9,options:{}},{sensor:j9,options:{}}],b4e={current:{}},z9={draggable:{measure:y2e},droppable:{measure:y2e,strategy:L9.WhileDragging,frequency:$2e.Optimized},dragOverlay:{measure:x9}},B9=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},x4e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new B9,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:y9},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:z9,measureDroppableContainers:y9,windowRect:null,measuringScheduled:!1},S4e={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:y9,draggableNodes:new Map,over:null,measureDroppableContainers:y9},V9=(0,C.createContext)(S4e),C4e=(0,C.createContext)(x4e);function w4e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new B9}}}function T4e(e,t){switch(t.type){case v9.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case v9.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case v9.DragEnd:case v9.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case v9.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new B9(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case v9.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new B9(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case v9.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new B9(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function E4e(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,C.useContext)(V9),a=u9(r),o=u9(n?.id);return(0,C.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!h9(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=U0e(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function D4e(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function O4e(e){return(0,C.useMemo)(()=>({draggable:{...z9.draggable,...e?.draggable},droppable:{...z9.droppable,...e?.droppable},dragOverlay:{...z9.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function k4e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,C.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;a9(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=p2e(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=C2e(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var A4e=(0,C.createContext)({...b9,scaleX:1,scaleY:1}),H9;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(H9||={});var j4e=(0,C.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=y4e,collisionDetection:o=d2e,measuring:s,modifiers:c,...l}=e,[u,d]=(0,C.useReducer)(T4e,void 0,w4e),[f,p]=X0e(),[m,h]=(0,C.useState)(H9.Uninitialized),g=m===H9.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,C.useRef)({initial:null,translated:null}),w=(0,C.useMemo)(()=>_==null?null:{id:_,data:x?.data??b4e,rect:S},[_,x]),T=(0,C.useRef)(null),[E,D]=(0,C.useState)(null),[O,k]=(0,C.useState)(null),A=s9(l,Object.values(l)),j=f9(`DndDescribedBy`,t),M=(0,C.useMemo)(()=>b.getEnabled(),[b]),N=O4e(s),{droppableRects:P,measureDroppableContainers:F,measuringScheduled:I}=t4e(M,{dragging:g,dependencies:[y.x,y.y],config:N.droppable}),L=Z2e(v,_),R=(0,C.useMemo)(()=>O?g9(O):null,[O]),ee=Te(),z=r4e(L,N.draggable.measure);k4e({activeNode:_==null?null:v.get(_),config:ee.layoutShiftCompensation,initialRect:z,measure:N.draggable.measure});let te=o4e(L,N.draggable.measure,z),B=o4e(L?L.parentElement:null),V=(0,C.useRef)({activatorEvent:null,active:null,activeNode:L,collisionRect:null,collisions:null,droppableRects:P,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ne=b.getNodeFor(V.current.over?.id),re=v4e({measure:N.dragOverlay.measure}),ie=re.nodeRef.current??L,ae=g?re.rect??te:null,oe=!!(re.nodeRef.current&&re.rect),se=s4e(oe?null:te),ce=m4e(ie?t9(ie):null),le=l4e(g?ne??L:null),ue=g4e(le),H=D4e(c,{transform:{x:y.x-se.x,y:y.y-se.y,scaleX:1,scaleY:1},activatorEvent:O,active:w,activeNodeRect:te,containerNodeRect:B,draggingNodeRect:ae,over:V.current.over,overlayNodeRect:re.rect,scrollableAncestors:le,scrollableAncestorRects:ue,windowRect:ce}),de=R?p9(R,y):null,fe=u4e(le),U=d4e(fe),pe=d4e(fe,[te]),me=p9(H,U),W=ae?h2e(ae,H):null,he=w&&W?o({active:w,collisionRect:W,droppableRects:P,droppableContainers:M,pointerCoordinates:de}):null,ge=o2e(he,`id`),[_e,ve]=(0,C.useState)(null),ye=f2e(oe?H:p9(H,pe),_e?.rect??null,te),be=(0,C.useRef)(null),xe=(0,C.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(T.current==null)return;let i=v.get(T.current);if(!i)return;let a=e.nativeEvent;be.current=new n({active:T.current,activeNode:i,event:a,options:r,context:V,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=A.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=A.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=T.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=A.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,ya.unstable_batchedUpdates)(()=>{r?.(i),h(H9.Initializing),d({type:v9.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),D(be.current),k(a)})},onMove(e){d({type:v9.DragMove,coordinates:e})},onEnd:o(v9.DragEnd),onCancel:o(v9.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=V.current,o=null;if(t&&i){let{cancelDrop:s}=A.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===v9.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=v9.DragCancel)}T.current=null,(0,ya.unstable_batchedUpdates)(()=>{d({type:e}),h(H9.Uninitialized),ve(null),D(null),k(null),be.current=null;let t=e===v9.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=A.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),Se=Q2e(a,(0,C.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(T.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},T.current=r,xe(n,t))},[v,xe]));f4e(a),a9(()=>{te&&m===H9.Initializing&&h(H9.Initialized)},[te,m]),(0,C.useEffect)(()=>{let{onDragMove:e}=A.current,{active:t,activatorEvent:n,collisions:r,over:i}=V.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:me.x,y:me.y},over:i};(0,ya.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[me.x,me.y]),(0,C.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=V.current;if(!e||T.current==null||!t||!i)return;let{onDragOver:a}=A.current,o=r.get(ge),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,ya.unstable_batchedUpdates)(()=>{ve(s),a?.(c),f({type:`onDragOver`,event:c})})},[ge]),a9(()=>{V.current={activatorEvent:O,active:w,activeNode:L,collisionRect:W,collisions:he,droppableRects:P,draggableNodes:v,draggingNode:ie,draggingNodeRect:ae,droppableContainers:b,over:_e,scrollableAncestors:le,scrollAdjustedTranslate:me},S.current={initial:ae,translated:W}},[w,L,he,W,v,ie,ae,P,b,_e,le,me]),J2e({...ee,delta:y,draggingRect:W,pointerCoordinates:de,scrollableAncestors:le,scrollableAncestorRects:ue});let Ce=(0,C.useMemo)(()=>({active:w,activeNode:L,activeNodeRect:te,activatorEvent:O,collisions:he,containerNodeRect:B,dragOverlay:re,draggableNodes:v,droppableContainers:b,droppableRects:P,over:_e,measureDroppableContainers:F,scrollableAncestors:le,scrollableAncestorRects:ue,measuringConfiguration:N,measuringScheduled:I,windowRect:ce}),[w,L,te,O,he,B,re,v,b,P,_e,F,le,ue,N,I,ce]),we=(0,C.useMemo)(()=>({activatorEvent:O,activators:Se,active:w,activeNodeRect:te,ariaDescribedById:{draggable:j},dispatch:d,draggableNodes:v,over:_e,measureDroppableContainers:F}),[O,Se,w,te,d,j,v,_e,F]);return C.createElement(J0e.Provider,{value:p},C.createElement(V9.Provider,{value:we},C.createElement(C4e.Provider,{value:Ce},C.createElement(A4e.Provider,{value:ye},i)),C.createElement(E4e,{disabled:n?.restoreFocus===!1})),C.createElement($0e,{...n,hiddenTextDescribedById:j}));function Te(){let e=E?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),M4e=(0,C.createContext)(null),N4e=`button`,P4e=`Draggable`;function F4e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=f9(P4e),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,C.useContext)(V9),{role:p=N4e,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,C.useContext)(g?A4e:M4e),[v,y]=l9(),[b,x]=l9(),S=p4e(o,t),w=s9(n);return a9(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:w}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,C.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===N4e?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function I4e(){return(0,C.useContext)(C4e)}var L4e=`Droppable`,R4e={timeout:25};function z4e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=f9(L4e),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,C.useContext)(V9),u=(0,C.useRef)({disabled:n}),d=(0,C.useRef)(!1),f=(0,C.useRef)(null),p=(0,C.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...R4e,...i},_=s9(h??r),v=R9({callback:(0,C.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=l9((0,C.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=s9(t);return(0,C.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,C.useEffect)(()=>(s({type:v9.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:v9.UnregisterDroppable,key:a,id:r})),[r]),(0,C.useEffect)(()=>{n!==u.current.disabled&&(s({type:v9.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function U9(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function B4e(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function W9(e){return e!==null&&e>=0}function V4e(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function H4e(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var U4e=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=U9(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},G9={scaleX:1,scaleY:1},W4e=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...G9}:null}let s=G4e(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...G9}:r<t&&r>=a?{x:0,y:o.height+s,...G9}:{x:0,y:0,...G9}};function G4e(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var K4e=`Sortable`,q4e=C.createContext({activeIndex:-1,containerId:K4e,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:U4e,disabled:{draggable:!1,droppable:!1}});function J4e(e){let{children:t,id:n,items:r,strategy:i=U4e,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=I4e(),d=f9(K4e,n),f=s.rect!==null,p=(0,C.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,C.useRef)(p),v=!V4e(p,_.current),y=g!==-1&&h===-1||v,b=H4e(a);a9(()=>{v&&m&&u(p)},[v,p,m,u]),(0,C.useEffect)(()=>{_.current=p},[p]);let x=(0,C.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:B4e(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return C.createElement(q4e.Provider,{value:x},t)}var Y4e=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return U9(n,r,i).indexOf(t)},X4e=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Z4e={duration:200,easing:`ease`},Q4e=`transform`,$4e=_9.Transition.toString({property:Q4e,duration:0,easing:`linear`}),e3e={roleDescription:`sortable`};function t3e(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,C.useState)(null),s=(0,C.useRef)(n);return a9(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=x9(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,C.useEffect)(()=>{a&&o(null)},[a]),a}function n3e(e){let{animateLayoutChanges:t=X4e,attributes:n,disabled:r,data:i,getNewIndex:a=Y4e,id:o,strategy:s,resizeObserverConfig:c,transition:l=Z4e}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,C.useContext)(q4e),y=r3e(r,p),b=u.indexOf(o),x=(0,C.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,C.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:w,node:T,isOver:E,setNodeRef:D}=z4e({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:O,activatorEvent:k,activeNodeRect:A,attributes:j,setNodeRef:M,listeners:N,isDragging:P,over:F,setActivatorNodeRef:I,transform:L}=F4e({id:o,data:x,attributes:{...e3e,...n},disabled:y.draggable}),R=I0e(D,M),ee=!!O,z=ee&&!m&&W9(f)&&W9(g),te=!_&&P,B=z?(te&&z?L:null)??(s??v)({rects:h,activeNodeRect:A,activeIndex:f,overIndex:g,index:b}):null,V=W9(f)&&W9(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,ne=O?.id,re=(0,C.useRef)({activeId:ne,items:u,newIndex:V,containerId:d}),ie=u!==re.current.items,ae=t({active:O,containerId:d,isDragging:P,isSorting:ee,id:o,index:b,items:u,newIndex:re.current.newIndex,previousItems:re.current.items,previousContainerId:re.current.containerId,transition:l,wasDragging:re.current.activeId!=null}),oe=t3e({disabled:!ae,index:b,node:T,rect:w});return(0,C.useEffect)(()=>{ee&&re.current.newIndex!==V&&(re.current.newIndex=V),d!==re.current.containerId&&(re.current.containerId=d),u!==re.current.items&&(re.current.items=u)},[ee,V,d,u]),(0,C.useEffect)(()=>{if(ne===re.current.activeId)return;if(ne!=null&&re.current.activeId==null){re.current.activeId=ne;return}let e=setTimeout(()=>{re.current.activeId=ne},50);return()=>clearTimeout(e)},[ne]),{active:O,activeIndex:f,attributes:j,data:x,rect:w,index:b,newIndex:V,items:u,isOver:E,isSorting:ee,isDragging:P,listeners:N,node:T,overIndex:g,over:F,setNodeRef:R,setActivatorNodeRef:I,setDroppableNodeRef:D,setDraggableNodeRef:M,transform:oe??B,transition:se()};function se(){if(oe||ie&&re.current.newIndex===b)return $4e;if(!(te&&!h9(k)||!l)&&(ee||ae))return _9.Transition.toString({...l,property:Q4e})}}function r3e(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function K9(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var i3e=[A9.Down,A9.Right,A9.Up,A9.Left],a3e=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(i3e.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case A9.Down:r.top<a.top&&t.push(n);break;case A9.Up:r.top>a.top&&t.push(n);break;case A9.Left:r.left>a.left&&t.push(n);break;case A9.Right:r.left<a.left&&t.push(n);break}});let c=l2e({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=o2e(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=S9(c).some((e,t)=>s[t]!==e),i=o3e(e,t),a=s3e(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:m9(u,l)}}}};function o3e(e,t){return!K9(e)||!K9(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function s3e(e,t){return!K9(e)||!K9(t)||!o3e(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var c3e=({bridge:e,index:t})=>{let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=n3e({id:e.id}),[c,l]=(0,C.useState)(!1);return(0,C.useEffect)(()=>{vE(e.id).then(l)},[e.id]),(0,G.jsx)(gv,{ref:i,style:{transform:_9.Transform.toString(a),transition:o,opacity:s?.5:1},variant:`outlined`,sx:{cursor:`grab`,"&:active":{cursor:`grabbing`},bgcolor:s?`action.selected`:`background.paper`,width:`fit-content`},children:(0,G.jsxs)(yv,{sx:{display:`flex`,alignItems:`center`,gap:1.5,py:1,"&:last-child":{pb:1}},children:[(0,G.jsx)(Z,{...n,...r,sx:{display:`flex`,alignItems:`center`,color:`text.secondary`},children:(0,G.jsx)(Ehe,{})}),(0,G.jsx)(Dv,{label:t+1,size:`small`,color:`primary`,sx:{minWidth:32,fontWeight:`bold`}}),c?(0,G.jsx)(Z,{component:`img`,src:yE(e.id),alt:e.name,sx:{width:40,height:40,borderRadius:`50%`,objectFit:`cover`,boxShadow:2}}):(0,G.jsx)(Tb,{sx:{bgcolor:TE(e),width:40,height:40,boxShadow:2},children:(0,G.jsx)(wE(e),{sx:{fontSize:24}})}),(0,G.jsxs)(Z,{sx:{flex:1},children:[(0,G.jsx)(Q,{variant:`subtitle1`,fontWeight:500,children:e.name}),(0,G.jsxs)(Q,{variant:`caption`,color:`text.secondary`,children:[`Port: `,e.port,` • Priority: `,e.priority??100]})]})]})})},l3e=()=>{let{t:e}=ms(),t=Jv(),{content:n,isLoading:r}=FT(),i=Wme(),[a,o]=(0,C.useState)([]),[s,c]=(0,C.useState)(!1);(0,C.useEffect)(()=>{n&&(o([...n].sort((e,t)=>(e.priority??100)-(t.priority??100))),c(!1))},[n]);let l=t2e(e2e(N9),e2e(j9,{coordinateGetter:a3e})),u=(0,C.useCallback)(e=>{let{active:t,over:n}=e;n&&t.id!==n.id&&(o(e=>U9(e,e.findIndex(e=>e.id===t.id),e.findIndex(e=>e.id===n.id))),c(!0))},[]),d=(0,C.useCallback)(async()=>{let n=a.map((e,t)=>({id:e.id,priority:(t+1)*10}));try{await i(n),t.show({message:e(`startup.saveSuccess`),severity:`success`}),c(!1)}catch(n){t.show({message:n instanceof Error?n.message:e(`startup.saveFailed`),severity:`error`})}},[a,i,t,e]),f=(0,C.useMemo)(()=>a.map(e=>e.id),[a]);return r?(0,G.jsxs)(Q,{children:[e(`common.loading`),`...`]}):(0,G.jsxs)(Uv,{spacing:3,children:[(0,G.jsx)(qv,{items:[{name:e(`nav.bridges`),to:J9.bridges},{name:e(`startup.title`),to:J9.startup}]}),(0,G.jsxs)(Z,{display:`flex`,alignItems:`center`,gap:2,children:[(0,G.jsx)(dv,{color:`primary`,fontSize:`large`}),(0,G.jsxs)(Z,{children:[(0,G.jsx)(Q,{variant:`h5`,fontWeight:600,children:e(`startup.title`)}),(0,G.jsx)(Q,{variant:`body2`,color:`text.secondary`,children:e(`startup.description`)})]})]}),s&&(0,G.jsx)(Gh,{severity:`info`,action:(0,G.jsx)(hv,{color:`inherit`,size:`small`,startIcon:(0,G.jsx)(cE,{}),onClick:d,children:e(`startup.saveChanges`)}),children:e(`startup.unsavedChanges`)}),(0,G.jsx)(j4e,{sensors:l,collisionDetection:c2e,onDragEnd:u,children:(0,G.jsx)(J4e,{items:f,strategy:W4e,children:(0,G.jsx)(Uv,{spacing:1,children:a.map((e,t)=>(0,G.jsx)(c3e,{bridge:e,index:t},e.id))})})}),a.length===0&&(0,G.jsx)(Q,{color:`text.secondary`,textAlign:`center`,py:4,children:e(`startup.noBridges`)}),s&&a.length>0&&(0,G.jsx)(Z,{display:`flex`,justifyContent:`flex-end`,children:(0,G.jsx)(hv,{variant:`contained`,startIcon:(0,G.jsx)(cE,{}),onClick:d,children:e(`startup.saveOrder`)})})]})},q9=`https://riddix.github.io/home-assistant-matter-hub`,J9={dashboard:`/`,bridges:`/bridges`,bridge:e=>`/bridges/${e}`,createBridge:`/bridges/create`,areaSetup:`/bridges/area-setup`,editBridge:e=>`/bridges/${e}/edit`,devices:`/devices`,networkMap:`/network-map`,health:`/health`,labels:`/labels`,lockCredentials:`/lock-credentials`,plugins:`/plugins`,settings:`/settings`,startup:`/startup`,githubRepository:`https://github.com/riddix/home-assistant-matter-hub/`,documentation:q9,support:`${q9}/support`,faq:{multiFabric:`${q9}/connect-multiple-fabrics`,bridgeConfig:`${q9}/bridge-configuration`}},u3e=[{path:``,element:(0,G.jsx)(Sre,{}),children:[{path:``,element:(0,G.jsx)(qge,{})},{path:J9.bridges,element:(0,G.jsx)(Vge,{})},{path:J9.createBridge,element:(0,G.jsx)(Dqe,{})},{path:J9.areaSetup,element:(0,G.jsx)(yae,{})},{path:J9.bridge(`:bridgeId`),element:(0,G.jsx)(ohe,{})},{path:J9.editBridge(`:bridgeId`),element:(0,G.jsx)(Oqe,{})},{path:J9.devices,element:(0,G.jsx)(d_e,{})},{path:J9.networkMap,element:(0,G.jsx)(o0e,{})},{path:J9.health,element:(0,G.jsx)(qqe,{})},{path:J9.labels,element:(0,G.jsx)(Zqe,{})},{path:J9.lockCredentials,element:(0,G.jsx)(rJe,{})},{path:J9.plugins,element:(0,G.jsx)(A0e,{})},{path:J9.settings,element:(0,G.jsx)(F0e,{})},{path:J9.startup,element:(0,G.jsx)(l3e,{})},{path:`*`,element:(0,G.jsx)(iJe,{})}]}],d3e=k_({items:{isInitialized:!1,isLoading:!1}},e=>{e.addCase(U_.pending,e=>{e.items.isLoading=!0}).addCase(U_.rejected,(e,t)=>{e.items.isInitialized=!0,e.items.isLoading=!1,e.items.content=void 0,e.items.error=t.error}).addCase(U_.fulfilled,(e,t)=>{e.items.isInitialized=!0,e.items.isLoading=!1,e.items.content=t.payload,e.items.error=void 0}).addCase(W_.fulfilled,(e,t)=>{e.items.content?.push(t.payload)}).addCase(K_.fulfilled,(e,t)=>{let n=e.items.content?.findIndex(e=>e.id===t.payload.id)??-1;n!==-1&&(e.items.content[n]=t.payload)}).addCase(q_.fulfilled,(e,t)=>{let n=e.items.content?.findIndex(e=>e.id===t.payload.id)??-1;n!==-1&&(e.items.content[n]=t.payload)}).addCase(G_.fulfilled,(e,t)=>{if(e.items.content){let n=e.items.content.findIndex(e=>e.id===t.meta.arg);n!==-1&&e.items.content.splice(n,1)}}).addCase(J_,(e,t)=>{e.items.isInitialized=!0,e.items.isLoading=!1,e.items.content=t.payload,e.items.error=void 0}).addCase(Y_,(e,t)=>{if(e.items.content){let n=e.items.content.findIndex(e=>e.id===t.payload.id);n===-1?e.items.content.push(t.payload):e.items.content[n]=t.payload}})}),f3e=k_({byBridge:{}},e=>{e.addCase(RT.pending,(e,t)=>{e.byBridge[t.meta.arg]=Y9(e.byBridge[t.meta.arg],t)}).addCase(RT.rejected,(e,t)=>{e.byBridge[t.meta.arg]=Y9(e.byBridge[t.meta.arg],t)}).addCase(RT.fulfilled,(e,t)=>{e.byBridge[t.meta.arg]=Y9(e.byBridge[t.meta.arg],t)})}),Y9=k_({isInitialized:!1,isLoading:!1,content:void 0,error:void 0},e=>{e.addCase(RT.pending,e=>{e.isLoading=!0}).addCase(RT.rejected,(e,t)=>{e.isInitialized=!0,e.isLoading=!1,e.content=void 0,e.error=t.error}).addCase(RT.fulfilled,(e,t)=>{e.isInitialized=!0,e.isLoading=!1,e.content=t.payload,e.error=void 0})}),p3e=Yne({reducer:{bridges:d3e,devices:f3e}}),X9=gp({createStyledComponent:J(`div`,{name:`MuiContainer`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`maxWidth${Y(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),useThemeProps:e=>Am({props:e,name:`MuiContainer`})});function m3e(e){return Id(`MuiToolbar`,e)}Ld(`MuiToolbar`,[`root`,`gutters`,`regular`,`dense`]);var h3e=e=>{let{classes:t,disableGutters:n,variant:r}=e;return dp({root:[`root`,!n&&`gutters`,r]},m3e,t)},g3e=J(`div`,{name:`MuiToolbar`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})(Im(({theme:e})=>({position:`relative`,display:`flex`,alignItems:`center`,variants:[{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up(`sm`)]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}}},{props:{variant:`dense`},style:{minHeight:48}},{props:{variant:`regular`},style:e.mixins.toolbar}]}))),_3e=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiToolbar`}),{className:r,component:i=`div`,disableGutters:a=!1,variant:o=`regular`,...s}=n,c={...n,component:i,disableGutters:a,variant:o};return(0,G.jsx)(g3e,{as:i,className:K(h3e(c).root,r),ref:t,ownerState:c,...s})}),v3e=class extends C.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`ErrorBoundary caught:`,e,t.componentStack)}render(){return this.state.hasError?(0,G.jsxs)(Z,{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,minHeight:`60vh`,gap:2,p:4,children:[(0,G.jsx)(_b,{color:`error`,sx:{fontSize:64}}),(0,G.jsx)(Q,{variant:`h5`,fontWeight:600,children:Ps.t(`errorBoundary.title`)}),(0,G.jsx)(Q,{variant:`body2`,color:`text.secondary`,textAlign:`center`,maxWidth:480,children:this.state.error?.message??Ps.t(`errorBoundary.fallbackMessage`)}),(0,G.jsx)(hv,{variant:`contained`,onClick:()=>{this.setState({hasError:!1,error:null}),window.location.reload()},children:Ps.t(`errorBoundary.reload`)})]}):this.props.children}};function y3e(e){return Id(`MuiFab`,e)}var b3e=Ld(`MuiFab`,[`root`,`primary`,`secondary`,`extended`,`circular`,`focusVisible`,`disabled`,`colorInherit`,`sizeSmall`,`sizeMedium`,`sizeLarge`,`info`,`error`,`warning`,`success`]),x3e=e=>{let{color:t,variant:n,classes:r,size:i}=e,a=dp({root:[`root`,n,`size${Y(i)}`,t===`inherit`?`colorInherit`:t]},y3e,r);return{...r,...a}},S3e=J(Fh,{name:`MuiFab`,slot:`Root`,shouldForwardProp:e=>Om(e)||e===`classes`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`size${Y(n.size)}`],n.color===`inherit`&&t.colorInherit,t[Y(n.size)],t[n.color]]}})(Im(({theme:e})=>({...e.typography.button,minHeight:36,transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`],{duration:e.transitions.duration.short}),borderRadius:`50%`,padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.grey[900]:e.palette.getContrastText?.(e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:`none`},[`&.${b3e.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},variants:[{props:{size:`small`},style:{width:40,height:40}},{props:{size:`medium`},style:{width:48,height:48}},{props:{variant:`extended`},style:{borderRadius:48/2,padding:`0 16px`,width:`auto`,minHeight:`auto`,minWidth:48,height:48}},{props:{variant:`extended`,size:`small`},style:{width:`auto`,padding:`0 8px`,borderRadius:34/2,minWidth:34,height:34}},{props:{variant:`extended`,size:`medium`},style:{width:`auto`,padding:`0 16px`,borderRadius:40/2,minWidth:40,height:40}},{props:{color:`inherit`},style:{color:`inherit`}}]})),Im(({theme:e})=>({variants:[...Object.entries(e.palette).filter(Gm([`dark`,`contrastText`])).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].contrastText,backgroundColor:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:(e.vars||e).palette[t].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t].main}}}}))]})),Im(({theme:e})=>({[`&.${b3e.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}))),C3e=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiFab`}),{children:r,className:i,color:a=`default`,component:o=`button`,disabled:s=!1,disableFocusRipple:c=!1,focusVisibleClassName:l,size:u=`large`,variant:d=`circular`,...f}=n,p={...n,color:a,component:o,disabled:s,disableFocusRipple:c,size:u,variant:d},m=x3e(p);return(0,G.jsx)(S3e,{className:K(m.root,i),component:o,disabled:s,focusRipple:!c,focusVisibleClassName:K(m.focusVisible,l),ownerState:p,ref:t,...f,classes:m,children:r})}),w3e=[{code:`en`,flag:`🇬🇧`,name:`English`},{code:`de`,flag:`🇩🇪`,name:`Deutsch`},{code:`fr`,flag:`🇫🇷`,name:`Français`},{code:`es`,flag:`🇪🇸`,name:`Español`},{code:`it`,flag:`🇮🇹`,name:`Italiano`},{code:`zh`,flag:`🇨🇳`,name:`中文`},{code:`zh-TW`,flag:`🇹🇼`,name:`繁體中文`},{code:`ja`,flag:`🇯🇵`,name:`日本語`},{code:`th`,flag:`🇹🇭`,name:`ไทย`},{code:`sv`,flag:`🇸🇪`,name:`Svenska`},{code:`tr`,flag:`🇹🇷`,name:`Türkçe`},{code:`ru`,flag:`🇷🇺`,name:`Русский`}],T3e=`hamh-custom-languages`;function E3e(){try{let e=localStorage.getItem(T3e);return e?JSON.parse(e).map(e=>({code:e.code,flag:`🌐`,name:e.name})):[]}catch{return[]}}var D3e=`https://github.com/RiDDiX/home-assistant-matter-hub/issues/new?labels=translation&title=Translation+improvement`;function O3e(){let{t:e,i18n:t}=ms(),[n,r]=(0,C.useState)(!1),i=(0,C.useRef)(null),a=(0,C.useMemo)(()=>[...w3e,...E3e()],[]),o=t.language??`en`,s=a.some(e=>e.code===o)?o:o.split(`-`)[0]??`en`,c=(0,C.useCallback)(()=>{r(e=>!e)},[]),l=(0,C.useCallback)(e=>{t.changeLanguage(e),r(!1)},[t]);return(0,G.jsx)(Jh,{onClickAway:(0,C.useCallback)(()=>{r(!1)},[]),children:(0,G.jsxs)(Z,{children:[(0,G.jsx)(C3e,{ref:i,size:`small`,color:`primary`,onClick:c,"aria-label":`Change language`,sx:{position:`fixed`,bottom:24,right:24,zIndex:1300},children:(0,G.jsx)(Nhe,{})}),(0,G.jsx)(ob,{open:n,anchorEl:i.current,placement:`top-end`,transition:!0,sx:{zIndex:1300},children:({TransitionProps:t})=>(0,G.jsx)(Mb,{...t,timeout:200,children:(0,G.jsxs)(Km,{elevation:8,sx:{mb:1,py:.5,minWidth:160,borderRadius:2,overflow:`hidden`},children:[a.map(e=>(0,G.jsxs)(Z,{onClick:()=>l(e.code),sx:{display:`flex`,alignItems:`center`,gap:1.5,px:2,py:1,cursor:`pointer`,bgcolor:s===e.code?`action.selected`:`transparent`,"&:hover":{bgcolor:`action.hover`},transition:`background-color 0.15s`},children:[(0,G.jsx)(Q,{sx:{fontSize:`1.4rem`,lineHeight:1,userSelect:`none`},children:e.flag}),(0,G.jsx)(Q,{variant:`body2`,fontWeight:s===e.code?600:400,children:e.name})]},e.code)),(0,G.jsx)(Wb,{}),(0,G.jsxs)(Z,{sx:{display:`flex`,alignItems:`flex-start`,gap:.75,px:2,py:1},children:[(0,G.jsx)(Yv,{sx:{fontSize:14,mt:.25,color:`text.secondary`}}),(0,G.jsxs)(Q,{variant:`caption`,color:`text.secondary`,sx:{lineHeight:1.4},children:[e(`languageSwitcher.disclaimer`),` `,(0,G.jsx)(Kv,{href:D3e,target:`_blank`,rel:`noopener`,sx:{fontSize:`inherit`},children:e(`languageSwitcher.contribute`)})]})]})]})})})]})})}var k3e={name:`home-assistant-matter-hub`,description:``,version:`2.1.0-alpha.678`,private:!1,type:`module`,bin:{"home-assistant-matter-hub":`./dist/backend/cli.js`},author:{name:`riddix`,url:`https://github.com/riddix`},keywords:[`home-assistant`,`homeassistant`,`home`,`assistant`,`apple home`,`google home`,`apple`,`google`,`alexa`,`matter`,`matter.js`,`matterjs`,`project-chip`,`smart`,`smarthome`,`smart-home`],bugs:{url:`https://github.com/riddix/home-assistant-matter-hub/issues`},license:`Apache-2.0`,repository:`github:riddix/home-assistant-matter-hub`,scripts:{cleanup:`npx rimraf node_modules dist pack LICENSE README.md`,build:`node build.js`,bundle:`pnpm pack --out package.tgz`,postbuild:`pnpm run bundle`,test:`vitest run`,prestart:`pnpm run build`,start:`dotenvx run -f ../../.env -- ./dist/backend/cli.js start`},dependencies:{"@matter/main":`0.16.11`,"@matter/nodejs":`0.16.11`,"@matter/general":`0.16.11`,ajv:`8.18.0`,archiver:`7.0.1`,color:`5.0.3`,debounce:`3.0.0`,express:`5.2.1`,"express-basic-auth":`1.2.1`,"express-ip-access-control":`1.1.3`,"home-assistant-js-websocket":`9.6.0`,"lodash-es":`4.18.1`,multer:`2.1.1`,nocache:`4.0.0`,unzipper:`0.12.3`,ws:`8.20.0`,yargs:`18.0.0`},devDependencies:{"@home-assistant-matter-hub/backend":`workspace:*`,"@home-assistant-matter-hub/frontend":`workspace:*`,"@home-assistant-matter-hub/common":`workspace:*`,"@types/lodash-es":`^4.17.12`},overrides:{minimatch:`9.0.7`,"path-to-regexp":`^8.4.0`,glob:`^13.0.0`},nx:{targets:{start:{cache:!1,dependsOn:[`build`]},pack:{cache:!0,dependsOn:[`build`],outputs:[`{projectRoot}/pack`]},build:{inputs:[`^default`,`default`,`{workspaceRoot}/README.md`,`{workspaceRoot}/LICENSE`],outputs:[`{projectRoot}/dist`,`{projectRoot}/README.md`,`{projectRoot}/LICENSE`]}}}};function A3e(){let e=`2.1.0-alpha.678`,[t,n]=(0,C.useState)(null);(0,C.useEffect)(()=>{fetch(`api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.version&&n(e.version)}).catch(()=>{})},[]);let r=(0,C.useMemo)(()=>!t||e===`0.0.0-dev`?!1:e!==t,[t]);return(0,C.useMemo)(()=>({name:k3e.name,version:t??e,frontendVersion:e,backendVersion:t,versionMismatch:r}),[t,r])}var j3e=()=>{let{t:e}=ms(),t=[{name:e(`footer.github`),url:J9.githubRepository},{name:e(`footer.documentation`),url:J9.documentation},{name:e(`footer.support`),url:J9.support}];return(0,G.jsxs)(X9,{sx:{mt:16,mb:4},children:[(0,G.jsx)(Wb,{sx:{mt:4,mb:4}}),(0,G.jsx)(Iv,{container:!0,spacing:2,justifyContent:`center`,children:t.map((e,t)=>(0,G.jsx)(Iv,{size:{xs:12,sm:`auto`},children:(0,G.jsx)(hv,{fullWidth:!0,size:`small`,variant:`outlined`,component:Kv,href:e.url,target:`_blank`,children:e.name})},t.toString()))})]})};function M3e(e){return Id(`MuiAppBar`,e)}Ld(`MuiAppBar`,[`root`,`positionFixed`,`positionAbsolute`,`positionSticky`,`positionStatic`,`positionRelative`,`colorDefault`,`colorPrimary`,`colorSecondary`,`colorInherit`,`colorTransparent`,`colorError`,`colorInfo`,`colorSuccess`,`colorWarning`]);var N3e=e=>{let{color:t,position:n,classes:r}=e;return dp({root:[`root`,`color${Y(t)}`,`position${Y(n)}`]},M3e,r)},P3e=(e,t)=>e?`${e.replace(`)`,``)}, ${t})`:t,F3e=J(Km,{name:`MuiAppBar`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`position${Y(n.position)}`],t[`color${Y(n.color)}`]]}})(Im(({theme:e})=>({display:`flex`,flexDirection:`column`,width:`100%`,boxSizing:`border-box`,flexShrink:0,variants:[{props:{position:`fixed`},style:{position:`fixed`,zIndex:(e.vars||e).zIndex.appBar,top:0,left:`auto`,right:0,"@media print":{position:`absolute`}}},{props:{position:`absolute`},style:{position:`absolute`,zIndex:(e.vars||e).zIndex.appBar,top:0,left:`auto`,right:0}},{props:{position:`sticky`},style:{position:`sticky`,zIndex:(e.vars||e).zIndex.appBar,top:0,left:`auto`,right:0}},{props:{position:`static`},style:{position:`static`}},{props:{position:`relative`},style:{position:`relative`}},{props:{color:`inherit`},style:{"--AppBar-color":`inherit`,color:`var(--AppBar-color)`}},{props:{color:`default`},style:{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[100],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[100]),...e.applyStyles(`dark`,{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[900],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[900])})}},...Object.entries(e.palette).filter(Gm([`contrastText`])).map(([t])=>({props:{color:t},style:{"--AppBar-background":(e.vars??e).palette[t].main,"--AppBar-color":(e.vars??e).palette[t].contrastText}})),{props:e=>e.enableColorOnDark===!0&&![`inherit`,`transparent`].includes(e.color),style:{backgroundColor:`var(--AppBar-background)`,color:`var(--AppBar-color)`}},{props:e=>e.enableColorOnDark===!1&&![`inherit`,`transparent`].includes(e.color),style:{backgroundColor:`var(--AppBar-background)`,color:`var(--AppBar-color)`,...e.applyStyles(`dark`,{backgroundColor:e.vars?P3e(e.vars.palette.AppBar.darkBg,`var(--AppBar-background)`):null,color:e.vars?P3e(e.vars.palette.AppBar.darkColor,`var(--AppBar-color)`):null})}},{props:{color:`transparent`},style:{"--AppBar-background":`transparent`,"--AppBar-color":`inherit`,backgroundColor:`var(--AppBar-background)`,color:`var(--AppBar-color)`,...e.applyStyles(`dark`,{backgroundImage:`none`})}}]}))),I3e=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiAppBar`}),{className:r,color:i=`primary`,enableColorOnDark:a=!1,position:o=`fixed`,...s}=n,c={...n,color:i,position:o,enableColorOnDark:a};return(0,G.jsx)(F3e,{square:!0,component:`header`,ownerState:c,elevation:4,className:K(N3e(c).root,r,o===`fixed`&&`mui-fixed`),ref:t,...s})}),L3e={visibility:`hidden`};function R3e(e,t,n){let r=n&&n.getBoundingClientRect(),i=nh(t),a=t.style.transform,o=t.style.transition;t.style.transition=``,t.style.transform=``;let s=t.getBoundingClientRect(),c=i.getComputedStyle(t).getPropertyValue(`transform`);t.style.transform=a,t.style.transition=o;let l=0,u=0;if(c&&c!==`none`&&typeof c==`string`){let e=c.split(`(`)[1].split(`)`)[0].split(`,`);l=parseInt(e[4],10),u=parseInt(e[5],10)}return e===`left`?r?`translateX(${r.right+l-s.left}px)`:`translateX(${i.innerWidth+l-s.left}px)`:e===`right`?r?`translateX(-${s.right-r.left-l}px)`:`translateX(-${s.left+s.width-l}px)`:e===`up`?r?`translateY(${r.bottom+u-s.top}px)`:`translateY(${i.innerHeight+u-s.top}px)`:r?`translateY(-${s.top-r.top+s.height-u}px)`:`translateY(-${s.top+s.height-u}px)`}function z3e(e){return typeof e==`function`?e():e}function Z9(e,t,n){let r=R3e(e,t,z3e(n));r&&(t.style.transform=r)}var B3e=C.forwardRef(function(e,t){let n=Tm(),r={enter:n.transitions.easing.easeOut,exit:n.transitions.easing.sharp},i={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{addEndListener:a,appear:o=!0,children:s,container:c,direction:l=`down`,easing:u=r,in:d,onEnter:f,onEntered:p,onEntering:m,onExit:h,onExited:g,onExiting:_,style:v,timeout:y=i,...b}=e,x=C.useRef(null),S=uh(Kh(s),x,t),w=Xh(x,(e,t)=>{Z9(l,e,c),Yh(e),f&&f(e,t)}),T=Xh(x,(e,t)=>{let r=Qh({timeout:y,style:v,easing:u},{mode:`enter`});e.style.transition=n.transitions.create(`transform`,r),e.style.transform=`none`,m&&m(e,t)}),E=Xh(x,p),D=Xh(x,_),O=Xh(x,e=>{let t=Qh({timeout:y,style:v,easing:u},{mode:`exit`});e.style.transition=n.transitions.create(`transform`,t),Z9(l,e,c),h&&h(e)}),k=Xh(x,e=>{e.style.transition=``,g&&g(e)}),A=e=>{a&&a(x.current,e)},j=C.useCallback(()=>{x.current&&Z9(l,x.current,c)},[l,c]);return C.useEffect(()=>{if(d||l===`down`||l===`right`)return;let e=Zm(()=>{x.current&&Z9(l,x.current,c)}),t=nh(x.current);return t.addEventListener(`resize`,e),()=>{e.clear(),t.removeEventListener(`resize`,e)}},[l,d,c]),C.useEffect(()=>{d||j()},[d,j]),(0,G.jsx)(Eh,{nodeRef:x,onEnter:w,onEntered:E,onEntering:T,onExit:O,onExited:k,onExiting:D,addEndListener:A,appear:o,in:d,timeout:y,...b,children:(e,{ownerState:t,...n})=>{let r;return r=e===`exited`&&!d?v||s.props.style?{visibility:`hidden`,...v,...s.props.style}:L3e:v&&s.props.style?{...v,...s.props.style}:v||s.props.style,C.cloneElement(s,{ref:S,style:r,...n})}})});function V3e(e){return Id(`MuiDrawer`,e)}Ld(`MuiDrawer`,[`root`,`docked`,`paper`,`anchorLeft`,`anchorRight`,`anchorTop`,`anchorBottom`,`paperAnchorLeft`,`paperAnchorRight`,`paperAnchorTop`,`paperAnchorBottom`,`paperAnchorDockedLeft`,`paperAnchorDockedRight`,`paperAnchorDockedTop`,`paperAnchorDockedBottom`,`modal`]);var H3e=(e,t)=>{let{ownerState:n}=e;return[t.root,(n.variant===`permanent`||n.variant===`persistent`)&&t.docked,n.variant===`temporary`&&t.modal]},U3e=e=>{let{classes:t,anchor:n,variant:r}=e;return dp({root:[`root`,`anchor${Y(n)}`],docked:[(r===`permanent`||r===`persistent`)&&`docked`],modal:[`modal`],paper:[`paper`,`paperAnchor${Y(n)}`,r!==`temporary`&&`paperAnchorDocked${Y(n)}`]},V3e,t)},W3e=J(Ib,{name:`MuiDrawer`,slot:`Root`,overridesResolver:H3e})(Im(({theme:e})=>({zIndex:(e.vars||e).zIndex.drawer}))),G3e=J(`div`,{shouldForwardProp:Om,name:`MuiDrawer`,slot:`Docked`,skipVariantsResolver:!1,overridesResolver:H3e})({flex:`0 0 auto`}),K3e=J(Km,{name:`MuiDrawer`,slot:`Paper`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.paper,t[`paperAnchor${Y(n.anchor)}`],n.variant!==`temporary`&&t[`paperAnchorDocked${Y(n.anchor)}`]]}})(Im(({theme:e})=>({overflowY:`auto`,display:`flex`,flexDirection:`column`,height:`100%`,flex:`1 0 auto`,zIndex:(e.vars||e).zIndex.drawer,WebkitOverflowScrolling:`touch`,position:`fixed`,top:0,outline:0,variants:[{props:{anchor:`left`},style:{left:0}},{props:{anchor:`top`},style:{top:0,left:0,right:0,height:`auto`,maxHeight:`100%`}},{props:{anchor:`right`},style:{right:0}},{props:{anchor:`bottom`},style:{top:`auto`,left:0,bottom:0,right:0,height:`auto`,maxHeight:`100%`}},{props:({ownerState:e})=>e.anchor===`left`&&e.variant!==`temporary`,style:{borderRight:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:e})=>e.anchor===`top`&&e.variant!==`temporary`,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:e})=>e.anchor===`right`&&e.variant!==`temporary`,style:{borderLeft:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:e})=>e.anchor===`bottom`&&e.variant!==`temporary`,style:{borderTop:`1px solid ${(e.vars||e).palette.divider}`}}]}))),q3e={left:`right`,right:`left`,top:`down`,bottom:`up`};function J3e(e){return[`left`,`right`].includes(e)}function Y3e({direction:e},t){return e===`rtl`&&J3e(t)?q3e[t]:t}var X3e=C.forwardRef(function(e,t){let n=Am({props:e,name:`MuiDrawer`}),r=Tm(),i=Af(),a={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{anchor:o=`left`,BackdropProps:s,children:c,className:l,elevation:u=16,hideBackdrop:d=!1,ModalProps:{BackdropProps:f,...p}={},onClose:m,open:h=!1,PaperProps:g={},SlideProps:_,TransitionComponent:v,transitionDuration:y=a,variant:b=`temporary`,slots:x={},slotProps:S={},...w}=n,T=C.useRef(!1);C.useEffect(()=>{T.current=!0},[]);let E=Y3e({direction:i?`rtl`:`ltr`},o),D=o,O={...n,anchor:D,elevation:u,open:h,variant:b,...w},k=U3e(O),A={slots:{transition:v,...x},slotProps:{paper:g,transition:_,...S,backdrop:dh(S.backdrop||{...s,...f},{transitionDuration:y})}},[j,M]=Wm(`root`,{ref:t,elementType:W3e,className:K(k.root,k.modal,l),shouldForwardComponentProp:!0,ownerState:O,externalForwardedProps:{...A,...w,...p},additionalProps:{open:h,onClose:m,hideBackdrop:d,slots:{backdrop:A.slots.backdrop},slotProps:{backdrop:A.slotProps.backdrop}}}),[N,P]=Wm(`paper`,{elementType:K3e,shouldForwardComponentProp:!0,className:K(k.paper,g.className),ownerState:O,externalForwardedProps:A,additionalProps:{elevation:b===`temporary`?u:0,square:!0,...b===`temporary`&&{role:`dialog`,"aria-modal":`true`}}}),[F,I]=Wm(`docked`,{elementType:G3e,ref:t,className:K(k.root,k.docked,l),ownerState:O,externalForwardedProps:A,additionalProps:w}),[L,R]=Wm(`transition`,{elementType:B3e,ownerState:O,externalForwardedProps:A,additionalProps:{in:h,direction:q3e[E],timeout:y,appear:T.current}}),ee=(0,G.jsx)(N,{...P,children:c});if(b===`permanent`)return(0,G.jsx)(F,{...I,children:ee});let z=(0,G.jsx)(L,{...R,children:ee});return b===`persistent`?(0,G.jsx)(F,{...I,children:z}):(0,G.jsx)(j,{...M,children:z})}),Z3e=af({themeId:wm}),Q3e={error:Cx,warn:Xv,info:yb,debug:qT},$3e=({open:e,onClose:t})=>{let{t:n}=ms(),r=Tm(),i=(0,C.useMemo)(()=>({error:r.palette.error.main,warn:r.palette.warning.main,info:r.palette.info.main,debug:r.palette.secondary.main}),[r]),[a,o]=(0,C.useState)([]),[s,c]=(0,C.useState)(!0),[l,u]=(0,C.useState)(`error,warn,info`.split(`,`)),[d,f]=(0,C.useState)(``),[p,m]=(0,C.useState)(!0),h=(0,C.useCallback)(async()=>{try{let e=new URLSearchParams({level:l.join(`,`),limit:`500`,...d&&{search:d}}),t=await fetch(`api/logs?${e}`);t.ok&&o((await t.json()).entries)}catch(e){console.error(`Failed to fetch logs:`,e)}finally{c(!1)}},[l,d]);(0,C.useEffect)(()=>{e&&h()},[e,h]),(0,C.useEffect)(()=>{if(!p||!e)return;let t=setInterval(h,5e3);return()=>clearInterval(t)},[p,e,h]);let g=e=>{u(Array.isArray(e.target.value)?e.target.value:[e.target.value])},_=e=>{f(e.target.value)},v=async()=>{try{await fetch(`api/logs`,{method:`DELETE`}),o([])}catch(e){console.error(`Failed to clear logs:`,e)}},y=e=>(0,G.jsx)(Q3e[e]||yb,{sx:{fontSize:16,color:i[e]}});return(0,G.jsxs)(zb,{open:e,onClose:t,maxWidth:`lg`,fullWidth:!0,children:[(0,G.jsxs)(Hb,{sx:{display:`flex`,alignItems:`center`,gap:1},children:[(0,G.jsx)(qT,{}),n(`logs.title`),(0,G.jsx)(Z,{sx:{flexGrow:1}}),(0,G.jsx)(fb,{title:n(`logs.autoRefresh`),children:(0,G.jsx)(Dv,{label:p?`Auto`:`Manual`,color:p?`success`:`default`,size:`small`,onClick:()=>m(!p),sx:{cursor:`pointer`}})}),(0,G.jsx)(Hh,{onClick:t,children:(0,G.jsx)(YT,{})})]}),(0,G.jsxs)(Vb,{children:[(0,G.jsx)(Uv,{spacing:2,sx:{mb:2},children:(0,G.jsxs)(Uv,{direction:`row`,spacing:2,alignItems:`center`,children:[(0,G.jsxs)(Av,{size:`small`,sx:{minWidth:200},children:[(0,G.jsx)(Bx,{children:n(`logs.logLevel`)}),(0,G.jsxs)(SS,{value:l,label:n(`logs.logLevel`),onChange:g,multiple:!0,renderValue:e=>(0,G.jsx)(Z,{sx:{display:`flex`,flexWrap:`wrap`,gap:.5},children:(Array.isArray(e)?e:[e]).map(e=>(0,G.jsx)(Dv,{label:e.toUpperCase(),size:`small`,sx:{backgroundColor:i[e],color:`white`}},e))}),children:[(0,G.jsx)(CS,{value:`error`,children:n(`logs.error`)}),(0,G.jsx)(CS,{value:`warn`,children:n(`logs.warning`)}),(0,G.jsx)(CS,{value:`info`,children:n(`logs.info`)}),(0,G.jsx)(CS,{value:`debug`,children:n(`logs.debug`)})]})]}),(0,G.jsx)(ES,{size:`small`,placeholder:n(`logs.searchPlaceholder`),value:d,onChange:_,sx:{flexGrow:1}}),(0,G.jsx)(hv,{variant:`outlined`,onClick:h,children:n(`common.refresh`)}),(0,G.jsx)(hv,{variant:`outlined`,color:`error`,onClick:v,children:n(`common.delete`)})]})}),(0,G.jsx)(Z,{sx:{height:400,overflow:`auto`,backgroundColor:`background.paper`,border:1,borderColor:`divider`,borderRadius:1,p:1},children:s?(0,G.jsx)(Z,{sx:{display:`flex`,justifyContent:`center`,p:4},children:(0,G.jsxs)(Q,{children:[n(`common.loading`),`...`]})}):a.length===0?(0,G.jsx)(Z,{sx:{display:`flex`,justifyContent:`center`,p:4},children:(0,G.jsx)(Q,{color:`text.secondary`,children:n(`logs.noResults`)})}):(0,G.jsx)(Uv,{spacing:1,children:a.map((e,t)=>(0,G.jsxs)(Z,{sx:{p:1,borderRadius:1,backgroundColor:`action.hover`,fontFamily:`monospace`,fontSize:`0.875rem`,wordBreak:`break-all`},children:[(0,G.jsxs)(Z,{sx:{display:`flex`,alignItems:`center`,gap:1,mb:.5},children:[y(e.level),(0,G.jsx)(Q,{variant:`caption`,color:`text.secondary`,children:new Date(e.timestamp).toLocaleString()}),(0,G.jsx)(Dv,{label:e.level.toUpperCase(),size:`small`,sx:{backgroundColor:i[e.level],color:r.palette.getContrastText(i[e.level]??r.palette.grey[500]),fontSize:`0.7rem`,height:20}})]}),(0,G.jsx)(Q,{sx:{ml:3},children:e.message}),e.context&&(0,G.jsx)(Q,{sx:{ml:3,color:`text.secondary`,fontSize:`0.8rem`},children:JSON.stringify(e.context,null,2)})]},`${e.timestamp}-${e.level}-${t}`))})})]}),(0,G.jsx)(Bb,{children:(0,G.jsx)(hv,{onClick:t,children:n(`common.close`)})})]})};function Q9(){let{t:e}=ms(),{isConnected:t}=$_(),[n,r]=(0,C.useState)(null),[i,a]=(0,C.useState)(!1);(0,C.useEffect)(()=>{let e=async()=>{try{let e=await fetch(`api/health`);e.ok?(r(await e.json()),a(!1)):a(!0)}catch{a(!0)}};e();let t=setInterval(e,3e4);return()=>clearInterval(t)},[]);let o=e=>{let t=Math.floor(e/3600),n=Math.floor(e%3600/60);return t>0?`${t}h ${n}m`:`${n}m`},s=n?.status===`healthy`&&!i,c=n?.services?.bridges,l=c&&c.total>0&&c.running===c.total,u=c&&c.total===0,d=n?(0,G.jsxs)(Z,{sx:{p:.5},children:[(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`strong`,{children:[e(`health.version`),`:`]}),` `,n.version??e(`status.unknown`)]}),(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`strong`,{children:[e(`health.uptime`),`:`]}),` `,o(n.uptime??0)]}),n.services?.bridges&&(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`strong`,{children:[e(`nav.bridges`),`:`]}),` `,n.services.bridges.running??0,`/`,n.services.bridges.total??0,` `,e(`common.running`).toLowerCase(),(n.services.bridges.stopped??0)>0&&` (${n.services.bridges.stopped} ${e(`common.stopped`).toLowerCase()})`]}),n.services?.homeAssistant&&(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`strong`,{children:[e(`health.homeAssistant`),`:`]}),` `,n.services.homeAssistant.connected?e(`health.connected`):e(`health.disconnected`)]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`strong`,{children:`WebSocket:`}),` `,e(t?`health.connected`:`health.disconnected`)]})]}):e(`status.loadingHealth`);return(0,G.jsx)(fb,{title:d,arrow:!0,children:(0,G.jsx)(Dv,{icon:i||!s?(0,G.jsx)(Cx,{fontSize:`small`}):l?(0,G.jsx)(uv,{fontSize:`small`}):(0,G.jsx)(Sb,{fontSize:`small`}),label:e(i?`status.error`:s?t?u?`status.noBridges`:l?`common.online`:`common.starting`:`common.offline`:`status.unhealthy`),color:i||!s?`error`:!l||!t?`warning`:`success`,size:`small`,variant:`filled`,sx:{borderRadius:1,fontWeight:600,"& .MuiChip-icon":{color:`inherit`}}})})}var e6e=e=>(0,G.jsx)(`svg`,{viewBox:`0 0 91 89`,xmlSpace:`preserve`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,G.jsxs)(`g`,{style:{display:`inline`},children:[(0,G.jsx)(`path`,{style:{fill:`#18bcf2`,fillOpacity:1,strokeWidth:.266194},d:`m 49.149143,1.473171 38.513568,38.536435 c 0,0 1.248354,1.186052 2.207681,3.092371 0.959329,1.906323 1.10864,4.600698 1.10864,4.600698 v 36.786372 c 0,0 -0.01549,1.748506 -1.49842,3.050572 -1.482931,1.302064 -3.333077,1.362947 -3.333077,1.362947 l -81.325658,7.7e-5 c 0,0 -1.7523855,-0.0091 -3.17112,-1.352526 C -0.07808495,85.913164 0.05953025,84.487808 0.05953025,84.487808 V 47.704546 c 0,0 -0.0018381,-2.218618 0.95921785,-4.315832 0.9610554,-2.097209 2.3010618,-3.355005 2.3010618,-3.355005 L 41.545959,1.4719546 c 0,0 1.465224,-1.46837077 3.753488,-1.46837077 2.288268,0 3.849696,1.46958717 3.849696,1.46958717 z`}),(0,G.jsx)(`path`,{style:{fill:`#ffffff`,fillOpacity:1,strokeWidth:.175841},d:`m 31.689717,32.051124 c 2.813363,2.331095 6.157331,3.89845 9.721813,4.556421 V 17.180647 l 3.873694,-2.282955 3.870527,2.282955 V 36.60772 c 3.565364,-0.658847 6.910387,-2.226204 9.725159,-4.556417 l 7.032345,4.154609 c -11.437354,11.557779 -29.852321,11.557779 -41.290025,0 z m 8.546732,49.60988 C 44.314996,65.760441 35.09933,49.470196 19.574984,45.139543 v 8.312381 c 3.383916,1.32244 6.386113,3.496288 8.728705,6.320026 L 11.83076,69.485301 v 4.56907 l 3.873697,2.270836 16.469936,-9.713534 c 1.224356,3.48294 1.56683,7.225375 0.996449,10.879778 z M 70.977694,45.139543 c -15.515726,4.34014 -24.72189,20.626696 -20.643519,36.521461 l 7.047658,-4.15742 c -0.569325,-3.654411 -0.2265,-7.3965 0.996449,-10.87979 l 16.457611,9.701233 3.870711,-2.283125 v -4.55677 L 62.233673,59.77195 c 2.342772,-2.822684 5.34497,-4.996533 8.728708,-6.320026 z`})]})}),t6e=e=>{let t=A3e();return(0,G.jsxs)(Z,{component:ea,to:J9.dashboard,sx:{display:`flex`,alignItems:`center`,justifyContent:e.large?`flex-start`:`center`,flexGrow:1,textDecoration:`none`,color:`inherit`},children:[(0,G.jsx)(e6e,{style:{height:`40px`}}),(0,G.jsx)(Q,{variant:`inherit`,component:`span`,sx:{mr:1,ml:1},children:t.name.split(`-`).map(Y).join(`-`)}),e.large&&(0,G.jsx)(Q,{variant:`caption`,component:`span`,children:t.version})]})},n6e=()=>{let e=Z3e(`(min-width:600px)`),{mode:t,setMode:n}=Fm(),[r,i]=(0,C.useState)(!1),[a,o]=(0,C.useState)(!1),s=Sr(),c=yr(),l=e=>e?e===`/`?c.pathname===`/`:c.pathname.startsWith(e):!1,u=()=>{n(t===`dark`?`light`:`dark`)},{t:d}=ms(),f=[{label:d(`dashboard.title`),icon:(0,G.jsx)($T,{}),to:J9.dashboard},{label:d(`nav.bridges`),icon:(0,G.jsx)(eE,{}),to:J9.bridges},{label:d(`nav.devices`),icon:(0,G.jsx)(hb,{}),to:J9.devices},{label:d(`nav.networkMap`),icon:(0,G.jsx)(HT,{}),to:J9.networkMap},{label:d(`nav.startupOrder`),icon:(0,G.jsx)(dv,{}),to:J9.startup},{label:d(`nav.lockCredentials`),icon:(0,G.jsx)(CT,{}),to:J9.lockCredentials},{label:d(`nav.filterReference`),icon:(0,G.jsx)(tE,{}),to:J9.labels},{label:`Plugins`,icon:(0,G.jsx)(ZT,{}),to:J9.plugins},{label:d(`nav.settings`),icon:(0,G.jsx)(MT,{}),to:J9.settings},{label:d(t===`dark`?`nav.lightMode`:`nav.darkMode`),icon:t===`dark`?(0,G.jsx)(Fhe,{}):(0,G.jsx)(She,{}),onClick:u},{label:d(`nav.systemLogs`),icon:(0,G.jsx)(qT,{}),onClick:()=>i(!0)},{label:d(`nav.health`),icon:(0,G.jsx)(kx,{}),to:J9.health}],p=e=>{o(!1),e.onClick?e.onClick():e.to&&s(e.to)};return(0,G.jsxs)(Z,{children:[(0,G.jsx)(I3e,{sx:{height:`72px`},children:(0,G.jsx)(_3e,{sx:{paddingLeft:`0 !important`,paddingRight:`0 !important`},children:(0,G.jsxs)(X9,{sx:{padding:2,height:`100%`,display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,G.jsx)(t6e,{large:e}),e?(0,G.jsxs)(Z,{sx:{display:`flex`,alignItems:`center`,gap:1},children:[f.map(e=>e.to?(0,G.jsx)(fb,{title:e.label,children:(0,G.jsx)(Hh,{component:ea,to:e.to,sx:{color:`inherit`,bgcolor:l(e.to)?`rgba(255,255,255,0.15)`:`transparent`,borderRadius:1},children:e.icon})},e.label):(0,G.jsx)(fb,{title:e.label,children:(0,G.jsx)(Hh,{onClick:e.onClick,sx:{color:`inherit`},children:e.icon})},e.label)),(0,G.jsx)(Q9,{})]}):(0,G.jsxs)(Z,{sx:{display:`flex`,alignItems:`center`,gap:.5},children:[(0,G.jsx)(Q9,{}),(0,G.jsx)(Hh,{onClick:()=>o(!0),sx:{color:`inherit`},children:(0,G.jsx)(Ihe,{})})]})]})})}),(0,G.jsx)(X3e,{anchor:`right`,open:a,onClose:()=>o(!1),children:(0,G.jsx)(ey,{sx:{width:250},children:f.map(e=>(0,G.jsxs)(Iae,{selected:l(e.to),onClick:()=>p(e),children:[(0,G.jsx)(ay,{children:e.icon}),(0,G.jsx)(sy,{primary:e.label})]},e.label))})}),(0,G.jsx)($3e,{open:r,onClose:()=>i(!1)})]})},r6e=()=>{let{versionMismatch:e,frontendVersion:t,backendVersion:n}=A3e(),{isConnected:r}=$_();return(0,G.jsxs)(Z,{children:[(0,G.jsx)(n6e,{}),(0,G.jsx)(_3e,{}),e&&(0,G.jsxs)(Gh,{severity:`warning`,variant:`filled`,sx:{borderRadius:0},action:(0,G.jsx)(hv,{color:`inherit`,size:`small`,onClick:()=>window.location.reload(),children:`Reload`}),children:[`Version mismatch: frontend `,t,`, backend `,n,`. Please reload to get the latest UI.`]}),!r&&(0,G.jsx)(Gh,{severity:`error`,variant:`filled`,sx:{borderRadius:0},children:`Connection lost, data may be outdated. Reconnecting…`}),(0,G.jsx)(X9,{sx:{p:2},children:(0,G.jsx)(v3e,{children:(0,G.jsx)(oi,{})})}),(0,G.jsx)(j3e,{}),(0,G.jsx)(O3e,{})]})},i6e=Sm({colorSchemes:{light:{palette:{primary:{main:`#1976d2`,light:`#42a5f5`,dark:`#1565c0`},secondary:{main:`#9c27b0`,light:`#ba68c8`,dark:`#7b1fa2`},background:{default:`#f5f5f5`,paper:`#ffffff`}}},dark:{palette:{primary:{main:`#90caf9`,light:`#e3f2fd`,dark:`#42a5f5`},secondary:{main:`#ce93d8`,light:`#f3e5f5`,dark:`#ab47bc`},background:{default:`#121212`,paper:`#1e1e1e`}}}},typography:{fontFamily:`"Roboto", "Helvetica", "Arial", sans-serif`,h1:{fontSize:`2.5rem`,fontWeight:500},h2:{fontSize:`2rem`,fontWeight:500},h3:{fontSize:`1.75rem`,fontWeight:500},h4:{fontSize:`1.5rem`,fontWeight:500},h5:{fontSize:`1.25rem`,fontWeight:500},h6:{fontSize:`1rem`,fontWeight:500}},shape:{borderRadius:8},components:{MuiCard:{styleOverrides:{root:{transition:`transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out`,"&:hover":{transform:`translateY(-2px)`,boxShadow:`0 4px 20px rgba(0,0,0,0.12)`}}}},MuiButton:{styleOverrides:{root:{textTransform:`none`,fontWeight:500}}},MuiChip:{styleOverrides:{root:{fontWeight:500}}},MuiAppBar:{styleOverrides:{root:{backgroundImage:`none`}}}}}),$9=document.getElementsByTagName(`base`)[0]?.href?.replace(/\/$/,``);$9?.startsWith(`http`)&&($9=new URL($9).pathname);var a6e=Yi([{path:`/`,element:(0,G.jsx)(r6e,{}),children:u3e}],{basename:$9});(0,S.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(C.StrictMode,{children:(0,G.jsx)(L,{store:p3e,children:(0,G.jsxs)(Gee,{theme:i6e,children:[(0,G.jsx)(zee,{}),(0,G.jsx)(Em,{styles:{".rjsf-field-array > .MuiFormControl-root > .MuiPaper-root > .MuiBox-root > .MuiGrid-root > .MuiGrid-root:has(> .MuiBox-root > .MuiPaper-root > .MuiBox-root > .rjsf-field)":{overflow:`initial !important`,flexGrow:1}}}),(0,G.jsx)(xre,{children:(0,G.jsx)(sne,{children:(0,G.jsx)(ba,{router:a6e})})})]})})}));
@@ -8,7 +8,7 @@
8
8
  <!-- BASE -->
9
9
  <base href="/" />
10
10
  <!-- /BASE -->
11
- <script type="module" crossorigin src="./assets/index-CHhzomVy.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-DETrw2_E.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="./assets/index-G-pxPqsB.css">
13
13
  </head>
14
14
  <body>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@riddix/hamh",
3
3
  "description": "",
4
- "version": "2.1.0-alpha.676",
4
+ "version": "2.1.0-alpha.678",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "bin": {
@@ -55,9 +55,9 @@
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/lodash-es": "^4.17.12",
58
- "@home-assistant-matter-hub/backend": "2.1.0-alpha.676",
59
- "@home-assistant-matter-hub/frontend": "2.1.0-alpha.676",
60
- "@home-assistant-matter-hub/common": "2.1.0-alpha.676"
58
+ "@home-assistant-matter-hub/backend": "2.1.0-alpha.678",
59
+ "@home-assistant-matter-hub/frontend": "2.1.0-alpha.678",
60
+ "@home-assistant-matter-hub/common": "2.1.0-alpha.678"
61
61
  },
62
62
  "overrides": {
63
63
  "minimatch": "9.0.7",