@nolag/iot 1.0.0 → 1.2.0
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.
- package/dist/DeviceGroup.d.ts +35 -2
- package/dist/NoLagIoT.d.ts +2 -2
- package/dist/browser.js +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/index.cjs +101 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +101 -7
- package/dist/index.mjs.map +1 -1
- package/dist/react-native.d.ts +13 -0
- package/dist/react-native.js +1245 -0
- package/dist/react-native.js.map +1 -0
- package/dist/types.d.ts +33 -0
- package/dist/utils.d.ts +49 -0
- package/package.json +10 -4
package/dist/DeviceGroup.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RoomContext } from '@nolag/js-sdk';
|
|
2
2
|
import { EventEmitter } from './EventEmitter';
|
|
3
|
-
import type { DeviceGroupEvents, TelemetryReading, SendTelemetryOptions, DeviceCommand, Device, IoTPresenceData, ResolvedIoTOptions } from './types';
|
|
3
|
+
import type { DeviceGroupEvents, TelemetryReading, SendTelemetryOptions, DeviceCommand, Device, IoTPresenceData, ResolvedIoTOptions, FilterValue } from './types';
|
|
4
4
|
/**
|
|
5
5
|
* DeviceGroup — a single IoT group for telemetry streaming and command dispatch.
|
|
6
6
|
*
|
|
@@ -21,6 +21,11 @@ export declare class DeviceGroup extends EventEmitter<DeviceGroupEvents> {
|
|
|
21
21
|
private _onTelemetryRef;
|
|
22
22
|
private _onCommandsRef;
|
|
23
23
|
private _onCmdAckRef;
|
|
24
|
+
/**
|
|
25
|
+
* Filter values applied to the telemetry subscription. Commands and acks are
|
|
26
|
+
* deliberately excluded: they route by deviceId internally.
|
|
27
|
+
*/
|
|
28
|
+
private _filters;
|
|
24
29
|
/** @internal */
|
|
25
30
|
constructor(name: string, roomContext: RoomContext, localDevice: Device, options: ResolvedIoTOptions, log: (...args: unknown[]) => void, isConnected: () => boolean);
|
|
26
31
|
/** All remote devices currently in this group */
|
|
@@ -51,8 +56,36 @@ export declare class DeviceGroup extends EventEmitter<DeviceGroupEvents> {
|
|
|
51
56
|
* Get a specific device by deviceId.
|
|
52
57
|
*/
|
|
53
58
|
getDevice(deviceId: string): Device | undefined;
|
|
59
|
+
/** The filter values currently applied to this group's telemetry. */
|
|
60
|
+
get filters(): FilterValue[];
|
|
61
|
+
/**
|
|
62
|
+
* Replace this group's telemetry filters — only readings published with one
|
|
63
|
+
* of these values are delivered. Use it to watch one site or sensor class
|
|
64
|
+
* instead of every device in the group.
|
|
65
|
+
*
|
|
66
|
+
* Commands and command acks are not affected: those route by deviceId
|
|
67
|
+
* internally, and repointing them would break command delivery.
|
|
68
|
+
*
|
|
69
|
+
* Passing an empty array clears filtering and restores the wildcard
|
|
70
|
+
* subscription, which receives all telemetry.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* group.setFilters(['site-a']); // one site
|
|
75
|
+
* group.setFilters([['site-a', 'critical']]); // site-a AND critical
|
|
76
|
+
* group.setFilters([]); // all telemetry
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
setFilters(values: FilterValue[]): void;
|
|
80
|
+
/** Add filter values to the existing set. Existing AND groups are kept. */
|
|
81
|
+
addFilters(values: string[]): void;
|
|
82
|
+
/**
|
|
83
|
+
* Remove filter values from the existing set. Removing the last value
|
|
84
|
+
* restores the wildcard subscription.
|
|
85
|
+
*/
|
|
86
|
+
removeFilters(values: string[]): void;
|
|
54
87
|
/** @internal Subscribe to all group topics and attach listeners */
|
|
55
|
-
_subscribe(): void;
|
|
88
|
+
_subscribe(filters?: FilterValue[]): void;
|
|
56
89
|
/** @internal Set presence and fetch existing group members */
|
|
57
90
|
_activate(): void;
|
|
58
91
|
/** @internal Re-set presence after reconnect */
|
package/dist/NoLagIoT.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { NoLagSocket } from '@nolag/js-sdk';
|
|
2
2
|
import { EventEmitter } from './EventEmitter';
|
|
3
3
|
import { DeviceGroup } from './DeviceGroup';
|
|
4
|
-
import type { NoLagIoTOptions, IoTClientEvents, Device } from './types';
|
|
4
|
+
import type { NoLagIoTOptions, IoTClientEvents, Device, JoinGroupOptions } from './types';
|
|
5
5
|
/**
|
|
6
6
|
* NoLagIoT — high-level IoT telemetry and command dispatch SDK built on @nolag/js-sdk.
|
|
7
7
|
*
|
|
@@ -98,7 +98,7 @@ export declare class NoLagIoT extends EventEmitter<IoTClientEvents> {
|
|
|
98
98
|
* Join a device group. Creates, subscribes, and activates it.
|
|
99
99
|
* Returns an existing group if already joined.
|
|
100
100
|
*/
|
|
101
|
-
joinGroup(name: string): DeviceGroup;
|
|
101
|
+
joinGroup(name: string, opts?: JoinGroupOptions): DeviceGroup;
|
|
102
102
|
/**
|
|
103
103
|
* Leave a device group. Fully unsubscribes and removes it.
|
|
104
104
|
*/
|
package/dist/browser.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
class e{constructor(){this._handlers=new Map}on(e,t){return this._handlers.has(e)||this._handlers.set(e,new Set),this._handlers.get(e).add(t),this}off(e,t){return t?this._handlers.get(e)?.delete(t):this._handlers.delete(e),this}removeAllListeners(){return this._handlers.clear(),this}emit(e,...t){const i=this._handlers.get(e);if(i)for(const s of i)try{s(...t)}catch(t){console.error(`Error in ${String(e)} handler:`,t)}}listenerCount(e){return this._handlers.get(e)?.size??0}}class t{constructor(e){this._devices=new Map,this._actorToDeviceId=new Map,this._localActorId=e}addFromPresence(e,t,i){if(e===this._localActorId)return null;const s=this._actorToDeviceId.get(e),o=t.deviceId||s||e,n={deviceId:o,actorTokenId:e,deviceName:t.deviceName,role:t.role,metadata:t.metadata,joinedAt:i??Date.now(),isLocal:!1};return this._devices.set(o,n),this._actorToDeviceId.set(e,o),n}removeByActorId(e){if(e===this._localActorId)return null;const t=this._actorToDeviceId.get(e);if(!t)return null;const i=this._devices.get(t)??null;return this._devices.delete(t),this._actorToDeviceId.delete(e),i}getDevice(e){return this._devices.get(e)}getDeviceByActorId(e){const t=this._actorToDeviceId.get(e);return t?this._devices.get(t):void 0}getAll(){return Array.from(this._devices.values())}get devices(){return this._devices}clear(){this._devices.clear(),this._actorToDeviceId.clear()}}class i{constructor(e){this._store=new Map,this._ids=new Set,this._maxPoints=e}add(e){if(this._ids.has(e.id))return!1;const t=this._key(e.deviceId,e.sensorId);this._store.has(t)||this._store.set(t,[]);const i=this._store.get(t);return i.push(e),i.length>this._maxPoints&&i.splice(0,i.length-this._maxPoints),this._ids.add(e.id),!0}getAll(e,t){if(void 0!==e&&void 0!==t)return[...this._store.get(this._key(e,t))??[]];const i=[];for(const[t,s]of this._store.entries())(void 0===e||t.startsWith(`${e}:`))&&i.push(...s);return i}getLatest(e,t){const i=this._store.get(this._key(e,t));if(i&&0!==i.length)return i[i.length-1]}has(e){return this._ids.has(e)}get size(){let e=0;for(const t of this._store.values())e+=t.length;return e}clear(){this._store.clear(),this._ids.clear()}_key(e,t){return`${e}:${t}`}}function s(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxx-xxxx-xxxx-xxxx".replace(/x/g,()=>Math.floor(16*Math.random()).toString(16))}function o(e,t){return t?(...t)=>{console.log(`[${e}]`,...t)}:(...e)=>{}}const n=new WeakMap;class c{constructor(e){this._pending=new Map,this._commands=new Map,this._defaultTimeout=e}send(e,t,i,o,n){const c=s(),r=Date.now(),a={id:c,targetDeviceId:e,command:t,params:i,status:"pending",sentBy:o,sentAt:r};this._commands.set(c,a);const h=new Promise((e,i)=>{const s=n??this._defaultTimeout,o=setTimeout(()=>{const e=this._pending.get(c);e&&(e.command.status="timeout",this._commands.set(c,e.command),this._pending.delete(c),i(new Error(`Command "${t}" (${c}) timed out after ${s}ms`)))},s);this._pending.set(c,{command:a,resolve:e,reject:i,timer:o})});return h.catch(()=>{}),h}ack(e,t,i){const s=this._pending.get(e);if(!s)return null;clearTimeout(s.timer),this._pending.delete(e);const o=Date.now(),n=s.command;return n.status=t,"acked"===t?n.ackedAt=o:"completed"===t?(n.ackedAt=n.ackedAt??o,n.completedAt=o,n.result=i):"failed"===t&&(n.ackedAt=n.ackedAt??o,n.error="string"==typeof i?i:"Command failed"),this._commands.set(e,n),"acked"===t||"completed"===t?s.resolve(n):s.reject(new Error(n.error??"Command failed")),n}get(e){return this._commands.get(e)}getPending(){return Array.from(this._pending.values()).map(e=>e.command)}dispose(){for(const[e,t]of this._pending.entries())clearTimeout(t.timer),t.command.status="timeout",this._commands.set(e,t.command),t.reject(new Error(`Command "${t.command.command}" (${e}) was disposed`));this._pending.clear()}}const r="telemetry",a="commands",h="_cmd_ack";class d extends e{constructor(e,s,o,n,r,a){super(),this._receivedCommands=new Map,this._onTelemetryRef=null,this._onCommandsRef=null,this._onCmdAckRef=null,this.name=e,this._roomContext=s,this._localDevice=o,this._options=n,this._log=r,this._isConnected=a,this._presenceManager=new t(o.actorTokenId),this._telemetryStore=new i(n.maxTelemetryPoints),this._commandManager=new c(n.commandTimeout)}get devices(){return this._presenceManager.devices}sendTelemetry(e,t,i={}){const o={id:s(),deviceId:this._localDevice.deviceId,sensorId:e,value:t,unit:i.unit,tags:i.tags,timestamp:Date.now(),isReplay:!1};return this._log("Sending telemetry:",e,"=",t),this._roomContext.emit(r,o,{echo:!1}),this._telemetryStore.add(o),o}getTelemetry(e,t){return this._telemetryStore.getAll(e,t)}sendCommand(e,t,i){this._log("Sending command:",t,"→",e);const s=this._commandManager.send(e,t,i,this._localDevice.deviceId,this._options.commandTimeout),o=this._commandManager.getPending(),n=o[o.length-1];return n&&this._roomContext.emit(a,n,{echo:!1,filter:e}),s}ackCommand(e,t,i){this._log("Acking command:",e,t);const s={commandId:e,status:t,result:i,ackedBy:this._localDevice.deviceId,ackedAt:Date.now()},o=this._receivedCommands.get(e)||this._commandManager.get(e),n=o?.sentBy;this._receivedCommands.delete(e),this._roomContext.emit(h,s,{echo:!1,...n?{filter:n}:{}}),this._commandManager.ack(e,t,i)}getDevices(){return this._presenceManager.getAll()}getDevice(e){return this._presenceManager.getDevice(e)}_subscribe(){this._log("Group subscribe:",this.name),this._roomContext.subscribe(r),"device"===this._options.role?this._roomContext.subscribe(a,{filters:[this._localDevice.deviceId]}):this._roomContext.subscribe(a),"controller"===this._options.role?this._roomContext.subscribe(h,{filters:[this._localDevice.deviceId]}):this._roomContext.subscribe(h),this._onTelemetryRef=e=>{this._handleIncomingTelemetry(e)},this._roomContext.on(r,this._onTelemetryRef),this._onCommandsRef=e=>{this._handleIncomingCommand(e)},this._roomContext.on(a,this._onCommandsRef),this._onCmdAckRef=e=>{this._handleIncomingCmdAck(e)},this._roomContext.on(h,this._onCmdAckRef)}_activate(){this._log("Group activate:",this.name),this._setPresence(),this._roomContext.fetchPresence().then(e=>{this._log("Group presence fetched:",this.name,e.length,"actors");for(const t of e)if(t.presence){const e=this._presenceManager.addFromPresence(t.actorTokenId,t.presence,t.joinedAt);e&&this.emit("deviceJoined",e)}}).catch(e=>{this._log("Failed to fetch group presence:",e)})}_updateLocalPresence(){this._setPresence()}_handlePresenceJoin(e,t){const i=this._presenceManager.addFromPresence(e,t);i&&(this._log("Device joined group:",this.name,i.deviceId),this.emit("deviceJoined",i))}_handlePresenceLeave(e){const t=this._presenceManager.removeByActorId(e);t&&(this._log("Device left group:",this.name,t.deviceId),this.emit("deviceLeft",t))}_handlePresenceUpdate(e,t){this._presenceManager.addFromPresence(e,t)}_cleanup(){this._log("Group cleanup:",this.name),this._isConnected()&&(this._roomContext.unsubscribe(r),this._roomContext.unsubscribe(a),this._roomContext.unsubscribe(h)),this._onTelemetryRef&&this._roomContext.off(r,this._onTelemetryRef),this._onCommandsRef&&this._roomContext.off(a,this._onCommandsRef),this._onCmdAckRef&&this._roomContext.off(h,this._onCmdAckRef),this._onTelemetryRef=null,this._onCommandsRef=null,this._onCmdAckRef=null,this._commandManager.dispose(),this._receivedCommands.clear(),this._presenceManager.clear(),this.removeAllListeners()}_handleIncomingTelemetry(e){const t=e;this._log("Received telemetry:",t.sensorId,"=",t.value,"from",t.deviceId);this._telemetryStore.add(t)&&this.emit("telemetry",t)}_handleIncomingCommand(e){const t=e;"controller"!==this._options.role&&(this._log("Received command:",t.command,"from",t.sentBy),this._receivedCommands.set(t.id,t),this.emit("command",t))}_handleIncomingCmdAck(e){const t=e;this._log("Received command ack:",t.commandId,t.status);const i=this._commandManager.ack(t.commandId,t.status,t.result);i&&this.emit("commandAck",i)}_setPresence(){const e={deviceId:this._localDevice.deviceId,deviceName:this._localDevice.deviceName,role:this._localDevice.role,metadata:this._localDevice.metadata,__scope:this._options.appName};this._roomContext.setPresence(e)}}class _ extends e{constructor(e){if(super(),this._localDevice=null,this._groups=new Map,this._lobby=null,this._onlineDevices=new Map,this._actorToDeviceId=new Map,this._epoch=0,this._detached=!1,this._isReady=!1,this._lobbyRefreshTimer=null,this._onConnectRef=()=>this._onConnect(),this._onDisconnectRef=e=>{this._log("Disconnected:",e),this.emit("disconnected",e)},this._onReconnectRef=()=>{this._log("Reconnecting..."),this.emit("reconnecting")},this._onErrorRef=e=>{this._log("Error:",e),this.emit("error",e)},this._onPresenceJoinRef=e=>this._handleRoomPresenceJoin(e),this._onPresenceLeaveRef=e=>this._handleRoomPresenceLeave(e),this._onPresenceUpdateRef=e=>this._handleRoomPresenceUpdate(e),this._onLobbyJoinRef=e=>this._handleLobbyJoin(e),this._onLobbyLeaveRef=e=>this._handleLobbyLeave(e),this._onLobbyUpdateRef=e=>this._handleLobbyUpdate(e),!e?.client)throw new TypeError("NoLagIoT requires an injected NoLag client: new NoLagIoT({ client, deviceId, ... })");this._client=e.client,this._deviceId=e.deviceId??s(),this._options={deviceId:this._deviceId,deviceName:e.deviceName,role:e.role??"device",metadata:e.metadata,appName:e.appName??"iot",maxTelemetryPoints:e.maxTelemetryPoints??1e3,commandTimeout:e.commandTimeout??3e4,debug:e.debug??!1,groups:e.groups??[]},this._log=o("NoLagIoT",this._options.debug),this._readyPromise=new Promise((e,t)=>{this._readyResolve=e,this._readyReject=t}),this._readyPromise.catch(()=>{}),function(e,t,i){let s=n.get(e);s||(s=new Map,n.set(e,s));const o=s.get(t);o&&console.warn(`[${i}] Another wrapper (${o}) is already attached to this client for app "${t}". Use one wrapper per (client, app) — detach the other instance first.`),s.set(t,i)}(this._client,this._options.appName,"NoLagIoT"),this._client.on("connect",this._onConnectRef),this._client.on("disconnect",this._onDisconnectRef),this._client.on("reconnect",this._onReconnectRef),this._client.on("error",this._onErrorRef),this._client.on("presence:join",this._onPresenceJoinRef),this._client.on("presence:leave",this._onPresenceLeaveRef),this._client.on("presence:update",this._onPresenceUpdateRef),this._client.on("lobbyPresence:join",this._onLobbyJoinRef),this._client.on("lobbyPresence:leave",this._onLobbyLeaveRef),this._client.on("lobbyPresence:update",this._onLobbyUpdateRef),queueMicrotask(()=>{0===this._epoch&&!this._detached&&this._client.connected&&this._onConnect()})}get connected(){return!this._detached&&this._client.connected}get client(){return this._client}get localDevice(){return this._localDevice}get groups(){return this._groups}ready(){return this._readyPromise}detach(){if(!this._detached){this._log("Detaching..."),this._detached=!0,this._epoch++,this._lobbyRefreshTimer&&(clearTimeout(this._lobbyRefreshTimer),this._lobbyRefreshTimer=null),this._client.off("connect",this._onConnectRef),this._client.off("disconnect",this._onDisconnectRef),this._client.off("reconnect",this._onReconnectRef),this._client.off("error",this._onErrorRef),this._client.off("presence:join",this._onPresenceJoinRef),this._client.off("presence:leave",this._onPresenceLeaveRef),this._client.off("presence:update",this._onPresenceUpdateRef),this._client.off("lobbyPresence:join",this._onLobbyJoinRef),this._client.off("lobbyPresence:leave",this._onLobbyLeaveRef),this._client.off("lobbyPresence:update",this._onLobbyUpdateRef);for(const e of[...this._groups.keys()])this._groups.get(e)._cleanup(),this._groups.delete(e);if(this._lobby&&this._client.connected)try{this._lobby.unsubscribe()}catch{}var e,t;this._lobby=null,this._onlineDevices.clear(),this._actorToDeviceId.clear(),this._localDevice=null,e=this._client,t=this._options.appName,n.get(e)?.delete(t),this._isReady||this._readyReject(new Error("NoLagIoT detached before ready"))}}_onConnect(){this._epoch++,this._runSetup(this._epoch)}async _runSetup(e){const t=()=>e!==this._epoch||this._detached;this._log(this._isReady?"Restoring after reconnect...":"Setting up..."),this._localDevice?this._localDevice.actorTokenId=this._client.actorId:(this._localDevice={deviceId:this._deviceId,actorTokenId:this._client.actorId,deviceName:this._options.deviceName,role:this._options.role,metadata:this._options.metadata,joinedAt:Date.now(),isLocal:!0},this._log("Local device:",this._localDevice.deviceId,"→",this._localDevice.actorTokenId)),this._lobby||(this._lobby=this._client.setApp(this._options.appName).setLobby("online"));try{const e=await this._lobby.subscribe();if(t())return;this._diffHydrateOnlineDevices(e),this._log("Lobby subscribed, online devices:",this._onlineDevices.size)}catch(e){if(t())return;this._log("Lobby subscription failed:",e)}if(this._isReady)for(const e of this._groups.values())e._updateLocalPresence();else for(const e of this._options.groups){this._subscribeGroup(e)._activate()}t()||(this._isReady?this.emit("reconnected"):(this._isReady=!0,this._readyResolve(),this.emit("connected")),this._scheduleLobbyRefresh(e))}_scheduleLobbyRefresh(e){this._lobbyRefreshTimer&&clearTimeout(this._lobbyRefreshTimer),this._lobbyRefreshTimer=setTimeout(()=>{this._lobbyRefreshTimer=null,e===this._epoch&&!this._detached&&this._client.connected&&this._lobby&&this._lobby.fetchPresence().then(t=>{e!==this._epoch||this._detached||this._diffHydrateOnlineDevices(t)}).catch(()=>{})},2e3)}joinGroup(e){this._assertUsable();let t=this._groups.get(e);return t||(t=this._subscribeGroup(e),t._activate()),t}leaveGroup(e){const t=this._groups.get(e);t&&(this._log("Leaving group:",e),t._cleanup(),this._groups.delete(e))}getGroups(){return Array.from(this._groups.values())}getOnlineDevices(){return Array.from(this._onlineDevices.values())}_assertUsable(){if(this._detached)throw new Error("NoLagIoT has been detached — construct a new instance");if(!this._isReady||!this._localDevice)throw new Error('NoLagIoT not ready — await ready() or the "connected" event')}_subscribeGroup(e){this._log("Subscribing group:",e);const t=this._client.setApp(this._options.appName).setRoom(e),i=new d(e,t,this._localDevice,this._options,o(`DeviceGroup:${e}`,this._options.debug),()=>this._client.connected);return this._groups.set(e,i),i._subscribe(),i}_foreignScope(e){const t=e?.__scope;return"string"==typeof t&&t!==this._options.appName}_handleRoomPresenceJoin(e){if(e.actorTokenId===this._localDevice?.actorTokenId)return;const t=e.presence;if(!t?.deviceId||this._foreignScope(t))return;const i=this._presenceToDevice(e.actorTokenId,t);this._actorToDeviceId.set(e.actorTokenId,i.deviceId),this._onlineDevices.has(i.deviceId)||(this._onlineDevices.set(i.deviceId,i),this.emit("deviceOnline",i));for(const i of this._groups.values())i._handlePresenceJoin(e.actorTokenId,t)}_handleRoomPresenceLeave(e){if(e.actorTokenId!==this._localDevice?.actorTokenId)for(const t of this._groups.values())t._handlePresenceLeave(e.actorTokenId)}_handleRoomPresenceUpdate(e){if(e.actorTokenId===this._localDevice?.actorTokenId)return;const t=e.presence;if(t?.deviceId&&!this._foreignScope(t)){if(this._onlineDevices.has(t.deviceId)){const i=this._presenceToDevice(e.actorTokenId,t);this._onlineDevices.set(i.deviceId,i)}for(const i of this._groups.values())i._handlePresenceUpdate(e.actorTokenId,t)}}_handleLobbyJoin(e){const{actorId:t,data:i}=e;if(t===this._localDevice?.actorTokenId)return;const s=i;if(!s?.deviceId||this._foreignScope(s))return;const o=this._presenceToDevice(t,s);this._actorToDeviceId.set(t,o.deviceId),this._onlineDevices.has(o.deviceId)||(this._onlineDevices.set(o.deviceId,o),this.emit("deviceOnline",o))}_handleLobbyLeave(e){const{actorId:t,data:i}=e;if(t===this._localDevice?.actorTokenId)return;const s=i;if(this._foreignScope(s))return;const o=s?.deviceId||this._actorToDeviceId.get(t)||this._findDeviceIdByActorId(t);if(o){const e=this._onlineDevices.get(o);e&&(this._onlineDevices.delete(o),this._actorToDeviceId.delete(t),this.emit("deviceOffline",e))}}_handleLobbyUpdate(e){const{actorId:t,data:i}=e;if(t===this._localDevice?.actorTokenId)return;const s=i;if(!s?.deviceId||this._foreignScope(s))return;const o=this._presenceToDevice(t,s);this._onlineDevices.set(o.deviceId,o)}_diffHydrateOnlineDevices(e){const t=new Map,i=new Map;for(const s of Object.keys(e)){const o=e[s];for(const e of Object.keys(o)){if(e===this._localDevice?.actorTokenId)continue;const s=o[e],n=s?.presence??s;n?.deviceId&&!this._foreignScope(n)&&(t.has(n.deviceId)||t.set(n.deviceId,this._presenceToDevice(e,n)),i.set(e,n.deviceId))}}for(const[e,i]of[...this._onlineDevices])if(!t.has(e)){this._onlineDevices.delete(e);for(const[t,i]of[...this._actorToDeviceId])i===e&&this._actorToDeviceId.delete(t);this.emit("deviceOffline",i)}for(const[e,i]of t)this._onlineDevices.has(e)||(this._onlineDevices.set(e,i),this.emit("deviceOnline",i));for(const[e,t]of i)this._actorToDeviceId.set(e,t)}_presenceToDevice(e,t){return{deviceId:t.deviceId,actorTokenId:e,deviceName:t.deviceName,role:t.role,metadata:t.metadata,joinedAt:Date.now(),isLocal:!1}}_findDeviceIdByActorId(e){for(const t of this._onlineDevices.values())if(t.actorTokenId===e)return t.deviceId}}export{c as CommandManager,d as DeviceGroup,e as EventEmitter,_ as NoLagIoT,t as PresenceManager,i as TelemetryStore};
|
|
1
|
+
class e{constructor(){this._handlers=new Map}on(e,t){return this._handlers.has(e)||this._handlers.set(e,new Set),this._handlers.get(e).add(t),this}off(e,t){return t?this._handlers.get(e)?.delete(t):this._handlers.delete(e),this}removeAllListeners(){return this._handlers.clear(),this}emit(e,...t){const i=this._handlers.get(e);if(i)for(const s of i)try{s(...t)}catch(t){console.error(`Error in ${String(e)} handler:`,t)}}listenerCount(e){return this._handlers.get(e)?.size??0}}class t{constructor(e){this._devices=new Map,this._actorToDeviceId=new Map,this._localActorId=e}addFromPresence(e,t,i){if(e===this._localActorId)return null;const s=this._actorToDeviceId.get(e),o=t.deviceId||s||e,n={deviceId:o,actorTokenId:e,deviceName:t.deviceName,role:t.role,metadata:t.metadata,joinedAt:i??Date.now(),isLocal:!1};return this._devices.set(o,n),this._actorToDeviceId.set(e,o),n}removeByActorId(e){if(e===this._localActorId)return null;const t=this._actorToDeviceId.get(e);if(!t)return null;const i=this._devices.get(t)??null;return this._devices.delete(t),this._actorToDeviceId.delete(e),i}getDevice(e){return this._devices.get(e)}getDeviceByActorId(e){const t=this._actorToDeviceId.get(e);return t?this._devices.get(t):void 0}getAll(){return Array.from(this._devices.values())}get devices(){return this._devices}clear(){this._devices.clear(),this._actorToDeviceId.clear()}}class i{constructor(e){this._store=new Map,this._ids=new Set,this._maxPoints=e}add(e){if(this._ids.has(e.id))return!1;const t=this._key(e.deviceId,e.sensorId);this._store.has(t)||this._store.set(t,[]);const i=this._store.get(t);return i.push(e),i.length>this._maxPoints&&i.splice(0,i.length-this._maxPoints),this._ids.add(e.id),!0}getAll(e,t){if(void 0!==e&&void 0!==t)return[...this._store.get(this._key(e,t))??[]];const i=[];for(const[t,s]of this._store.entries())(void 0===e||t.startsWith(`${e}:`))&&i.push(...s);return i}getLatest(e,t){const i=this._store.get(this._key(e,t));if(i&&0!==i.length)return i[i.length-1]}has(e){return this._ids.has(e)}get size(){let e=0;for(const t of this._store.values())e+=t.length;return e}clear(){this._store.clear(),this._ids.clear()}_key(e,t){return`${e}:${t}`}}function s(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxx-xxxx-xxxx-xxxx".replace(/x/g,()=>Math.floor(16*Math.random()).toString(16))}function o(e,t){return t?(...t)=>{console.log(`[${e}]`,...t)}:(...e)=>{}}function n(e){return e?.filter?{filter:e.filter}:e?.filters&&e.filters.length>0?{filters:e.filters}:{}}const c=new WeakMap;class r{constructor(e){this._pending=new Map,this._commands=new Map,this._defaultTimeout=e}send(e,t,i,o,n){const c=s(),r=Date.now(),h={id:c,targetDeviceId:e,command:t,params:i,status:"pending",sentBy:o,sentAt:r};this._commands.set(c,h);const a=new Promise((e,i)=>{const s=n??this._defaultTimeout,o=setTimeout(()=>{const e=this._pending.get(c);e&&(e.command.status="timeout",this._commands.set(c,e.command),this._pending.delete(c),i(new Error(`Command "${t}" (${c}) timed out after ${s}ms`)))},s);this._pending.set(c,{command:h,resolve:e,reject:i,timer:o})});return a.catch(()=>{}),a}ack(e,t,i){const s=this._pending.get(e);if(!s)return null;clearTimeout(s.timer),this._pending.delete(e);const o=Date.now(),n=s.command;return n.status=t,"acked"===t?n.ackedAt=o:"completed"===t?(n.ackedAt=n.ackedAt??o,n.completedAt=o,n.result=i):"failed"===t&&(n.ackedAt=n.ackedAt??o,n.error="string"==typeof i?i:"Command failed"),this._commands.set(e,n),"acked"===t||"completed"===t?s.resolve(n):s.reject(new Error(n.error??"Command failed")),n}get(e){return this._commands.get(e)}getPending(){return Array.from(this._pending.values()).map(e=>e.command)}dispose(){for(const[e,t]of this._pending.entries())clearTimeout(t.timer),t.command.status="timeout",this._commands.set(e,t.command),t.reject(new Error(`Command "${t.command.command}" (${e}) was disposed`));this._pending.clear()}}const h="telemetry",a="commands",d="_cmd_ack";class _ extends e{constructor(e,s,o,n,c,h){super(),this._receivedCommands=new Map,this._onTelemetryRef=null,this._onCommandsRef=null,this._onCmdAckRef=null,this._filters=[],this.name=e,this._roomContext=s,this._localDevice=o,this._options=n,this._log=c,this._isConnected=h,this._presenceManager=new t(o.actorTokenId),this._telemetryStore=new i(n.maxTelemetryPoints),this._commandManager=new r(n.commandTimeout)}get devices(){return this._presenceManager.devices}sendTelemetry(e,t,i={}){const o={id:s(),deviceId:this._localDevice.deviceId,sensorId:e,value:t,unit:i.unit,tags:i.tags,timestamp:Date.now(),isReplay:!1};return this._log("Sending telemetry:",e,"=",t),this._roomContext.emit(h,o,{echo:!1,...n(i)}),this._telemetryStore.add(o),o}getTelemetry(e,t){return this._telemetryStore.getAll(e,t)}sendCommand(e,t,i){this._log("Sending command:",t,"→",e);const s=this._commandManager.send(e,t,i,this._localDevice.deviceId,this._options.commandTimeout),o=this._commandManager.getPending(),n=o[o.length-1];return n&&this._roomContext.emit(a,n,{echo:!1,filter:e}),s}ackCommand(e,t,i){this._log("Acking command:",e,t);const s={commandId:e,status:t,result:i,ackedBy:this._localDevice.deviceId,ackedAt:Date.now()},o=this._receivedCommands.get(e)||this._commandManager.get(e),n=o?.sentBy;this._receivedCommands.delete(e),this._roomContext.emit(d,s,{echo:!1,...n?{filter:n}:{}}),this._commandManager.ack(e,t,i)}getDevices(){return this._presenceManager.getAll()}getDevice(e){return this._presenceManager.getDevice(e)}get filters(){return[...this._filters]}setFilters(e){this._filters=[...e],this._roomContext.setFilters(h,this._filters)}addFilters(e){this.setFilters(function(e,t){const i=new Set,s=[];for(const t of e)"string"==typeof t?i.add(t):s.push(t);for(const e of t)i.add(e);return[...i,...s]}(this._filters,e))}removeFilters(e){this.setFilters(function(e,t){const i=new Set(t);return e.filter(e=>"string"!=typeof e||!i.has(e))}(this._filters,e))}_subscribe(e){this._log("Group subscribe:",this.name),this._filters=e?[...e]:[],this._filters.length>0?this._roomContext.subscribe(h,{filters:this._filters}):this._roomContext.subscribe(h),"device"===this._options.role?this._roomContext.subscribe(a,{filters:[this._localDevice.deviceId]}):this._roomContext.subscribe(a),"controller"===this._options.role?this._roomContext.subscribe(d,{filters:[this._localDevice.deviceId]}):this._roomContext.subscribe(d),this._onTelemetryRef=e=>{this._handleIncomingTelemetry(e)},this._roomContext.on(h,this._onTelemetryRef),this._onCommandsRef=e=>{this._handleIncomingCommand(e)},this._roomContext.on(a,this._onCommandsRef),this._onCmdAckRef=e=>{this._handleIncomingCmdAck(e)},this._roomContext.on(d,this._onCmdAckRef)}_activate(){this._log("Group activate:",this.name),this._setPresence(),this._roomContext.fetchPresence().then(e=>{this._log("Group presence fetched:",this.name,e.length,"actors");for(const t of e)if(t.presence){const e=this._presenceManager.addFromPresence(t.actorTokenId,t.presence,t.joinedAt);e&&this.emit("deviceJoined",e)}}).catch(e=>{this._log("Failed to fetch group presence:",e)})}_updateLocalPresence(){this._setPresence()}_handlePresenceJoin(e,t){const i=this._presenceManager.addFromPresence(e,t);i&&(this._log("Device joined group:",this.name,i.deviceId),this.emit("deviceJoined",i))}_handlePresenceLeave(e){const t=this._presenceManager.removeByActorId(e);t&&(this._log("Device left group:",this.name,t.deviceId),this.emit("deviceLeft",t))}_handlePresenceUpdate(e,t){this._presenceManager.addFromPresence(e,t)}_cleanup(){this._log("Group cleanup:",this.name),this._isConnected()&&(this._roomContext.unsubscribe(h),this._roomContext.unsubscribe(a),this._roomContext.unsubscribe(d)),this._onTelemetryRef&&this._roomContext.off(h,this._onTelemetryRef),this._onCommandsRef&&this._roomContext.off(a,this._onCommandsRef),this._onCmdAckRef&&this._roomContext.off(d,this._onCmdAckRef),this._onTelemetryRef=null,this._onCommandsRef=null,this._onCmdAckRef=null,this._commandManager.dispose(),this._receivedCommands.clear(),this._presenceManager.clear(),this.removeAllListeners()}_handleIncomingTelemetry(e){const t=e;this._log("Received telemetry:",t.sensorId,"=",t.value,"from",t.deviceId);this._telemetryStore.add(t)&&this.emit("telemetry",t)}_handleIncomingCommand(e){const t=e;"controller"!==this._options.role&&(this._log("Received command:",t.command,"from",t.sentBy),this._receivedCommands.set(t.id,t),this.emit("command",t))}_handleIncomingCmdAck(e){const t=e;this._log("Received command ack:",t.commandId,t.status);const i=this._commandManager.ack(t.commandId,t.status,t.result);i&&this.emit("commandAck",i)}_setPresence(){const e={deviceId:this._localDevice.deviceId,deviceName:this._localDevice.deviceName,role:this._localDevice.role,metadata:this._localDevice.metadata,__scope:this._options.appName};this._roomContext.setPresence(e)}}class l extends e{constructor(e){if(super(),this._localDevice=null,this._groups=new Map,this._lobby=null,this._onlineDevices=new Map,this._actorToDeviceId=new Map,this._epoch=0,this._detached=!1,this._isReady=!1,this._lobbyRefreshTimer=null,this._onConnectRef=()=>this._onConnect(),this._onDisconnectRef=e=>{this._log("Disconnected:",e),this.emit("disconnected",e)},this._onReconnectRef=()=>{this._log("Reconnecting..."),this.emit("reconnecting")},this._onErrorRef=e=>{this._log("Error:",e),this.emit("error",e)},this._onPresenceJoinRef=e=>this._handleRoomPresenceJoin(e),this._onPresenceLeaveRef=e=>this._handleRoomPresenceLeave(e),this._onPresenceUpdateRef=e=>this._handleRoomPresenceUpdate(e),this._onLobbyJoinRef=e=>this._handleLobbyJoin(e),this._onLobbyLeaveRef=e=>this._handleLobbyLeave(e),this._onLobbyUpdateRef=e=>this._handleLobbyUpdate(e),!e?.client)throw new TypeError("NoLagIoT requires an injected NoLag client: new NoLagIoT({ client, deviceId, ... })");this._client=e.client,this._deviceId=e.deviceId??s(),this._options={deviceId:this._deviceId,deviceName:e.deviceName,role:e.role??"device",metadata:e.metadata,appName:e.appName??"iot",maxTelemetryPoints:e.maxTelemetryPoints??1e3,commandTimeout:e.commandTimeout??3e4,debug:e.debug??!1,groups:e.groups??[]},this._log=o("NoLagIoT",this._options.debug),this._readyPromise=new Promise((e,t)=>{this._readyResolve=e,this._readyReject=t}),this._readyPromise.catch(()=>{}),function(e,t,i){let s=c.get(e);s||(s=new Map,c.set(e,s));const o=s.get(t);o&&console.warn(`[${i}] Another wrapper (${o}) is already attached to this client for app "${t}". Use one wrapper per (client, app) — detach the other instance first.`),s.set(t,i)}(this._client,this._options.appName,"NoLagIoT"),this._client.on("connect",this._onConnectRef),this._client.on("disconnect",this._onDisconnectRef),this._client.on("reconnect",this._onReconnectRef),this._client.on("error",this._onErrorRef),this._client.on("presence:join",this._onPresenceJoinRef),this._client.on("presence:leave",this._onPresenceLeaveRef),this._client.on("presence:update",this._onPresenceUpdateRef),this._client.on("lobbyPresence:join",this._onLobbyJoinRef),this._client.on("lobbyPresence:leave",this._onLobbyLeaveRef),this._client.on("lobbyPresence:update",this._onLobbyUpdateRef),queueMicrotask(()=>{0===this._epoch&&!this._detached&&this._client.connected&&this._onConnect()})}get connected(){return!this._detached&&this._client.connected}get client(){return this._client}get localDevice(){return this._localDevice}get groups(){return this._groups}ready(){return this._readyPromise}detach(){if(!this._detached){this._log("Detaching..."),this._detached=!0,this._epoch++,this._lobbyRefreshTimer&&(clearTimeout(this._lobbyRefreshTimer),this._lobbyRefreshTimer=null),this._client.off("connect",this._onConnectRef),this._client.off("disconnect",this._onDisconnectRef),this._client.off("reconnect",this._onReconnectRef),this._client.off("error",this._onErrorRef),this._client.off("presence:join",this._onPresenceJoinRef),this._client.off("presence:leave",this._onPresenceLeaveRef),this._client.off("presence:update",this._onPresenceUpdateRef),this._client.off("lobbyPresence:join",this._onLobbyJoinRef),this._client.off("lobbyPresence:leave",this._onLobbyLeaveRef),this._client.off("lobbyPresence:update",this._onLobbyUpdateRef);for(const e of[...this._groups.keys()])this._groups.get(e)._cleanup(),this._groups.delete(e);if(this._lobby&&this._client.connected)try{this._lobby.unsubscribe()}catch{}var e,t;this._lobby=null,this._onlineDevices.clear(),this._actorToDeviceId.clear(),this._localDevice=null,e=this._client,t=this._options.appName,c.get(e)?.delete(t),this._isReady||this._readyReject(new Error("NoLagIoT detached before ready"))}}_onConnect(){this._epoch++,this._runSetup(this._epoch)}async _runSetup(e){const t=()=>e!==this._epoch||this._detached;this._log(this._isReady?"Restoring after reconnect...":"Setting up..."),this._localDevice?this._localDevice.actorTokenId=this._client.actorId:(this._localDevice={deviceId:this._deviceId,actorTokenId:this._client.actorId,deviceName:this._options.deviceName,role:this._options.role,metadata:this._options.metadata,joinedAt:Date.now(),isLocal:!0},this._log("Local device:",this._localDevice.deviceId,"→",this._localDevice.actorTokenId)),this._lobby||(this._lobby=this._client.setApp(this._options.appName).setLobby("online"));try{const e=await this._lobby.subscribe();if(t())return;this._diffHydrateOnlineDevices(e),this._log("Lobby subscribed, online devices:",this._onlineDevices.size)}catch(e){if(t())return;this._log("Lobby subscription failed:",e)}if(this._isReady)for(const e of this._groups.values())e._updateLocalPresence();else for(const e of this._options.groups){this._subscribeGroup(e)._activate()}t()||(this._isReady?this.emit("reconnected"):(this._isReady=!0,this._readyResolve(),this.emit("connected")),this._scheduleLobbyRefresh(e))}_scheduleLobbyRefresh(e){this._lobbyRefreshTimer&&clearTimeout(this._lobbyRefreshTimer),this._lobbyRefreshTimer=setTimeout(()=>{this._lobbyRefreshTimer=null,e===this._epoch&&!this._detached&&this._client.connected&&this._lobby&&this._lobby.fetchPresence().then(t=>{e!==this._epoch||this._detached||this._diffHydrateOnlineDevices(t)}).catch(()=>{})},2e3)}joinGroup(e,t){this._assertUsable();let i=this._groups.get(e);return i?t?.filters&&i.setFilters(t.filters):(i=this._subscribeGroup(e,t?.filters),i._activate()),i}leaveGroup(e){const t=this._groups.get(e);t&&(this._log("Leaving group:",e),t._cleanup(),this._groups.delete(e))}getGroups(){return Array.from(this._groups.values())}getOnlineDevices(){return Array.from(this._onlineDevices.values())}_assertUsable(){if(this._detached)throw new Error("NoLagIoT has been detached — construct a new instance");if(!this._isReady||!this._localDevice)throw new Error('NoLagIoT not ready — await ready() or the "connected" event')}_subscribeGroup(e,t){this._log("Subscribing group:",e);const i=this._client.setApp(this._options.appName).setRoom(e),s=new _(e,i,this._localDevice,this._options,o(`DeviceGroup:${e}`,this._options.debug),()=>this._client.connected);return this._groups.set(e,s),s._subscribe(t),s}_foreignScope(e){const t=e?.__scope;return"string"==typeof t&&t!==this._options.appName}_handleRoomPresenceJoin(e){if(e.actorTokenId===this._localDevice?.actorTokenId)return;const t=e.presence;if(!t?.deviceId||this._foreignScope(t))return;const i=this._presenceToDevice(e.actorTokenId,t);this._actorToDeviceId.set(e.actorTokenId,i.deviceId),this._onlineDevices.has(i.deviceId)||(this._onlineDevices.set(i.deviceId,i),this.emit("deviceOnline",i));for(const i of this._groups.values())i._handlePresenceJoin(e.actorTokenId,t)}_handleRoomPresenceLeave(e){if(e.actorTokenId!==this._localDevice?.actorTokenId)for(const t of this._groups.values())t._handlePresenceLeave(e.actorTokenId)}_handleRoomPresenceUpdate(e){if(e.actorTokenId===this._localDevice?.actorTokenId)return;const t=e.presence;if(t?.deviceId&&!this._foreignScope(t)){if(this._onlineDevices.has(t.deviceId)){const i=this._presenceToDevice(e.actorTokenId,t);this._onlineDevices.set(i.deviceId,i)}for(const i of this._groups.values())i._handlePresenceUpdate(e.actorTokenId,t)}}_handleLobbyJoin(e){const{actorId:t,data:i}=e;if(t===this._localDevice?.actorTokenId)return;const s=i;if(!s?.deviceId||this._foreignScope(s))return;const o=this._presenceToDevice(t,s);this._actorToDeviceId.set(t,o.deviceId),this._onlineDevices.has(o.deviceId)||(this._onlineDevices.set(o.deviceId,o),this.emit("deviceOnline",o))}_handleLobbyLeave(e){const{actorId:t,data:i}=e;if(t===this._localDevice?.actorTokenId)return;const s=i;if(this._foreignScope(s))return;const o=s?.deviceId||this._actorToDeviceId.get(t)||this._findDeviceIdByActorId(t);if(o){const e=this._onlineDevices.get(o);e&&(this._onlineDevices.delete(o),this._actorToDeviceId.delete(t),this.emit("deviceOffline",e))}}_handleLobbyUpdate(e){const{actorId:t,data:i}=e;if(t===this._localDevice?.actorTokenId)return;const s=i;if(!s?.deviceId||this._foreignScope(s))return;const o=this._presenceToDevice(t,s);this._onlineDevices.set(o.deviceId,o)}_diffHydrateOnlineDevices(e){const t=new Map,i=new Map;for(const s of Object.keys(e)){const o=e[s];for(const e of Object.keys(o)){if(e===this._localDevice?.actorTokenId)continue;const s=o[e],n=s?.presence??s;n?.deviceId&&!this._foreignScope(n)&&(t.has(n.deviceId)||t.set(n.deviceId,this._presenceToDevice(e,n)),i.set(e,n.deviceId))}}for(const[e,i]of[...this._onlineDevices])if(!t.has(e)){this._onlineDevices.delete(e);for(const[t,i]of[...this._actorToDeviceId])i===e&&this._actorToDeviceId.delete(t);this.emit("deviceOffline",i)}for(const[e,i]of t)this._onlineDevices.has(e)||(this._onlineDevices.set(e,i),this.emit("deviceOnline",i));for(const[e,t]of i)this._actorToDeviceId.set(e,t)}_presenceToDevice(e,t){return{deviceId:t.deviceId,actorTokenId:e,deviceName:t.deviceName,role:t.role,metadata:t.metadata,joinedAt:Date.now(),isLocal:!1}}_findDeviceIdByActorId(e){for(const t of this._onlineDevices.values())if(t.actorTokenId===e)return t.deviceId}}export{r as CommandManager,_ as DeviceGroup,e as EventEmitter,l as NoLagIoT,t as PresenceManager,i as TelemetryStore};
|
|
2
2
|
//# sourceMappingURL=browser.js.map
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sources":["../src/EventEmitter.ts","../src/PresenceManager.ts","../src/TelemetryStore.ts","../src/utils.ts","../src/CommandManager.ts","../src/constants.ts","../src/DeviceGroup.ts","../src/NoLagIoT.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["EventEmitter","constructor","this","_handlers","Map","on","event","handler","has","set","Set","get","add","off","delete","removeAllListeners","clear","emit","args","handlers","e","console","error","String","listenerCount","size","PresenceManager","localActorId","_devices","_actorToDeviceId","_localActorId","addFromPresence","actorTokenId","presence","joinedAt","existing","deviceId","device","deviceName","role","metadata","Date","now","isLocal","removeByActorId","getDevice","getDeviceByActorId","undefined","getAll","Array","from","values","devices","TelemetryStore","maxPoints","_store","_ids","_maxPoints","reading","id","key","_key","sensorId","bucket","push","length","splice","results","entries","startsWith","getLatest","total","generateId","crypto","randomUUID","replace","Math","floor","random","toString","createLogger","prefix","enabled","log","_args","wrapperRegistry","WeakMap","CommandManager","defaultTimeout","_pending","_commands","_defaultTimeout","send","targetDeviceId","command","params","sentBy","timeout","cmd","status","sentAt","promise","Promise","resolve","reject","ms","timer","setTimeout","entry","Error","catch","ack","commandId","result","clearTimeout","ackedAt","completedAt","getPending","map","dispose","TOPIC_TELEMETRY","TOPIC_COMMANDS","TOPIC_CMD_ACK","DeviceGroup","name","roomContext","localDevice","options","isConnected","super","_receivedCommands","_onTelemetryRef","_onCommandsRef","_onCmdAckRef","_roomContext","_localDevice","_options","_log","_isConnected","_presenceManager","_telemetryStore","maxTelemetryPoints","_commandManager","commandTimeout","sendTelemetry","value","opts","unit","tags","timestamp","isReplay","echo","getTelemetry","sendCommand","pending","filter","ackCommand","ackedBy","ackFilter","getDevices","_subscribe","subscribe","filters","data","_handleIncomingTelemetry","_handleIncomingCommand","_handleIncomingCmdAck","_activate","_setPresence","fetchPresence","then","actors","actor","err","_updateLocalPresence","_handlePresenceJoin","presenceData","_handlePresenceLeave","_handlePresenceUpdate","_cleanup","unsubscribe","__scope","appName","setPresence","NoLagIoT","_groups","_lobby","_onlineDevices","_epoch","_detached","_isReady","_lobbyRefreshTimer","_onConnectRef","_onConnect","_onDisconnectRef","reason","_onReconnectRef","_onErrorRef","_onPresenceJoinRef","_handleRoomPresenceJoin","_onPresenceLeaveRef","_handleRoomPresenceLeave","_onPresenceUpdateRef","_handleRoomPresenceUpdate","_onLobbyJoinRef","_handleLobbyJoin","_onLobbyLeaveRef","_handleLobbyLeave","_onLobbyUpdateRef","_handleLobbyUpdate","client","TypeError","_client","_deviceId","debug","groups","_readyPromise","_readyResolve","_readyReject","wrapperName","apps","warn","registerWrapper","queueMicrotask","connected","ready","detach","keys","_runSetup","epoch","stale","actorId","setApp","setLobby","state","_diffHydrateOnlineDevices","group","groupName","_subscribeGroup","_scheduleLobbyRefresh","joinGroup","_assertUsable","leaveGroup","getGroups","getOnlineDevices","setRoom","_foreignScope","scope","_presenceToDevice","_findDeviceIdByActorId","fresh","freshActors","roomId","Object","roomPresence","raw","mappedDeviceId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","sources":["../src/EventEmitter.ts","../src/PresenceManager.ts","../src/TelemetryStore.ts","../src/utils.ts","../src/CommandManager.ts","../src/constants.ts","../src/DeviceGroup.ts","../src/NoLagIoT.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["EventEmitter","constructor","this","_handlers","Map","on","event","handler","has","set","Set","get","add","off","delete","removeAllListeners","clear","emit","args","handlers","e","console","error","String","listenerCount","size","PresenceManager","localActorId","_devices","_actorToDeviceId","_localActorId","addFromPresence","actorTokenId","presence","joinedAt","existing","deviceId","device","deviceName","role","metadata","Date","now","isLocal","removeByActorId","getDevice","getDeviceByActorId","undefined","getAll","Array","from","values","devices","TelemetryStore","maxPoints","_store","_ids","_maxPoints","reading","id","key","_key","sensorId","bucket","push","length","splice","results","entries","startsWith","getLatest","total","generateId","crypto","randomUUID","replace","Math","floor","random","toString","createLogger","prefix","enabled","log","_args","filterEmitOptions","opts","filter","filters","wrapperRegistry","WeakMap","CommandManager","defaultTimeout","_pending","_commands","_defaultTimeout","send","targetDeviceId","command","params","sentBy","timeout","cmd","status","sentAt","promise","Promise","resolve","reject","ms","timer","setTimeout","entry","Error","catch","ack","commandId","result","clearTimeout","ackedAt","completedAt","getPending","map","dispose","TOPIC_TELEMETRY","TOPIC_COMMANDS","TOPIC_CMD_ACK","DeviceGroup","name","roomContext","localDevice","options","isConnected","super","_receivedCommands","_onTelemetryRef","_onCommandsRef","_onCmdAckRef","_filters","_roomContext","_localDevice","_options","_log","_isConnected","_presenceManager","_telemetryStore","maxTelemetryPoints","_commandManager","commandTimeout","sendTelemetry","value","unit","tags","timestamp","isReplay","echo","getTelemetry","sendCommand","pending","ackCommand","ackedBy","ackFilter","getDevices","setFilters","addFilters","simple","groups","f","v","mergeFilters","removeFilters","remove","drop","withoutFilters","_subscribe","subscribe","data","_handleIncomingTelemetry","_handleIncomingCommand","_handleIncomingCmdAck","_activate","_setPresence","fetchPresence","then","actors","actor","err","_updateLocalPresence","_handlePresenceJoin","presenceData","_handlePresenceLeave","_handlePresenceUpdate","_cleanup","unsubscribe","__scope","appName","setPresence","NoLagIoT","_groups","_lobby","_onlineDevices","_epoch","_detached","_isReady","_lobbyRefreshTimer","_onConnectRef","_onConnect","_onDisconnectRef","reason","_onReconnectRef","_onErrorRef","_onPresenceJoinRef","_handleRoomPresenceJoin","_onPresenceLeaveRef","_handleRoomPresenceLeave","_onPresenceUpdateRef","_handleRoomPresenceUpdate","_onLobbyJoinRef","_handleLobbyJoin","_onLobbyLeaveRef","_handleLobbyLeave","_onLobbyUpdateRef","_handleLobbyUpdate","client","TypeError","_client","_deviceId","debug","_readyPromise","_readyResolve","_readyReject","wrapperName","apps","warn","registerWrapper","queueMicrotask","connected","ready","detach","keys","_runSetup","epoch","stale","actorId","setApp","setLobby","state","_diffHydrateOnlineDevices","group","groupName","_subscribeGroup","_scheduleLobbyRefresh","joinGroup","_assertUsable","leaveGroup","getGroups","getOnlineDevices","setRoom","_foreignScope","scope","_presenceToDevice","_findDeviceIdByActorId","fresh","freshActors","roomId","Object","roomPresence","raw","mappedDeviceId"],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -233,6 +233,45 @@ function createLogger(prefix, enabled) {
|
|
|
233
233
|
console.log(`[${prefix}]`, ...args);
|
|
234
234
|
};
|
|
235
235
|
}
|
|
236
|
+
// ============ Filters ============
|
|
237
|
+
/**
|
|
238
|
+
* Build the filter fragment of an emit options object.
|
|
239
|
+
*
|
|
240
|
+
* `filter` wins over `filters`: a publish is routed to exactly one topic, so
|
|
241
|
+
* honouring both would silently drop one of them.
|
|
242
|
+
*/
|
|
243
|
+
function filterEmitOptions(opts) {
|
|
244
|
+
if (opts?.filter)
|
|
245
|
+
return { filter: opts.filter };
|
|
246
|
+
if (opts?.filters && opts.filters.length > 0)
|
|
247
|
+
return { filters: opts.filters };
|
|
248
|
+
return {};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Merge OR terms into an existing filter set. AND groups (nested arrays) are
|
|
252
|
+
* preserved as-is — only plain string terms are deduplicated.
|
|
253
|
+
*/
|
|
254
|
+
function mergeFilters(existing, add) {
|
|
255
|
+
const simple = new Set();
|
|
256
|
+
const groups = [];
|
|
257
|
+
for (const f of existing) {
|
|
258
|
+
if (typeof f === 'string')
|
|
259
|
+
simple.add(f);
|
|
260
|
+
else
|
|
261
|
+
groups.push(f);
|
|
262
|
+
}
|
|
263
|
+
for (const v of add)
|
|
264
|
+
simple.add(v);
|
|
265
|
+
return [...simple, ...groups];
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Drop OR terms from a filter set. AND groups are left untouched — remove
|
|
269
|
+
* those by calling `setFilters` with the set you want.
|
|
270
|
+
*/
|
|
271
|
+
function withoutFilters(existing, remove) {
|
|
272
|
+
const drop = new Set(remove);
|
|
273
|
+
return existing.filter((f) => typeof f !== 'string' || !drop.has(f));
|
|
274
|
+
}
|
|
236
275
|
// ============ Wrapper registry ============
|
|
237
276
|
// One wrapper instance per (client, appName): two wrappers sharing an app on
|
|
238
277
|
// one connection would collide on topics, presence and the online lobby.
|
|
@@ -403,6 +442,11 @@ class DeviceGroup extends EventEmitter {
|
|
|
403
442
|
this._onTelemetryRef = null;
|
|
404
443
|
this._onCommandsRef = null;
|
|
405
444
|
this._onCmdAckRef = null;
|
|
445
|
+
/**
|
|
446
|
+
* Filter values applied to the telemetry subscription. Commands and acks are
|
|
447
|
+
* deliberately excluded: they route by deviceId internally.
|
|
448
|
+
*/
|
|
449
|
+
this._filters = [];
|
|
406
450
|
this.name = name;
|
|
407
451
|
this._roomContext = roomContext;
|
|
408
452
|
this._localDevice = localDevice;
|
|
@@ -434,7 +478,7 @@ class DeviceGroup extends EventEmitter {
|
|
|
434
478
|
isReplay: false,
|
|
435
479
|
};
|
|
436
480
|
this._log('Sending telemetry:', sensorId, '=', value);
|
|
437
|
-
this._roomContext.emit(TOPIC_TELEMETRY, reading, { echo: false });
|
|
481
|
+
this._roomContext.emit(TOPIC_TELEMETRY, reading, { echo: false, ...filterEmitOptions(opts) });
|
|
438
482
|
// Store locally so the sender also has it in the buffer
|
|
439
483
|
this._telemetryStore.add(reading);
|
|
440
484
|
return reading;
|
|
@@ -495,11 +539,57 @@ class DeviceGroup extends EventEmitter {
|
|
|
495
539
|
getDevice(deviceId) {
|
|
496
540
|
return this._presenceManager.getDevice(deviceId);
|
|
497
541
|
}
|
|
542
|
+
// ============ Filters ============
|
|
543
|
+
/** The filter values currently applied to this group's telemetry. */
|
|
544
|
+
get filters() {
|
|
545
|
+
return [...this._filters];
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* Replace this group's telemetry filters — only readings published with one
|
|
549
|
+
* of these values are delivered. Use it to watch one site or sensor class
|
|
550
|
+
* instead of every device in the group.
|
|
551
|
+
*
|
|
552
|
+
* Commands and command acks are not affected: those route by deviceId
|
|
553
|
+
* internally, and repointing them would break command delivery.
|
|
554
|
+
*
|
|
555
|
+
* Passing an empty array clears filtering and restores the wildcard
|
|
556
|
+
* subscription, which receives all telemetry.
|
|
557
|
+
*
|
|
558
|
+
* @example
|
|
559
|
+
* ```ts
|
|
560
|
+
* group.setFilters(['site-a']); // one site
|
|
561
|
+
* group.setFilters([['site-a', 'critical']]); // site-a AND critical
|
|
562
|
+
* group.setFilters([]); // all telemetry
|
|
563
|
+
* ```
|
|
564
|
+
*/
|
|
565
|
+
setFilters(values) {
|
|
566
|
+
this._filters = [...values];
|
|
567
|
+
// The core types filters as `string[]`, but both its implementation and
|
|
568
|
+
// the wire protocol accept AND groups (nested arrays).
|
|
569
|
+
this._roomContext.setFilters(TOPIC_TELEMETRY, this._filters);
|
|
570
|
+
}
|
|
571
|
+
/** Add filter values to the existing set. Existing AND groups are kept. */
|
|
572
|
+
addFilters(values) {
|
|
573
|
+
this.setFilters(mergeFilters(this._filters, values));
|
|
574
|
+
}
|
|
575
|
+
/**
|
|
576
|
+
* Remove filter values from the existing set. Removing the last value
|
|
577
|
+
* restores the wildcard subscription.
|
|
578
|
+
*/
|
|
579
|
+
removeFilters(values) {
|
|
580
|
+
this.setFilters(withoutFilters(this._filters, values));
|
|
581
|
+
}
|
|
498
582
|
// ============ Internal (called by NoLagIoT) ============
|
|
499
583
|
/** @internal Subscribe to all group topics and attach listeners */
|
|
500
|
-
_subscribe() {
|
|
584
|
+
_subscribe(filters) {
|
|
501
585
|
this._log('Group subscribe:', this.name);
|
|
502
|
-
this.
|
|
586
|
+
this._filters = filters ? [...filters] : [];
|
|
587
|
+
if (this._filters.length > 0) {
|
|
588
|
+
this._roomContext.subscribe(TOPIC_TELEMETRY, { filters: this._filters });
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
this._roomContext.subscribe(TOPIC_TELEMETRY);
|
|
592
|
+
}
|
|
503
593
|
// Commands: devices subscribe with their deviceId as filter so they only
|
|
504
594
|
// receive commands targeted at them. Controllers subscribe as wildcard
|
|
505
595
|
// to observe all commands.
|
|
@@ -934,13 +1024,17 @@ class NoLagIoT extends EventEmitter {
|
|
|
934
1024
|
* Join a device group. Creates, subscribes, and activates it.
|
|
935
1025
|
* Returns an existing group if already joined.
|
|
936
1026
|
*/
|
|
937
|
-
joinGroup(name) {
|
|
1027
|
+
joinGroup(name, opts) {
|
|
938
1028
|
this._assertUsable();
|
|
939
1029
|
let group = this._groups.get(name);
|
|
940
1030
|
if (!group) {
|
|
941
|
-
group = this._subscribeGroup(name);
|
|
1031
|
+
group = this._subscribeGroup(name, opts?.filters);
|
|
942
1032
|
group._activate();
|
|
943
1033
|
}
|
|
1034
|
+
else if (opts?.filters) {
|
|
1035
|
+
// Already joined — re-point its filters rather than ignoring them.
|
|
1036
|
+
group.setFilters(opts.filters);
|
|
1037
|
+
}
|
|
944
1038
|
return group;
|
|
945
1039
|
}
|
|
946
1040
|
/**
|
|
@@ -977,12 +1071,12 @@ class NoLagIoT extends EventEmitter {
|
|
|
977
1071
|
}
|
|
978
1072
|
}
|
|
979
1073
|
// ============ Private: Group Setup ============
|
|
980
|
-
_subscribeGroup(name) {
|
|
1074
|
+
_subscribeGroup(name, filters) {
|
|
981
1075
|
this._log('Subscribing group:', name);
|
|
982
1076
|
const roomContext = this._client.setApp(this._options.appName).setRoom(name);
|
|
983
1077
|
const group = new DeviceGroup(name, roomContext, this._localDevice, this._options, createLogger(`DeviceGroup:${name}`, this._options.debug), () => this._client.connected);
|
|
984
1078
|
this._groups.set(name, group);
|
|
985
|
-
group._subscribe();
|
|
1079
|
+
group._subscribe(filters);
|
|
986
1080
|
return group;
|
|
987
1081
|
}
|
|
988
1082
|
// ============ Private: Scope Filtering ============
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/EventEmitter.ts","../src/PresenceManager.ts","../src/TelemetryStore.ts","../src/utils.ts","../src/CommandManager.ts","../src/constants.ts","../src/DeviceGroup.ts","../src/NoLagIoT.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/EventEmitter.ts","../src/PresenceManager.ts","../src/TelemetryStore.ts","../src/utils.ts","../src/CommandManager.ts","../src/constants.ts","../src/DeviceGroup.ts","../src/NoLagIoT.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;AAAA;;;;AAIG;MACU,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAiD;IAuC9E;IArCE,EAAE,CAA2B,KAAQ,EAAE,OAAuC,EAAA;QAC5E,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC;QACtC;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACvC,QAAA,OAAO,IAAI;IACb;IAEA,GAAG,CAA2B,KAAQ,EAAE,OAAwC,EAAA;QAC9E,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;QAC5C;aAAO;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B;AACA,QAAA,OAAO,IAAI;IACb;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACtB,QAAA,OAAO,IAAI;IACb;AAEU,IAAA,IAAI,CAA2B,KAAQ,EAAE,GAAG,IAAiB,EAAA;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1C,QAAA,IAAI,CAAC,QAAQ;YAAE;AACf,QAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AAC9B,YAAA,IAAI;AACF,gBAAA,OAAO,CAAC,GAAG,IAAI,CAAC;YAClB;YAAE,OAAO,CAAC,EAAE;AACV,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAA,SAAA,EAAY,MAAM,CAAC,KAAK,CAAC,CAAA,SAAA,CAAW,EAAE,CAAC,CAAC;YACxD;QACF;IACF;AAEA,IAAA,aAAa,CAA2B,KAAQ,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC;IAC7C;AACD;;AC3CD;;AAEG;MACU,eAAe,CAAA;AAK1B,IAAA,WAAA,CAAY,YAAoB,EAAA;AAJxB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAkB;AACpC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,GAAG,EAAkB;AAIlD,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;IACnC;AAEA;;;AAGG;AACH,IAAA,eAAe,CAAC,YAAoB,EAAE,QAAyB,EAAE,QAAiB,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,YAAY,KAAK,IAAI,CAAC,aAAa;;AAGnD,QAAA,IAAI,OAAO;AAAE,YAAA,OAAO,IAAI;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,IAAI,YAAY;AAE9D,QAAA,MAAM,MAAM,GAAW;YACrB,QAAQ;YACR,YAAY;YACZ,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;AAC3B,YAAA,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE;AAChC,YAAA,OAAO,EAAE,KAAK;SACf;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC;AAEjD,QAAA,OAAO,MAAM;IACf;AAEA;;;AAGG;AACH,IAAA,eAAe,CAAC,YAAoB,EAAA;AAClC,QAAA,IAAI,YAAY,KAAK,IAAI,CAAC,aAAa;AAAE,YAAA,OAAO,IAAI;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC;AACxD,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,IAAI;AAE1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;AAClD,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC9B,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC;AAE1C,QAAA,OAAO,MAAM;IACf;AAEA;;AAEG;AACH,IAAA,SAAS,CAAC,QAAgB,EAAA;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;IACpC;AAEA;;AAEG;AACH,IAAA,kBAAkB,CAAC,YAAoB,EAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC;AACxD,QAAA,OAAO,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC3D;AAEA;;AAEG;IACH,MAAM,GAAA;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3C;AAEA;;AAEG;AACH,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA;;AAEG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACrB,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;IAC/B;AACD;;AC9FD;;;;;AAKG;MACU,cAAc,CAAA;AAKzB,IAAA,WAAA,CAAY,SAAiB,EAAA;AAJrB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAA8B;AAC9C,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,GAAG,EAAU;AAI9B,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;IAC7B;;AAIA;;;AAGG;AACH,IAAA,GAAG,CAAC,OAAyB,EAAA;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;AAAE,YAAA,OAAO,KAAK;AAE3C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1B;QAEA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE;AACpC,QAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;;QAGpB,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE;AACnC,YAAA,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD;QAEA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;AACzB,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;AAMG;IACH,MAAM,CAAC,QAAiB,EAAE,QAAiB,EAAA;QACzC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;YACpD,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE;QAEA,MAAM,OAAO,GAAuB,EAAE;AACtC,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;AACjD,YAAA,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA,EAAG,QAAQ,CAAA,CAAA,CAAG,CAAC;gBAAE;AAC/D,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACzB;AACA,QAAA,OAAO,OAAO;IAChB;AAEA;;AAEG;IACH,SAAS,CAAC,QAAgB,EAAE,QAAgB,EAAA;AAC1C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,SAAS;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC;AAEA;;AAEG;AACH,IAAA,GAAG,CAAC,EAAU,EAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1B;AAEA;;AAEG;AACH,IAAA,IAAI,IAAI,GAAA;QACN,IAAI,KAAK,GAAG,CAAC;QACb,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;AACzC,YAAA,KAAK,IAAI,MAAM,CAAC,MAAM;QACxB;AACA,QAAA,OAAO,KAAK;IACd;AAEA;;AAEG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;IACnB;;IAIQ,IAAI,CAAC,QAAgB,EAAE,QAAgB,EAAA;AAC7C,QAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,QAAQ,EAAE;IAClC;AACD;;SCrGe,UAAU,GAAA;AACxB,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE;AAC5E,QAAA,OAAO,MAAM,CAAC,UAAU,EAAE;IAC5B;IACA,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,MACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC5C;AACH;AAEM,SAAU,YAAY,CAAC,MAAc,EAAE,OAAgB,EAAA;IAC3D,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,CAAC,GAAG,KAAgB,KAAI,EAAE,CAAC;IACpC;AACA,IAAA,OAAO,CAAC,GAAG,IAAe,KAAI;QAC5B,OAAO,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC,IAAA,CAAC;AACH;AAEA;AAEA;;;;;AAKG;AACG,SAAU,iBAAiB,CAAC,IAGjC,EAAA;IACC,IAAI,IAAI,EAAE,MAAM;AAAE,QAAA,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;IAChD,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AAAE,QAAA,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AAC9E,IAAA,OAAO,EAAE;AACX;AAeA;;;AAGG;AACG,SAAU,YAAY,CAAC,QAAuB,EAAE,GAAa,EAAA;AACjE,IAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU;IAChC,MAAM,MAAM,GAAe,EAAE;AAC7B,IAAA,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;QACxB,IAAI,OAAO,CAAC,KAAK,QAAQ;AAAE,YAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;;AACnC,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrB;IACA,KAAK,MAAM,CAAC,IAAI,GAAG;AAAE,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAClC,IAAA,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAC/B;AAEA;;;AAGG;AACG,SAAU,cAAc,CAAC,QAAuB,EAAE,MAAgB,EAAA;AACtE,IAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;IAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtE;AAwBA;AACA;AACA;AACA;AAEA,MAAM,eAAe,GAAG,IAAI,OAAO,EAA+B;AAElE;SACgB,eAAe,CAAC,MAAc,EAAE,OAAe,EAAE,WAAmB,EAAA;IAClF,IAAI,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE;AAChB,QAAA,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;IACnC;IACA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAClC,IAAI,QAAQ,EAAE;QACZ,OAAO,CAAC,IAAI,CACV,CAAA,CAAA,EAAI,WAAW,CAAA,mBAAA,EAAsB,QAAQ,CAAA,8CAAA,EAAiD,OAAO,CAAA,GAAA,CAAK;AAC1G,YAAA,CAAA,oEAAA,CAAsE,CACvE;IACH;AACA,IAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AAChC;AAEA;AACM,SAAU,cAAc,CAAC,MAAc,EAAE,OAAe,EAAA;IAC5D,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;AAC9C;;ACjHA;;;;;AAKG;MACU,cAAc,CAAA;AAKzB,IAAA,WAAA,CAAY,cAAsB,EAAA;AAJ1B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAwB;AAC1C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAyB;AAIlD,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;IACvC;;AAIA;;;;;AAKG;IACH,IAAI,CACF,cAAsB,EACtB,OAAe,EACf,MAA2C,EAC3C,MAAc,EACd,OAAgB,EAAA;AAEhB,QAAA,MAAM,EAAE,GAAG,UAAU,EAAE;AACvB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AAEtB,QAAA,MAAM,GAAG,GAAkB;YACzB,EAAE;YACF,cAAc;YACd,OAAO;YACP,MAAM;AACN,YAAA,MAAM,EAAE,SAAS;YACjB,MAAM;AACN,YAAA,MAAM,EAAE,GAAG;SACZ;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;QAE3B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,KAAI;AAC7D,YAAA,MAAM,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,eAAe;AAE1C,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;AACnC,gBAAA,IAAI,CAAC,KAAK;oBAAE;AAEZ,gBAAA,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;AACrC,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,SAAA,EAAY,OAAO,CAAA,GAAA,EAAM,EAAE,CAAA,kBAAA,EAAqB,EAAE,CAAA,EAAA,CAAI,CAAC,CAAC;YAC3E,CAAC,EAAE,EAAE,CAAC;AAEN,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACjE,QAAA,CAAC,CAAC;;;QAIF,OAAO,CAAC,KAAK,CAAC,MAAK,EAAE,CAAC,CAAC;AAEvB,QAAA,OAAO,OAAO;IAChB;AAEA;;;;;;AAMG;AACH,IAAA,GAAG,CACD,SAAiB,EACjB,MAAwC,EACxC,MAAgB,EAAA;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;AAC1C,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI;AAEvB,QAAA,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;AAE/B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACtB,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO;AAEzB,QAAA,GAAG,CAAC,MAAM,GAAG,MAAM;AAEnB,QAAA,IAAI,MAAM,KAAK,OAAO,EAAE;AACtB,YAAA,GAAG,CAAC,OAAO,GAAG,GAAG;QACnB;AAAO,aAAA,IAAI,MAAM,KAAK,WAAW,EAAE;YACjC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG;AAChC,YAAA,GAAG,CAAC,WAAW,GAAG,GAAG;AACrB,YAAA,GAAG,CAAC,MAAM,GAAG,MAAM;QACrB;AAAO,aAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;YAC9B,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG;AAChC,YAAA,GAAG,CAAC,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,gBAAgB;QACpE;QAEA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;QAElC,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,WAAW,EAAE;AAChD,YAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACpB;aAAO;AACL,YAAA,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC;QACxD;AAEA,QAAA,OAAO,GAAG;IACZ;AAEA;;AAEG;AACH,IAAA,GAAG,CAAC,SAAiB,EAAA;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;IACtC;AAEA;;AAEG;IACH,UAAU,GAAA;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACjE;AAEA;;;AAGG;IACH,OAAO,GAAA;AACL,QAAA,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;AACjD,YAAA,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;AACzB,YAAA,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;AACrC,YAAA,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,SAAA,EAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAA,GAAA,EAAM,EAAE,CAAA,cAAA,CAAgB,CAAC,CAAC;QACpF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACvB;AACD;;ACvJD;AACO,MAAM,gBAAgB,GAAG,KAAK;AAErC;AACO,MAAM,4BAA4B,GAAG,IAAI;AAEhD;AACO,MAAM,uBAAuB,GAAG,KAAK;AAE5C;AACO,MAAM,eAAe,GAAG,WAAW;AAE1C;AACO,MAAM,cAAc,GAAG,UAAU;AAExC;AACO,MAAM,aAAa,GAAG,UAAU;AAEvC;AACO,MAAM,QAAQ,GAAG,QAAQ;AAEhC;AACO,MAAM,sBAAsB,GAAG,IAAI;;ACH1C;;;;AAIG;AACG,MAAO,WAAY,SAAQ,YAA+B,CAAA;;IA2B9D,WAAA,CACE,IAAY,EACZ,WAAwB,EACxB,WAAmB,EACnB,OAA2B,EAC3B,GAAiC,EACjC,WAA0B,EAAA;AAE1B,QAAA,KAAK,EAAE;AAzBD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,GAAG,EAAyB;;;QAMpD,IAAA,CAAA,eAAe,GAAqC,IAAI;QACxD,IAAA,CAAA,cAAc,GAAqC,IAAI;QACvD,IAAA,CAAA,YAAY,GAAqC,IAAI;AAE7D;;;AAGG;QACK,IAAA,CAAA,QAAQ,GAAkB,EAAE;AAYlC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;AACf,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW;QAE/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC;IACnE;;;AAKA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO;IACtC;;AAIA;;AAEG;AACH,IAAA,aAAa,CACX,QAAgB,EAChB,KAAgC,EAChC,OAA6B,EAAE,EAAA;AAE/B,QAAA,MAAM,OAAO,GAAqB;YAChC,EAAE,EAAE,UAAU,EAAE;AAChB,YAAA,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;YACpC,QAAQ;YACR,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,QAAQ,EAAE,KAAK;SAChB;QAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;;AAG7F,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;AAEjC,QAAA,OAAO,OAAO;IAChB;AAEA;;AAEG;IACH,YAAY,CAAC,QAAiB,EAAE,QAAiB,EAAA;QAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACxD;;AAIA;;;AAGG;AACH,IAAA,WAAW,CACT,cAAsB,EACtB,OAAe,EACf,MAAgC,EAAA;QAEhC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC;QAE3D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACvC,cAAc,EACd,OAAO,EACP,MAAM,EACN,IAAI,CAAC,YAAY,CAAC,QAAQ,EAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7B;;QAGD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAS,CAAC;QAC7F;AAEA,QAAA,OAAO,OAAO;IAChB;AAEA;;;AAGG;AACH,IAAA,UAAU,CACR,SAAiB,EACjB,MAAwC,EACxC,MAAgB,EAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,MAAM,CAAC;AAE/C,QAAA,MAAM,GAAG,GAAG;YACV,SAAS;YACT,MAAM;YACN,MAAM;AACN,YAAA,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;AACnC,YAAA,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB;;AAGD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;AACxF,QAAA,MAAM,SAAS,GAAG,GAAG,EAAE,MAAM;AAC7B,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC;AACxC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAS,CAAC;;QAG/G,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;IACrD;;AAIA;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;IACvC;AAEA;;AAEG;AACH,IAAA,SAAS,CAAC,QAAgB,EAAA;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC;IAClD;;;AAKA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3B;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACH,IAAA,UAAU,CAAC,MAAqB,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC;;;QAG3B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,QAA+B,CAAC;IACrF;;AAGA,IAAA,UAAU,CAAC,MAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD;AAEA;;;AAGG;AACH,IAAA,aAAa,CAAC,MAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD;;;AAKA,IAAA,UAAU,CAAC,OAAuB,EAAA;QAChC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC;AAExC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE;QAE3C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1E;aAAO;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC;QAC9C;;;;QAKA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;AACnC,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAS,CAAC;QAC/F;aAAO;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC;QAC7C;;;QAIA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;AACvC,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAS,CAAC;QAC9F;aAAO;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC;QAC5C;;;AAIA,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAa,KAAI;AACvC,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;AACrC,QAAA,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;AAE3D,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAa,KAAI;AACtC,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;AACnC,QAAA,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC;AAEzD,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAa,KAAI;AACpC,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;AAClC,QAAA,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;IACxD;;IAGA,SAAS,GAAA;QACP,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,YAAY,EAAE;QAEnB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;AACxE,YAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,gBAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAClD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,QAA2B,EACjC,KAAK,CAAC,QAAQ,CACf;oBACD,IAAI,MAAM,EAAE;AACV,wBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;oBACnC;gBACF;YACF;AACF,QAAA,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAI;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,CAAC;AACnD,QAAA,CAAC,CAAC;IACJ;;IAGA,oBAAoB,GAAA;QAClB,IAAI,CAAC,YAAY,EAAE;IACrB;;IAGA,mBAAmB,CAAC,YAAoB,EAAE,YAA6B,EAAA;AACrE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC;QAChF,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;AAC7D,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;QACnC;IACF;;AAGA,IAAA,oBAAoB,CAAC,YAAoB,EAAA;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC;QAClE,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;AAC3D,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC;QACjC;IACF;;IAGA,qBAAqB,CAAC,YAAoB,EAAE,YAA6B,EAAA;QACvE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC;IACnE;;IAGA,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC;;;AAItC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC;AAC9C,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC;AAC7C,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC;QAC9C;;;QAIA,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;QACtF,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC;QACnF,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;AAC9E,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;AAGxB,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;AAC9B,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AAC9B,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC7B,IAAI,CAAC,kBAAkB,EAAE;IAC3B;;AAIQ,IAAA,wBAAwB,CAAC,IAAa,EAAA;QAC5C,MAAM,OAAO,GAAG,IAAwB;QACxC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;QAEhG,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/C,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO;AAEnB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IACjC;AAEQ,IAAA,sBAAsB,CAAC,IAAa,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAqB;;AAGjC,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;YAAE;AAEzC,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;IAC3B;AAEQ,IAAA,qBAAqB,CAAC,IAAa,EAAA;QACzC,MAAM,GAAG,GAAG,IAMX;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;QAE7D,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QAC3E,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC;QAC9B;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,MAAM,YAAY,GAAoB;AACpC,YAAA,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;AACpC,YAAA,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;AACxC,YAAA,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;AAC5B,YAAA,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;;;AAGpC,YAAA,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;SAC/B;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC;IAC7C;AACD;;ACvYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AACG,MAAO,QAAS,SAAQ,YAA6B,CAAA;AA2CzD,IAAA,WAAA,CAAY,OAAwB,EAAA;AAClC,QAAA,KAAK,EAAE;QAzCD,IAAA,CAAA,YAAY,GAAkB,IAAI;AAClC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,GAAG,EAAuB;QACxC,IAAA,CAAA,MAAM,GAAwB,IAAI;AAClC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,GAAG,EAAkB;AAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,GAAG,EAAkB;;QAK5C,IAAA,CAAA,MAAM,GAAG,CAAC;QACV,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,QAAQ,GAAG,KAAK;QAIhB,IAAA,CAAA,kBAAkB,GAAyC,IAAI;;;;QAK/D,IAAA,CAAA,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE;AACvC,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,MAAc,KAAI;AAC5C,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;AAClC,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;AACnC,QAAA,CAAC;QACO,IAAA,CAAA,eAAe,GAAG,MAAK;AAC7B,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3B,QAAA,CAAC;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAY,KAAI;AACrC,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;AAC3B,QAAA,CAAC;AACO,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,IAAmB,KAAK,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;AAChF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,IAAmB,KAAK,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;AAClF,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,IAAmB,KAAK,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;AACpF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,IAAa,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAA0B,CAAC;AACtF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,IAAa,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAA0B,CAAC;AACxF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,IAAa,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAA0B,CAAC;AAKhG,QAAA,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AACpB,YAAA,MAAM,IAAI,SAAS,CACjB,qFAAqF,CACtF;QACH;AAEA,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,EAAE;QAEjD,IAAI,CAAC,QAAQ,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,YAAA,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC1B,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB;AAC5C,YAAA,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,4BAA4B;AAC9E,YAAA,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,uBAAuB;AACjE,YAAA,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;AAC7B,YAAA,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B;AAED,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEzD,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AACzD,YAAA,IAAI,CAAC,aAAa,GAAG,OAAO;AAC5B,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM;AAC5B,QAAA,CAAC,CAAC;;QAEF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAK,EAAE,CAAC,CAAC;AAElC,QAAA,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;;QAGhE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,CAAC;;;;QAK/D,cAAc,CAAC,MAAK;AAClB,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClE,IAAI,CAAC,UAAU,EAAE;YACnB;AACF,QAAA,CAAC,CAAC;IACJ;;;AAKA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;IAClD;;AAGA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;;AAGA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;;AAGA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;;AAIA;;;;;AAKG;IACH,KAAK,GAAA;QACH,OAAO,IAAI,CAAC,aAAa;IAC3B;AAEA;;;;;;AAMG;IACH,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,SAAS;YAAE;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,MAAM,EAAE,CAAC;AAEd,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACrC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;QAChC;;QAGA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,CAAC;;;AAIhE,QAAA,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B;;QAGA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AACzC,YAAA,IAAI;AACF,gBAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC3B;AAAE,YAAA,MAAM;;YAER;QACF;AACA,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAElB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAC7B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAExB,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AAEnD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChE;IACF;;IAIQ,UAAU,GAAA;QAChB,IAAI,CAAC,MAAM,EAAE;QACb,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;IAClC;AAEA;;;;AAIG;IACK,MAAM,SAAS,CAAC,KAAa,EAAA;AACnC,QAAA,MAAM,KAAK,GAAG,MAAM,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,8BAA8B,GAAG,eAAe,CAAC;;AAG3E,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG;gBAClB,QAAQ,EAAE,IAAI,CAAC,SAAS;AACxB,gBAAA,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAQ;AACnC,gBAAA,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;AACpC,gBAAA,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;AACxB,gBAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;AAChC,gBAAA,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;AACpB,gBAAA,OAAO,EAAE,IAAI;aACd;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QAC7F;aAAO;YACL,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAQ;QACxD;;;AAIA,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7E;AACA,QAAA,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC3C,YAAA,IAAI,KAAK,EAAE;gBAAE;AACb,YAAA,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAC1E;QAAE,OAAO,GAAG,EAAE;AACZ,YAAA,IAAI,KAAK,EAAE;gBAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC;QAC9C;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;;YAElB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;gBAC7C,KAAK,CAAC,SAAS,EAAE;YACnB;QACF;aAAO;;;;YAIL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;gBACzC,KAAK,CAAC,oBAAoB,EAAE;YAC9B;QACF;AAEA,QAAA,IAAI,KAAK,EAAE;YAAE;;;AAIb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;YACpB,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACxB;aAAO;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAC1B;;;AAIA,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IACnC;AAEQ,IAAA,qBAAqB,CAAC,KAAa,EAAA;QACzC,IAAI,IAAI,CAAC,kBAAkB;AAAE,YAAA,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAClE,QAAA,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,MAAK;AACxC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;YAC9B,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACtF;YACF;AACA,YAAA,IAAI,CAAC;AACF,iBAAA,aAAa;AACb,iBAAA,IAAI,CAAC,CAAC,KAAK,KAAI;gBACd,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS;oBAAE;AAC7C,gBAAA,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;AACvC,YAAA,CAAC;iBACA,KAAK,CAAC,MAAK;;AAEZ,YAAA,CAAC,CAAC;QACN,CAAC,EAAE,sBAAsB,CAAC;IAC5B;;AAIA;;;AAGG;IACH,SAAS,CAAC,IAAY,EAAE,IAAuB,EAAA;QAC7C,IAAI,CAAC,aAAa,EAAE;QAEpB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;YACjD,KAAK,CAAC,SAAS,EAAE;QACnB;AAAO,aAAA,IAAI,IAAI,EAAE,OAAO,EAAE;;AAExB,YAAA,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAChC;AAEA,QAAA,OAAO,KAAK;IACd;AAEA;;AAEG;AACH,IAAA,UAAU,CAAC,IAAY,EAAA;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACpC,QAAA,IAAI,CAAC,KAAK;YAAE;AAEZ,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC;QACjC,KAAK,CAAC,QAAQ,EAAE;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAC3B;AAEA;;AAEG;IACH,SAAS,GAAA;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1C;;AAIA;;AAEG;IACH,gBAAgB,GAAA;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACjD;;IAIQ,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;QAC1E;QACA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACxC,YAAA,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC;QAChF;IACF;;IAIQ,eAAe,CAAC,IAAY,EAAE,OAAuB,EAAA;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;AAErC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAC5E,QAAA,MAAM,KAAK,GAAG,IAAI,WAAW,CAC3B,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,YAAa,EAClB,IAAI,CAAC,QAAQ,EACb,YAAY,CAAC,CAAA,YAAA,EAAe,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACxD,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAC7B;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;AAC7B,QAAA,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;AAEzB,QAAA,OAAO,KAAK;IACd;;AAIA;;;;;AAKG;AACK,IAAA,aAAa,CAAC,IAAiC,EAAA;AACrD,QAAA,MAAM,KAAK,GAAI,IAA4C,EAAE,OAAO;AACpE,QAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO;IACrE;;AAIQ,IAAA,uBAAuB,CAAC,IAAmB,EAAA;QACjD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY;YAAE;AAC3D,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAsC;QAChE,IAAI,CAAC,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAAE;AAEjE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;AACtE,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC;AAC7D,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;QACnC;;QAGA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;YACzC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;QAC5D;IACF;AAEQ,IAAA,wBAAwB,CAAC,IAAmB,EAAA;QAClD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY;YAAE;;QAG3D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;AACzC,YAAA,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/C;IACF;AAEQ,IAAA,yBAAyB,CAAC,IAAmB,EAAA;QACnD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY;YAAE;AAC3D,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAsC;QAChE,IAAI,CAAC,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAAE;QAEjE,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;AAClD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;YACtE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;QAClD;;QAGA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;YACzC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;QAC9D;IACF;;AAIQ,IAAA,gBAAgB,CAAC,KAAyB,EAAA;AAChD,QAAA,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK;AAC/B,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY;YAAE;QAEjD,MAAM,YAAY,GAAG,IAAkC;QACvD,IAAI,CAAC,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAAE;QAEjE,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnD,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;QACnC;IACF;AAEQ,IAAA,iBAAiB,CAAC,KAAyB,EAAA;AACjD,QAAA,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK;AAC/B,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY;YAAE;QAEjD,MAAM,YAAY,GAAG,IAAkC;AACvD,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAAE;AACtC,QAAA,MAAM,QAAQ,GAAG,YAAY,EAAE;AAC1B,eAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO;AACjC,eAAA,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAEzC,IAAI,QAAQ,EAAE;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChD,IAAI,MAAM,EAAE;AACV,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;AACpC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;AACrC,gBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;YACpC;QACF;IACF;AAEQ,IAAA,kBAAkB,CAAC,KAAyB,EAAA;AAClD,QAAA,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK;AAC/B,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY;YAAE;QAEjD,MAAM,YAAY,GAAG,IAAkC;QACvD,IAAI,CAAC,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAAE;QAEjE,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;IAClD;AAEA;;;;AAIG;AACK,IAAA,yBAAyB,CAAC,KAAyB,EAAA;;AAEzD,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB;AACvC,QAAA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB;QAE7C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACvC,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AAC/C,gBAAA,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY;oBAAE;AAEjD,gBAAA,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAA4B;;gBAE5D,MAAM,YAAY,IAAI,GAAG,EAAE,QAAQ,IAAI,GAAG,CAA+B;AACzE,gBAAA,IAAI,YAAY,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;oBAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;AACrC,wBAAA,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACjF;oBACA,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC;gBACjD;YACF;QACF;;AAGA,QAAA,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE;YACzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AACxB,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;AACpC,gBAAA,KAAK,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;oBAClE,IAAI,cAAc,KAAK,QAAQ;AAAE,wBAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxE;AACA,gBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;YACpC;QACF;;QAGA,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACzC,gBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;YACnC;QACF;QACA,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,WAAW,EAAE;YAC7C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC9C;IACF;;IAIQ,iBAAiB,CAAC,YAAoB,EAAE,IAAqB,EAAA;QACnE,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY;YACZ,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;AACpB,YAAA,OAAO,EAAE,KAAK;SACf;IACH;AAEQ,IAAA,sBAAsB,CAAC,YAAoB,EAAA;QACjD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;AACjD,YAAA,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY;gBAAE,OAAO,MAAM,CAAC,QAAQ;QAClE;AACA,QAAA,OAAO,SAAS;IAClB;AACD;;;;;;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,4 +8,4 @@ export { TelemetryStore } from './TelemetryStore';
|
|
|
8
8
|
export { CommandManager } from './CommandManager';
|
|
9
9
|
export { PresenceManager } from './PresenceManager';
|
|
10
10
|
export { EventEmitter } from './EventEmitter';
|
|
11
|
-
export type { NoLagIoTOptions, ResolvedIoTOptions, DeviceRole, CommandStatus, TelemetryReading, SendTelemetryOptions, DeviceCommand, Device, IoTPresenceData, IoTClientEvents, DeviceGroupEvents, } from './types';
|
|
11
|
+
export type { NoLagIoTOptions, ResolvedIoTOptions, DeviceRole, CommandStatus, TelemetryReading, SendTelemetryOptions, DeviceCommand, Device, IoTPresenceData, IoTClientEvents, DeviceGroupEvents, FilterValue, JoinGroupOptions, } from './types';
|