@robdobsn/raftjs 1.1.1 → 1.3.2

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.
Files changed (257) hide show
  1. package/README.md +2 -0
  2. package/dist/{RaftAttributeHandler.js → react-native/RaftAttributeHandler.js} +1 -1
  3. package/dist/react-native/RaftAttributeHandler.js.map +1 -0
  4. package/dist/react-native/RaftChannel.js.map +1 -0
  5. package/dist/react-native/RaftChannelBLE.native.d.ts +93 -0
  6. package/dist/react-native/RaftChannelBLE.native.js +455 -0
  7. package/dist/react-native/RaftChannelBLE.native.js.map +1 -0
  8. package/dist/{RaftChannelWebBLE.d.ts → react-native/RaftChannelBLE.web.d.ts} +3 -2
  9. package/dist/{RaftChannelWebBLE.js → react-native/RaftChannelBLE.web.js} +48 -28
  10. package/dist/react-native/RaftChannelBLE.web.js.map +1 -0
  11. package/dist/react-native/RaftChannelBLEFactory.d.ts +10 -0
  12. package/dist/react-native/RaftChannelBLEFactory.js +17 -0
  13. package/dist/react-native/RaftChannelBLEFactory.js.map +1 -0
  14. package/dist/react-native/RaftChannelBLEScanner.native.d.ts +18 -0
  15. package/dist/react-native/RaftChannelBLEScanner.native.js +146 -0
  16. package/dist/react-native/RaftChannelBLEScanner.native.js.map +1 -0
  17. package/dist/{RaftChannelWebSerial.js → react-native/RaftChannelWebSerial.js} +3 -2
  18. package/dist/react-native/RaftChannelWebSerial.js.map +1 -0
  19. package/dist/react-native/RaftChannelWebSocket.js.map +1 -0
  20. package/dist/react-native/RaftCommsStats.js.map +1 -0
  21. package/dist/{RaftConnEvents.d.ts → react-native/RaftConnEvents.d.ts} +10 -2
  22. package/dist/{RaftConnEvents.js → react-native/RaftConnEvents.js} +10 -0
  23. package/dist/react-native/RaftConnEvents.js.map +1 -0
  24. package/dist/{RaftConnector.d.ts → react-native/RaftConnector.d.ts} +6 -3
  25. package/dist/{RaftConnector.js → react-native/RaftConnector.js} +75 -74
  26. package/dist/react-native/RaftConnector.js.map +1 -0
  27. package/dist/react-native/RaftCustomAttrHandler.js.map +1 -0
  28. package/dist/{RaftDeviceInfo.d.ts → react-native/RaftDeviceInfo.d.ts} +5 -10
  29. package/dist/react-native/RaftDeviceInfo.js.map +1 -0
  30. package/dist/{RaftDeviceManager.d.ts → react-native/RaftDeviceManager.d.ts} +14 -16
  31. package/dist/{RaftDeviceManager.js → react-native/RaftDeviceManager.js} +116 -213
  32. package/dist/react-native/RaftDeviceManager.js.map +1 -0
  33. package/dist/react-native/RaftDeviceMgrIF.d.ts +12 -0
  34. package/dist/react-native/RaftDeviceMgrIF.js +11 -0
  35. package/dist/react-native/RaftDeviceMgrIF.js.map +1 -0
  36. package/dist/react-native/RaftDeviceMsg.js.map +1 -0
  37. package/dist/{RaftDeviceStates.d.ts → react-native/RaftDeviceStates.d.ts} +1 -1
  38. package/dist/react-native/RaftDeviceStates.js.map +1 -0
  39. package/dist/react-native/RaftFileHandler.js.map +1 -0
  40. package/dist/react-native/RaftLog.js.map +1 -0
  41. package/dist/{RaftMiniHDLC.js → react-native/RaftMiniHDLC.js} +1 -1
  42. package/dist/react-native/RaftMiniHDLC.js.map +1 -0
  43. package/dist/{RaftMsgHandler.js → react-native/RaftMsgHandler.js} +2 -2
  44. package/dist/react-native/RaftMsgHandler.js.map +1 -0
  45. package/dist/react-native/RaftMsgTrackInfo.js.map +1 -0
  46. package/dist/react-native/RaftProtocolDefs.js.map +1 -0
  47. package/dist/react-native/RaftStreamHandler.js.map +1 -0
  48. package/dist/{RaftSystemType.d.ts → react-native/RaftSystemType.d.ts} +4 -0
  49. package/dist/{RaftSystemType.js.map → react-native/RaftSystemType.js.map} +1 -1
  50. package/dist/react-native/RaftSystemUtils.js.map +1 -0
  51. package/dist/{RaftTypes.d.ts → react-native/RaftTypes.d.ts} +11 -0
  52. package/dist/{RaftTypes.js → react-native/RaftTypes.js} +34 -1
  53. package/dist/react-native/RaftTypes.js.map +1 -0
  54. package/dist/react-native/RaftUpdateEvents.js.map +1 -0
  55. package/dist/react-native/RaftUpdateManager.js.map +1 -0
  56. package/dist/{RaftUtils.js → react-native/RaftUtils.js} +1 -1
  57. package/dist/react-native/RaftUtils.js.map +1 -0
  58. package/dist/react-native/RaftWifiTypes.js.map +1 -0
  59. package/dist/react-native/main.d.ts +21 -0
  60. package/dist/{main.js → react-native/main.js} +7 -3
  61. package/dist/react-native/main.js.map +1 -0
  62. package/dist/web/RaftAttributeHandler.d.ts +12 -0
  63. package/dist/web/RaftAttributeHandler.js +241 -0
  64. package/dist/web/RaftAttributeHandler.js.map +1 -0
  65. package/dist/web/RaftChannel.d.ts +18 -0
  66. package/dist/web/RaftChannel.js +12 -0
  67. package/dist/web/RaftChannel.js.map +1 -0
  68. package/dist/web/RaftChannelBLE.web.d.ts +39 -0
  69. package/dist/web/RaftChannelBLE.web.js +294 -0
  70. package/dist/web/RaftChannelBLE.web.js.map +1 -0
  71. package/dist/web/RaftChannelBLEFactory.d.ts +10 -0
  72. package/dist/web/RaftChannelBLEFactory.js +17 -0
  73. package/dist/web/RaftChannelBLEFactory.js.map +1 -0
  74. package/dist/web/RaftChannelWebSerial.d.ts +37 -0
  75. package/dist/web/RaftChannelWebSerial.js +320 -0
  76. package/dist/web/RaftChannelWebSerial.js.map +1 -0
  77. package/dist/web/RaftChannelWebSocket.d.ts +28 -0
  78. package/dist/web/RaftChannelWebSocket.js +197 -0
  79. package/dist/web/RaftChannelWebSocket.js.map +1 -0
  80. package/dist/web/RaftCommsStats.d.ts +39 -0
  81. package/dist/web/RaftCommsStats.js +128 -0
  82. package/dist/web/RaftCommsStats.js.map +1 -0
  83. package/dist/web/RaftConnEvents.d.ts +39 -0
  84. package/dist/web/RaftConnEvents.js +54 -0
  85. package/dist/web/RaftConnEvents.js.map +1 -0
  86. package/dist/web/RaftConnector.d.ts +245 -0
  87. package/dist/web/RaftConnector.js +614 -0
  88. package/dist/web/RaftConnector.js.map +1 -0
  89. package/dist/web/RaftCustomAttrHandler.d.ts +4 -0
  90. package/dist/web/RaftCustomAttrHandler.js +50 -0
  91. package/dist/web/RaftCustomAttrHandler.js.map +1 -0
  92. package/dist/web/RaftDeviceInfo.d.ts +59 -0
  93. package/dist/web/RaftDeviceInfo.js +36 -0
  94. package/dist/web/RaftDeviceInfo.js.map +1 -0
  95. package/dist/web/RaftDeviceManager.d.ts +35 -0
  96. package/dist/web/RaftDeviceManager.js +353 -0
  97. package/dist/web/RaftDeviceManager.js.map +1 -0
  98. package/dist/web/RaftDeviceMgrIF.d.ts +12 -0
  99. package/dist/web/RaftDeviceMgrIF.js +11 -0
  100. package/dist/web/RaftDeviceMgrIF.js.map +1 -0
  101. package/dist/web/RaftDeviceMsg.d.ts +9 -0
  102. package/dist/web/RaftDeviceMsg.js +11 -0
  103. package/dist/web/RaftDeviceMsg.js.map +1 -0
  104. package/dist/web/RaftDeviceStates.d.ts +33 -0
  105. package/dist/web/RaftDeviceStates.js +60 -0
  106. package/dist/web/RaftDeviceStates.js.map +1 -0
  107. package/dist/web/RaftFileHandler.d.ts +52 -0
  108. package/dist/web/RaftFileHandler.js +502 -0
  109. package/dist/web/RaftFileHandler.js.map +1 -0
  110. package/dist/web/RaftLog.d.ts +22 -0
  111. package/dist/web/RaftLog.js +63 -0
  112. package/dist/web/RaftLog.js.map +1 -0
  113. package/dist/web/RaftMiniHDLC.d.ts +18 -0
  114. package/dist/web/RaftMiniHDLC.js +383 -0
  115. package/dist/web/RaftMiniHDLC.js.map +1 -0
  116. package/dist/web/RaftMsgHandler.d.ts +57 -0
  117. package/dist/web/RaftMsgHandler.js +480 -0
  118. package/dist/web/RaftMsgHandler.js.map +1 -0
  119. package/dist/web/RaftMsgTrackInfo.d.ts +17 -0
  120. package/dist/web/RaftMsgTrackInfo.js +42 -0
  121. package/dist/web/RaftMsgTrackInfo.js.map +1 -0
  122. package/dist/web/RaftProtocolDefs.d.ts +30 -0
  123. package/dist/web/RaftProtocolDefs.js +48 -0
  124. package/dist/web/RaftProtocolDefs.js.map +1 -0
  125. package/dist/web/RaftStreamHandler.d.ts +38 -0
  126. package/dist/web/RaftStreamHandler.js +257 -0
  127. package/dist/web/RaftStreamHandler.js.map +1 -0
  128. package/dist/web/RaftSystemType.d.ts +25 -0
  129. package/dist/web/RaftSystemType.js +3 -0
  130. package/dist/web/RaftSystemType.js.map +1 -0
  131. package/dist/web/RaftSystemUtils.d.ts +136 -0
  132. package/dist/web/RaftSystemUtils.js +410 -0
  133. package/dist/web/RaftSystemUtils.js.map +1 -0
  134. package/dist/web/RaftTypes.d.ts +195 -0
  135. package/dist/web/RaftTypes.js +190 -0
  136. package/dist/web/RaftTypes.js.map +1 -0
  137. package/dist/web/RaftUpdateEvents.d.ts +33 -0
  138. package/dist/web/RaftUpdateEvents.js +46 -0
  139. package/dist/web/RaftUpdateEvents.js.map +1 -0
  140. package/dist/web/RaftUpdateManager.d.ts +61 -0
  141. package/dist/web/RaftUpdateManager.js +618 -0
  142. package/dist/web/RaftUpdateManager.js.map +1 -0
  143. package/dist/web/RaftUtils.d.ts +125 -0
  144. package/dist/web/RaftUtils.js +454 -0
  145. package/dist/web/RaftUtils.js.map +1 -0
  146. package/dist/web/RaftWifiTypes.d.ts +23 -0
  147. package/dist/web/RaftWifiTypes.js +43 -0
  148. package/dist/web/RaftWifiTypes.js.map +1 -0
  149. package/dist/{main.d.ts → web/main.d.ts} +4 -1
  150. package/dist/web/main.js +46 -0
  151. package/dist/web/main.js.map +1 -0
  152. package/examples/dashboard/package.json +4 -0
  153. package/examples/dashboard/src/CommandPanel.tsx +147 -0
  154. package/examples/dashboard/src/ConnManager.ts +11 -12
  155. package/examples/dashboard/src/DeviceActionsForm.tsx +133 -0
  156. package/examples/dashboard/src/DeviceAttrsForm.tsx +49 -0
  157. package/examples/dashboard/src/DeviceLineChart.tsx +139 -0
  158. package/examples/dashboard/src/DevicePanel.tsx +135 -0
  159. package/examples/dashboard/src/DevicesPanel.tsx +57 -0
  160. package/examples/dashboard/src/DispLedGrid.tsx +110 -0
  161. package/examples/dashboard/src/DispOneLed.tsx +20 -0
  162. package/examples/dashboard/src/Main.tsx +53 -47
  163. package/examples/dashboard/src/{StatusScreen.tsx → StatusPanel.tsx} +13 -14
  164. package/examples/dashboard/src/SystemTypeCog/CogStateInfo.ts +135 -122
  165. package/examples/dashboard/src/SystemTypeCog/SystemTypeCog.ts +15 -8
  166. package/examples/dashboard/src/SystemTypeMarty/RICCommsStats.ts +0 -0
  167. package/examples/dashboard/src/SystemTypeMarty/RICStateInfo.ts +47 -1
  168. package/examples/dashboard/src/SystemTypeMarty/SystemTypeMarty.ts +4 -1
  169. package/examples/dashboard/src/styles.css +274 -10
  170. package/package.json +57 -48
  171. package/src/RaftAttributeHandler.ts +1 -1
  172. package/src/RaftChannelBLE.native.ts +583 -0
  173. package/src/{RaftChannelWebBLE.ts → RaftChannelBLE.web.ts} +60 -40
  174. package/src/RaftChannelBLEFactory.ts +13 -0
  175. package/src/RaftChannelBLEScanner.native.ts +190 -0
  176. package/src/RaftChannelWebSerial.ts +1 -0
  177. package/src/RaftConnEvents.ts +14 -2
  178. package/src/RaftConnector.ts +80 -88
  179. package/src/RaftDeviceInfo.ts +6 -12
  180. package/src/RaftDeviceManager.ts +139 -245
  181. package/src/RaftDeviceMgrIF.ts +28 -0
  182. package/src/RaftDeviceStates.ts +1 -2
  183. package/src/RaftMiniHDLC.ts +1 -1
  184. package/src/RaftMsgHandler.ts +2 -2
  185. package/src/RaftSystemType.ts +4 -0
  186. package/src/RaftTypes.ts +48 -17
  187. package/src/RaftUtils.ts +1 -1
  188. package/src/main.ts +8 -1
  189. package/tsconfig.json +5 -2
  190. package/tsconfig.react-native.json +29 -0
  191. package/dist/RaftAttributeHandler.js.map +0 -1
  192. package/dist/RaftChannel.js.map +0 -1
  193. package/dist/RaftChannelWebBLE.js.map +0 -1
  194. package/dist/RaftChannelWebSerial.js.map +0 -1
  195. package/dist/RaftChannelWebSocket.js.map +0 -1
  196. package/dist/RaftCommsStats.js.map +0 -1
  197. package/dist/RaftConnEvents.js.map +0 -1
  198. package/dist/RaftConnector.js.map +0 -1
  199. package/dist/RaftCustomAttrHandler.js.map +0 -1
  200. package/dist/RaftDeviceInfo.js.map +0 -1
  201. package/dist/RaftDeviceManager.js.map +0 -1
  202. package/dist/RaftDeviceMsg.js.map +0 -1
  203. package/dist/RaftDeviceStates.js.map +0 -1
  204. package/dist/RaftFileHandler.js.map +0 -1
  205. package/dist/RaftLog.js.map +0 -1
  206. package/dist/RaftMiniHDLC.js.map +0 -1
  207. package/dist/RaftMsgHandler.js.map +0 -1
  208. package/dist/RaftMsgTrackInfo.js.map +0 -1
  209. package/dist/RaftProtocolDefs.js.map +0 -1
  210. package/dist/RaftStreamHandler.js.map +0 -1
  211. package/dist/RaftSystemUtils.js.map +0 -1
  212. package/dist/RaftTypes.js.map +0 -1
  213. package/dist/RaftUpdateEvents.js.map +0 -1
  214. package/dist/RaftUpdateManager.js.map +0 -1
  215. package/dist/RaftUtils.js.map +0 -1
  216. package/dist/RaftWifiTypes.js.map +0 -1
  217. package/dist/TestDataGen.d.ts +0 -7
  218. package/dist/TestDataGen.js +0 -133
  219. package/dist/TestDataGen.js.map +0 -1
  220. package/dist/main.js.map +0 -1
  221. package/src/TestDataGen.ts +0 -157
  222. /package/dist/{RaftAttributeHandler.d.ts → react-native/RaftAttributeHandler.d.ts} +0 -0
  223. /package/dist/{RaftChannel.d.ts → react-native/RaftChannel.d.ts} +0 -0
  224. /package/dist/{RaftChannel.js → react-native/RaftChannel.js} +0 -0
  225. /package/dist/{RaftChannelWebSerial.d.ts → react-native/RaftChannelWebSerial.d.ts} +0 -0
  226. /package/dist/{RaftChannelWebSocket.d.ts → react-native/RaftChannelWebSocket.d.ts} +0 -0
  227. /package/dist/{RaftChannelWebSocket.js → react-native/RaftChannelWebSocket.js} +0 -0
  228. /package/dist/{RaftCommsStats.d.ts → react-native/RaftCommsStats.d.ts} +0 -0
  229. /package/dist/{RaftCommsStats.js → react-native/RaftCommsStats.js} +0 -0
  230. /package/dist/{RaftCustomAttrHandler.d.ts → react-native/RaftCustomAttrHandler.d.ts} +0 -0
  231. /package/dist/{RaftCustomAttrHandler.js → react-native/RaftCustomAttrHandler.js} +0 -0
  232. /package/dist/{RaftDeviceInfo.js → react-native/RaftDeviceInfo.js} +0 -0
  233. /package/dist/{RaftDeviceMsg.d.ts → react-native/RaftDeviceMsg.d.ts} +0 -0
  234. /package/dist/{RaftDeviceMsg.js → react-native/RaftDeviceMsg.js} +0 -0
  235. /package/dist/{RaftDeviceStates.js → react-native/RaftDeviceStates.js} +0 -0
  236. /package/dist/{RaftFileHandler.d.ts → react-native/RaftFileHandler.d.ts} +0 -0
  237. /package/dist/{RaftFileHandler.js → react-native/RaftFileHandler.js} +0 -0
  238. /package/dist/{RaftLog.d.ts → react-native/RaftLog.d.ts} +0 -0
  239. /package/dist/{RaftLog.js → react-native/RaftLog.js} +0 -0
  240. /package/dist/{RaftMiniHDLC.d.ts → react-native/RaftMiniHDLC.d.ts} +0 -0
  241. /package/dist/{RaftMsgHandler.d.ts → react-native/RaftMsgHandler.d.ts} +0 -0
  242. /package/dist/{RaftMsgTrackInfo.d.ts → react-native/RaftMsgTrackInfo.d.ts} +0 -0
  243. /package/dist/{RaftMsgTrackInfo.js → react-native/RaftMsgTrackInfo.js} +0 -0
  244. /package/dist/{RaftProtocolDefs.d.ts → react-native/RaftProtocolDefs.d.ts} +0 -0
  245. /package/dist/{RaftProtocolDefs.js → react-native/RaftProtocolDefs.js} +0 -0
  246. /package/dist/{RaftStreamHandler.d.ts → react-native/RaftStreamHandler.d.ts} +0 -0
  247. /package/dist/{RaftStreamHandler.js → react-native/RaftStreamHandler.js} +0 -0
  248. /package/dist/{RaftSystemType.js → react-native/RaftSystemType.js} +0 -0
  249. /package/dist/{RaftSystemUtils.d.ts → react-native/RaftSystemUtils.d.ts} +0 -0
  250. /package/dist/{RaftSystemUtils.js → react-native/RaftSystemUtils.js} +0 -0
  251. /package/dist/{RaftUpdateEvents.d.ts → react-native/RaftUpdateEvents.d.ts} +0 -0
  252. /package/dist/{RaftUpdateEvents.js → react-native/RaftUpdateEvents.js} +0 -0
  253. /package/dist/{RaftUpdateManager.d.ts → react-native/RaftUpdateManager.d.ts} +0 -0
  254. /package/dist/{RaftUpdateManager.js → react-native/RaftUpdateManager.js} +0 -0
  255. /package/dist/{RaftUtils.d.ts → react-native/RaftUtils.d.ts} +0 -0
  256. /package/dist/{RaftWifiTypes.d.ts → react-native/RaftWifiTypes.d.ts} +0 -0
  257. /package/dist/{RaftWifiTypes.js → react-native/RaftWifiTypes.js} +0 -0
package/README.md CHANGED
@@ -9,3 +9,5 @@ $ npm install @robdobsn/raftjs
9
9
  ## Usage
10
10
 
11
11
  See the dashboard example in the examples folder
12
+
13
+ to install dependencies: npm install --legacy-peer-deps
@@ -129,7 +129,7 @@ class AttributeHandler {
129
129
  }
130
130
  // Check if outside bounds of message
131
131
  if (curFieldBufIdx >= msgBuffer.length) {
132
- console.warn(`DeviceManager msg outside bounds msgBuffer ${msgBuffer} attrName ${attrDef.n}`);
132
+ // console.warn(`DeviceManager msg outside bounds msgBuffer ${msgBuffer} attrName ${attrDef.n}`);
133
133
  return { values: [], newMsgBufIdx: -1 };
134
134
  }
135
135
  // Attribute type
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftAttributeHandler.js","sourceRoot":"","sources":["../../src/RaftAttributeHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftChannel.js","sourceRoot":"","sources":["../../src/RaftChannel.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,cAAc;AACd,iBAAiB;AACjB,EAAE;AACF,wCAAwC;AACxC,oCAAoC;AACpC,EAAE;AACF,iHAAiH"}
@@ -0,0 +1,93 @@
1
+ import { BleError, BleManager, Characteristic, Device, State, Subscription } from "react-native-ble-plx";
2
+ import RaftChannel from "./RaftChannel";
3
+ import { RaftConnEvent, RaftConnEventFn } from "./RaftConnEvents";
4
+ import RaftMsgHandler from "./RaftMsgHandler";
5
+ import RICBLEScanner from "./RaftChannelBLEScanner.native";
6
+ import { DiscoveredRIC } from "./RaftTypes";
7
+ export default class RaftChannelPhoneBLE implements RaftChannel {
8
+ static ServiceUUID: string;
9
+ static CogServiceUUID: string;
10
+ static CmdUUID: string;
11
+ static RespUUID: string;
12
+ private _onConnEvent;
13
+ _bleScanner: RICBLEScanner;
14
+ _ricToConnectTo: DiscoveredRIC | null;
15
+ _retryConnectionIfLost: boolean;
16
+ RECONNECT_ATTEMPTS_AFTER_CONN_LOST: number;
17
+ _bleSubscrOnRx: Subscription | null;
18
+ _bleSubscrOnDisconnect: Subscription | null;
19
+ _bleSubscrOnStateChange: Subscription | null;
20
+ _bleDevice: Device | null;
21
+ MTU_SIZE_TO_REQUEST: number;
22
+ _raftMsgHandler: RaftMsgHandler | null;
23
+ private _msgTxTimeLast;
24
+ private _msgTxMinTimeBetweenMs;
25
+ private readonly maxRetries;
26
+ private _isConnected;
27
+ private _requestedBatchAckSize;
28
+ private _requestedFileBlockSize;
29
+ constructor();
30
+ getBleManager(): BleManager;
31
+ fhBatchAckSize(): number;
32
+ fhFileBlockSize(): number;
33
+ pauseConnection(pause: boolean): void;
34
+ isConnected(): boolean;
35
+ setOnConnEvent(connEventFn: RaftConnEventFn): void;
36
+ requiresSubscription(): boolean;
37
+ isEnabled(): boolean;
38
+ setMsgHandler(raftMsgHandler: RaftMsgHandler): void;
39
+ setRetryConnectionIfLost(retry: boolean): void;
40
+ discoveryStart(uuid?: string): Promise<boolean>;
41
+ discoveryCancel(): void;
42
+ _onBLEStateChange(state: State): void;
43
+ getConnectedLocator(): string | Device;
44
+ /**
45
+ * Get RIC connection status
46
+ *
47
+ * @returns boolean (true if connected)
48
+ *
49
+ */
50
+ getIsConnected(forceCheck?: boolean): Promise<boolean>;
51
+ /**
52
+ * Get the RSSI of the currently connected device
53
+ *
54
+ * @return number (or null if not connected)
55
+ *
56
+ */
57
+ readRSSI(): Promise<number>;
58
+ /**
59
+ * Connect to a RIC
60
+ *
61
+ * @returns boolean (true if connected)
62
+ *
63
+ */
64
+ connect(discoveredRIC: DiscoveredRIC): Promise<boolean>;
65
+ /**
66
+ * Disconnect from RIC
67
+ *
68
+ * @returns None
69
+ *
70
+ */
71
+ disconnect(): Promise<void>;
72
+ /**
73
+ * Configure device connection
74
+ *
75
+ * @returns None
76
+ *
77
+ */
78
+ _configDeviceConnection(): Promise<boolean>;
79
+ /**
80
+ * Handle lost connections
81
+ *
82
+ * @returns None
83
+ *
84
+ */
85
+ _handleLostConnections(): void;
86
+ getMTU(): number | undefined;
87
+ emit(event: RaftConnEvent, data?: any): void;
88
+ _onMsgRx(error: BleError | null, characteristic: Characteristic | null): void;
89
+ scanningEvent(event: RaftConnEvent, data?: any): Promise<void>;
90
+ sendTxMsg(msg: Uint8Array): Promise<boolean>;
91
+ sendTxMsgNoAwait(msg: Uint8Array): Promise<boolean>;
92
+ ricRestCmdBeforeDisconnect(): string | null;
93
+ }
@@ -0,0 +1,455 @@
1
+ "use strict";
2
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3
+ //
4
+ // RaftChannelPhoneBLE
5
+ // Part of RaftJS
6
+ //
7
+ // Rob Dobson & Chris Greening 2020-2024
8
+ // (C) 2020-2024 All rights reserved
9
+ //
10
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const tslib_1 = require("tslib");
13
+ const react_native_ble_plx_1 = require("react-native-ble-plx");
14
+ const RaftConnEvents_1 = require("./RaftConnEvents");
15
+ const RaftLog_1 = tslib_1.__importDefault(require("./RaftLog"));
16
+ const RaftUtils_1 = tslib_1.__importDefault(require("./RaftUtils"));
17
+ const RaftChannelBLEScanner_native_1 = tslib_1.__importDefault(require("./RaftChannelBLEScanner.native"));
18
+ const _bleManager = new react_native_ble_plx_1.BleManager();
19
+ class RaftChannelPhoneBLE {
20
+ constructor() {
21
+ // BleManager
22
+ // Conn event fn
23
+ this._onConnEvent = null;
24
+ // RIC to connect to using BLE
25
+ this._ricToConnectTo = null;
26
+ // Handle BLE disconnection through retry
27
+ // May be set after connection checking (e.g. using LEDs)
28
+ this._retryConnectionIfLost = false;
29
+ this.RECONNECT_ATTEMPTS_AFTER_CONN_LOST = 20;
30
+ // BLE connection
31
+ this._bleSubscrOnRx = null;
32
+ this._bleSubscrOnDisconnect = null;
33
+ this._bleSubscrOnStateChange = null;
34
+ this._bleDevice = null;
35
+ // MTU (Maximum Transmission Unit) size to request
36
+ this.MTU_SIZE_TO_REQUEST = 512;
37
+ // Message handler
38
+ this._raftMsgHandler = null;
39
+ // Last message tx time
40
+ this._msgTxTimeLast = Date.now();
41
+ this._msgTxMinTimeBetweenMs = 1;
42
+ this.maxRetries = 1;
43
+ // Connected flag and retries
44
+ this._isConnected = false;
45
+ // private readonly _maxConnRetries = 3;
46
+ // File Handler parameters
47
+ this._requestedBatchAckSize = 10;
48
+ this._requestedFileBlockSize = 500;
49
+ RaftLog_1.default.debug('BLEChannel constructor');
50
+ // _bleManager.setLogLevel(LogLevel.Verbose);
51
+ // Scanner
52
+ this._bleScanner = new RaftChannelBLEScanner_native_1.default(_bleManager, [RaftChannelPhoneBLE.ServiceUUID, RaftChannelPhoneBLE.CogServiceUUID], this.scanningEvent.bind(this));
53
+ // Listen for BLE state changes
54
+ this._bleSubscrOnStateChange = _bleManager.onStateChange(state => {
55
+ this._onBLEStateChange(state);
56
+ }, true);
57
+ }
58
+ getBleManager() {
59
+ return _bleManager;
60
+ }
61
+ fhBatchAckSize() { return this._requestedBatchAckSize; }
62
+ fhFileBlockSize() { return this._requestedFileBlockSize; }
63
+ pauseConnection(pause) { RaftLog_1.default.verbose(`pauseConnection ${pause} - no effect for this channel type`); return; }
64
+ // isConnected
65
+ isConnected() {
66
+ return this._bleDevice !== null && this._isConnected;
67
+ }
68
+ setOnConnEvent(connEventFn) {
69
+ this._onConnEvent = connEventFn;
70
+ }
71
+ requiresSubscription() {
72
+ return true;
73
+ }
74
+ isEnabled() {
75
+ return true;
76
+ }
77
+ // Set message handler
78
+ setMsgHandler(raftMsgHandler) {
79
+ this._raftMsgHandler = raftMsgHandler;
80
+ }
81
+ setRetryConnectionIfLost(retry) {
82
+ RaftLog_1.default.debug(`BLEChannel setRetryConnectionIfLost ${retry}`);
83
+ this._retryConnectionIfLost = retry;
84
+ }
85
+ async discoveryStart(uuid) {
86
+ // Disconnect any existing connection
87
+ // await this.disconnect();
88
+ // Start scanning
89
+ await this._bleScanner.scanningStart(uuid);
90
+ // Event
91
+ RaftLog_1.default.debug(`BLEChannel discoveryStart emitting BLE_SCANNING_STARTED`);
92
+ this.emit(RaftConnEvents_1.RaftConnEvent.BLE_SCANNING_STARTED);
93
+ return true;
94
+ }
95
+ discoveryCancel() {
96
+ // Stop scanning
97
+ this._bleScanner.scanningStop();
98
+ }
99
+ _onBLEStateChange(state) {
100
+ RaftLog_1.default.debug('BLEChannel state change ' + state);
101
+ if (state === react_native_ble_plx_1.State.PoweredOn) {
102
+ this.emit(RaftConnEvents_1.RaftConnEvent.BLE_BLUETOOTH_STATE, {
103
+ btEnabled: true,
104
+ });
105
+ RaftLog_1.default.debug('BLEChannel BLE powered on');
106
+ }
107
+ else if (state === react_native_ble_plx_1.State.PoweredOff) {
108
+ this.emit(RaftConnEvents_1.RaftConnEvent.BLE_BLUETOOTH_STATE, {
109
+ btEnabled: false,
110
+ });
111
+ }
112
+ }
113
+ // Get connected locator
114
+ getConnectedLocator() {
115
+ return this._bleDevice || '';
116
+ }
117
+ /**
118
+ * Get RIC connection status
119
+ *
120
+ * @returns boolean (true if connected)
121
+ *
122
+ */
123
+ async getIsConnected(forceCheck = false) {
124
+ var _a;
125
+ if (this._bleDevice === null) {
126
+ return false;
127
+ }
128
+ if (!forceCheck) {
129
+ return true;
130
+ }
131
+ return await ((_a = this._bleDevice) === null || _a === void 0 ? void 0 : _a.isConnected());
132
+ }
133
+ /**
134
+ * Get the RSSI of the currently connected device
135
+ *
136
+ * @return number (or null if not connected)
137
+ *
138
+ */
139
+ async readRSSI() {
140
+ if (this._bleDevice) {
141
+ const updatedDevice = await this._bleDevice.readRSSI();
142
+ if (updatedDevice.rssi !== null) {
143
+ return updatedDevice.rssi;
144
+ }
145
+ }
146
+ // is this a sensible default? should show up as a very weak signal
147
+ return -200;
148
+ }
149
+ /**
150
+ * Connect to a RIC
151
+ *
152
+ * @returns boolean (true if connected)
153
+ *
154
+ */
155
+ async connect(discoveredRIC) {
156
+ RaftLog_1.default.debug('BLEChannel requested connection');
157
+ this._retryConnectionIfLost = false;
158
+ this._bleScanner.scanningStop();
159
+ // Now connecting
160
+ this.emit(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTING, { deviceId: discoveredRIC.id });
161
+ // Connect
162
+ this._ricToConnectTo = discoveredRIC;
163
+ const connOk = await this._configDeviceConnection();
164
+ // Check if ok
165
+ if (!connOk) {
166
+ // Emit failure
167
+ this.emit(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTION_FAILED);
168
+ return false;
169
+ }
170
+ // Emit success
171
+ this.emit(RaftConnEvents_1.RaftConnEvent.CONN_CONNECTED, {
172
+ deviceId: this._ricToConnectTo.id,
173
+ name: this._ricToConnectTo.name,
174
+ });
175
+ return true;
176
+ }
177
+ /**
178
+ * Disconnect from RIC
179
+ *
180
+ * @returns None
181
+ *
182
+ */
183
+ async disconnect() {
184
+ RaftLog_1.default.debug('BLEChannel disconnect requested');
185
+ this._retryConnectionIfLost = false;
186
+ RaftLog_1.default.debug(`this._ricToConnectTo ${this._ricToConnectTo}`);
187
+ const connectedRIC = this._ricToConnectTo;
188
+ this._ricToConnectTo = null;
189
+ // this._invalidateConnectionInfo(); // //
190
+ // Remove disconnect subscription so it doesn't try to reconnect
191
+ if (this._bleSubscrOnDisconnect) {
192
+ this._bleSubscrOnDisconnect.remove();
193
+ this._bleSubscrOnDisconnect = null;
194
+ }
195
+ // Disconnect from the connected device
196
+ const connMarties = await _bleManager.connectedDevices([
197
+ RaftChannelPhoneBLE.ServiceUUID,
198
+ ]);
199
+ if (connMarties.length == 0) {
200
+ RaftLog_1.default.debug('BLEChannel disconnect - no devices connected');
201
+ }
202
+ else {
203
+ for (const connRIC of connMarties) {
204
+ RaftLog_1.default.debug(`Found connected device ${connRIC.id}`);
205
+ RaftLog_1.default.debug(`ID to disconnect ${connectedRIC === null || connectedRIC === void 0 ? void 0 : connectedRIC.id}`);
206
+ if ((connectedRIC === null || connectedRIC === void 0 ? void 0 : connectedRIC.id) === connRIC.id) {
207
+ await _bleManager.cancelDeviceConnection(connRIC.id);
208
+ }
209
+ }
210
+ }
211
+ // Emit disconnected event
212
+ this.emit(RaftConnEvents_1.RaftConnEvent.CONN_DISCONNECTED);
213
+ RaftLog_1.default.debug('BLEChannel disconnect clearing connected device');
214
+ this._bleDevice = null;
215
+ }
216
+ /**
217
+ * Configure device connection
218
+ *
219
+ * @returns None
220
+ *
221
+ */
222
+ async _configDeviceConnection() {
223
+ // Check there is a RIC to connect to
224
+ if (this._ricToConnectTo === null) {
225
+ return false;
226
+ }
227
+ let deviceConnected = null;
228
+ for (let connRetry = 0; connRetry < 5; connRetry++) {
229
+ try {
230
+ deviceConnected = await _bleManager.connectToDevice(this._ricToConnectTo.id, {
231
+ timeout: 3000,
232
+ });
233
+ // this.handleLostDevice(); // //
234
+ break;
235
+ }
236
+ catch (error) {
237
+ RaftLog_1.default.debug(`BLEChannel configDeviceConnection failed at attempt ${connRetry + 1} error ${error}`);
238
+ deviceConnected = null;
239
+ }
240
+ }
241
+ if (deviceConnected === null) {
242
+ return false;
243
+ }
244
+ // Increase MTU size
245
+ try {
246
+ if (deviceConnected) {
247
+ const updatedDevice = await deviceConnected.requestMTU(this.MTU_SIZE_TO_REQUEST);
248
+ RaftLog_1.default.debug(`BLEChannel configDeviceConnection requestMTU ${this.MTU_SIZE_TO_REQUEST}, actualMTU ${updatedDevice.mtu}`);
249
+ }
250
+ }
251
+ catch (error) {
252
+ RaftLog_1.default.debug(`BLEChannel configDeviceConnection requestMTU failed error ${error}`);
253
+ return false;
254
+ }
255
+ // Request high-priority connection
256
+ try {
257
+ await _bleManager.requestConnectionPriorityForDevice(this._ricToConnectTo.id, react_native_ble_plx_1.ConnectionPriority.High);
258
+ RaftLog_1.default.debug(`BLEChannel configDeviceConnection request ConnPriority.High`);
259
+ }
260
+ catch (error) {
261
+ RaftLog_1.default.debug(`BLEChannel configDeviceConnection requestConnectionPriorityForDevice failed ${error}`);
262
+ return false;
263
+ }
264
+ // Discover services and characteristics
265
+ try {
266
+ if (deviceConnected) {
267
+ this._bleDevice =
268
+ await deviceConnected.discoverAllServicesAndCharacteristics();
269
+ }
270
+ }
271
+ catch (error) {
272
+ RaftLog_1.default.debug(`BLEChannel configDeviceConnection discoverAllServicesAndCharacteristics failed error ${error}`);
273
+ return false;
274
+ }
275
+ // Monitor the inbound characteristic
276
+ try {
277
+ if (this._bleDevice) {
278
+ this._bleSubscrOnRx = this._bleDevice.monitorCharacteristicForService(RaftChannelPhoneBLE.ServiceUUID, RaftChannelPhoneBLE.RespUUID, (error, characteristic) => {
279
+ this._onMsgRx(error, characteristic);
280
+ });
281
+ }
282
+ }
283
+ catch (error) {
284
+ RaftLog_1.default.debug(`BLEChannel configDeviceConnection monitorCharacteristicForService failed ${error}`);
285
+ return false;
286
+ }
287
+ // Deal with future disconnections
288
+ this._handleLostConnections();
289
+ return true;
290
+ }
291
+ /**
292
+ * Handle lost connections
293
+ *
294
+ * @returns None
295
+ *
296
+ */
297
+ _handleLostConnections() {
298
+ // Check device ok
299
+ if (this._bleDevice === null) {
300
+ return;
301
+ }
302
+ // Attach a disconnected listener
303
+ this._bleSubscrOnDisconnect = _bleManager.onDeviceDisconnected(this._bleDevice.id, async () => {
304
+ var _a, _b, _c, _d;
305
+ // this._storeConnectionInfo(); // //
306
+ // this._invalidateConnectionInfo(); // //
307
+ RaftLog_1.default.warn(`onDeviceDisconnected BLEManager says device disconnected`);
308
+ // this.emit(RaftConnEvent.BLE_CONNECTION_ISSUE_DETECTED);
309
+ try {
310
+ if (this._bleSubscrOnRx) {
311
+ this._bleSubscrOnRx.remove();
312
+ this._bleSubscrOnRx = null;
313
+ }
314
+ if (this._bleSubscrOnDisconnect) {
315
+ this._bleSubscrOnDisconnect.remove();
316
+ this._bleSubscrOnDisconnect = null;
317
+ }
318
+ // Debug
319
+ RaftLog_1.default.debug(`connection subscriptions removed`);
320
+ // Device now null
321
+ RaftLog_1.default.debug(`onDisconnect clearing connected device`);
322
+ // this._ghostBleDevice = this._bleDevice; // //
323
+ this._bleDevice = null;
324
+ }
325
+ catch (error) {
326
+ RaftLog_1.default.debug(`Error in onDisconnected ${error}`);
327
+ }
328
+ // Attempt reconnection
329
+ for (let reconnAttempt = 0; reconnAttempt < this.RECONNECT_ATTEMPTS_AFTER_CONN_LOST; reconnAttempt++) {
330
+ // Check if scan in progress - and stop reconn attempts if so
331
+ const scanInProgress = this._bleScanner.isScanInProgress();
332
+ RaftLog_1.default.debug(`onDeviceDisconnected considering reconnection RICToConnectTo ${(_a = this._ricToConnectTo) === null || _a === void 0 ? void 0 : _a.name} scanInProgress ${scanInProgress} retryConnectionIfLost ${this._retryConnectionIfLost}`);
333
+ if (!this._retryConnectionIfLost ||
334
+ scanInProgress ||
335
+ !this._ricToConnectTo) {
336
+ RaftLog_1.default.debug(`onDeviceDisconnected DISCONNECTED_RIC RICToConnectTo ${(_b = this._ricToConnectTo) === null || _b === void 0 ? void 0 : _b.name} scanInProgress ${scanInProgress} retryConnectionIfLost ${this._retryConnectionIfLost}`);
337
+ if (this._retryConnectionIfLost) {
338
+ // this.emit(RaftConnEvent.BLE_DISCONNECTED_RIC);
339
+ }
340
+ else {
341
+ // this.emit(RaftConnEvent.BLE_CONNECTING_RIC_FAIL);
342
+ }
343
+ break;
344
+ }
345
+ if (await this._configDeviceConnection()) {
346
+ RaftLog_1.default.debug(`onDeviceDisconnected successful reconn RICToConnectTo ${(_c = this._ricToConnectTo) === null || _c === void 0 ? void 0 : _c.name}`);
347
+ // Indicate connection issue resolved
348
+ // this.emit(RaftConnEvent.BLE_CONNECTION_ISSUE_RESOLVED);
349
+ // await this.ricConnector.retrieveMartySystemInfo();
350
+ return;
351
+ }
352
+ RaftLog_1.default.debug(`onDeviceDisconnected retrying reconn RICToConnectTo ${(_d = this._ricToConnectTo) === null || _d === void 0 ? void 0 : _d.name}`);
353
+ }
354
+ });
355
+ }
356
+ getMTU() {
357
+ var _a;
358
+ return (_a = this._bleDevice) === null || _a === void 0 ? void 0 : _a.mtu;
359
+ }
360
+ emit(event, data) {
361
+ if (this._onConnEvent) {
362
+ this._onConnEvent(event, data);
363
+ }
364
+ }
365
+ _onMsgRx(error, characteristic) {
366
+ if (error) {
367
+ // this.emit(maybe dont want to emit here - just add to comms stats?);
368
+ // this.reportError(error.message);
369
+ return;
370
+ }
371
+ // Extract message
372
+ const msgFrameBase64 = characteristic.value;
373
+ const rxFrame = RaftUtils_1.default.atob(msgFrameBase64);
374
+ // Debug
375
+ // RaftLog.debug('_onMsgRx from BLE ' + RICUtils.bufferToHex(rxFrame));
376
+ // Send
377
+ if (rxFrame !== null && this._raftMsgHandler) {
378
+ this._raftMsgHandler.handleNewRxMsg(rxFrame);
379
+ }
380
+ }
381
+ async scanningEvent(event, data) {
382
+ if (this._onConnEvent) {
383
+ this._onConnEvent(event, data);
384
+ }
385
+ }
386
+ async sendTxMsg(msg) {
387
+ // Check valid
388
+ if (this._bleDevice === null) {
389
+ return false;
390
+ }
391
+ for (let retryIdx = 0; retryIdx < this.maxRetries; retryIdx++) {
392
+ // Check for min time between messages
393
+ while (Date.now() - this._msgTxTimeLast < this._msgTxMinTimeBetweenMs) {
394
+ await new Promise(resolve => setTimeout(resolve, 5));
395
+ }
396
+ this._msgTxTimeLast = Date.now();
397
+ // Convert to Base64
398
+ const msgFrameBase64 = RaftUtils_1.default.btoa(msg);
399
+ try {
400
+ await this._bleDevice.writeCharacteristicWithoutResponseForService(RaftChannelPhoneBLE.ServiceUUID, RaftChannelPhoneBLE.CmdUUID, msgFrameBase64);
401
+ return true;
402
+ }
403
+ catch (error) {
404
+ if (retryIdx === this.maxRetries - 1) {
405
+ RaftLog_1.default.debug(`sendTxMsg failed after ${this.maxRetries} attempts`);
406
+ return false;
407
+ }
408
+ RaftLog_1.default.debug(`sendTxMsg failed, retrying`);
409
+ }
410
+ }
411
+ return false;
412
+ }
413
+ async sendTxMsgNoAwait(msg) {
414
+ // Check valid
415
+ if (this._bleDevice === null) {
416
+ return false;
417
+ }
418
+ // Retry upto maxRetries
419
+ for (let retryIdx = 0; retryIdx < this.maxRetries; retryIdx++) {
420
+ // Check for min time between messages
421
+ while (Date.now() - this._msgTxTimeLast < this._msgTxMinTimeBetweenMs) {
422
+ await new Promise(resolve => setTimeout(resolve, 5));
423
+ }
424
+ this._msgTxTimeLast = Date.now();
425
+ // Convert to Base64
426
+ const msgFrameBase64 = RaftUtils_1.default.btoa(msg);
427
+ try {
428
+ this._bleDevice.writeCharacteristicWithoutResponseForService(RaftChannelPhoneBLE.ServiceUUID, RaftChannelPhoneBLE.CmdUUID, msgFrameBase64);
429
+ return true;
430
+ }
431
+ catch (error) {
432
+ if (retryIdx === this.maxRetries - 1) {
433
+ RaftLog_1.default.debug(`sendTxMsgNoAwait failed after ${this.maxRetries} attempts`);
434
+ return false;
435
+ }
436
+ RaftLog_1.default.debug(`sendTxMsgNoAwait failed, retrying`);
437
+ }
438
+ }
439
+ return false;
440
+ }
441
+ // RICREST command before disconnect
442
+ ricRestCmdBeforeDisconnect() {
443
+ // NT: Sending blerestart *before* disconnecting results in timeout issues as the device is no longer connected when we try to actually disconnect
444
+ // suggested fix: allow callaback command to be sent after disconnect on the fw side
445
+ // return "blerestart";
446
+ return null;
447
+ }
448
+ }
449
+ // BLE UUIDS
450
+ RaftChannelPhoneBLE.ServiceUUID = "aa76677e-9cfd-4626-a510-0d305be57c8d";
451
+ RaftChannelPhoneBLE.CogServiceUUID = "da903f65-d5c2-4f4d-a065-d1aade7af874";
452
+ RaftChannelPhoneBLE.CmdUUID = "aa76677e-9cfd-4626-a510-0d305be57c8e";
453
+ RaftChannelPhoneBLE.RespUUID = "aa76677e-9cfd-4626-a510-0d305be57c8f";
454
+ exports.default = RaftChannelPhoneBLE;
455
+ //# sourceMappingURL=RaftChannelBLE.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RaftChannelBLE.native.js","sourceRoot":"","sources":["../../src/RaftChannelBLE.native.ts"],"names":[],"mappings":";AAAA,iHAAiH;AACjH,EAAE;AACF,sBAAsB;AACtB,iBAAiB;AACjB,EAAE;AACF,wCAAwC;AACxC,oCAAoC;AACpC,EAAE;AACF,iHAAiH;;;AAEjH,+DAA6H;AAE7H,qDAAkE;AAClE,gEAAgC;AAEhC,oEAAoC;AACpC,0GAA2D;AAG3D,MAAM,WAAW,GAAG,IAAI,iCAAU,EAAE,CAAC;AAErC,MAAqB,mBAAmB;IAkDtC;QA3CA,aAAa;QAGb,gBAAgB;QACR,iBAAY,GAA2B,IAAI,CAAC;QAKpD,8BAA8B;QAC9B,oBAAe,GAAyB,IAAI,CAAC;QAE7C,yCAAyC;QACzC,yDAAyD;QACzD,2BAAsB,GAAY,KAAK,CAAC;QACxC,uCAAkC,GAAG,EAAE,CAAC;QAExC,iBAAiB;QACjB,mBAAc,GAAwB,IAAI,CAAC;QAC3C,2BAAsB,GAAwB,IAAI,CAAC;QACnD,4BAAuB,GAAwB,IAAI,CAAC;QACpD,eAAU,GAAkB,IAAI,CAAC;QAGjC,kDAAkD;QAClD,wBAAmB,GAAG,GAAG,CAAC;QAE1B,kBAAkB;QAClB,oBAAe,GAA0B,IAAI,CAAC;QAE9C,uBAAuB;QACf,mBAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,2BAAsB,GAAG,CAAC,CAAC;QAClB,eAAU,GAAG,CAAC,CAAC;QAEhC,6BAA6B;QACrB,iBAAY,GAAG,KAAK,CAAC;QAC7B,wCAAwC;QAExC,0BAA0B;QAClB,2BAAsB,GAAG,EAAE,CAAC;QAC5B,4BAAuB,GAAG,GAAG,CAAC;QAGpC,iBAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAExC,6CAA6C;QAE7C,UAAU;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,sCAAa,CAClC,WAAW,EACX,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,cAAc,CAAC,EACrE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC;QAEF,+BAA+B;QAC/B,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC/D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,aAAa;QACX,OAAO,WAAW,CAAC;IACrB,CAAC;IAGD,cAAc,KAAa,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChE,eAAe,KAAa,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAElE,eAAe,CAAC,KAAc,IAAU,iBAAO,CAAC,OAAO,CAAC,mBAAmB,KAAK,oCAAoC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEhI,cAAc;IACd,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC;IACvD,CAAC;IAED,cAAc,CAAC,WAA4B;QACzC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAsB;IACtB,aAAa,CAAC,cAA8B;QAC1C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED,wBAAwB,CAAC,KAAc;QACrC,iBAAO,CAAC,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAa;QAChC,qCAAqC;QACrC,2BAA2B;QAE3B,iBAAiB;QACjB,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE3C,QAAQ;QACR,iBAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,oBAAoB,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;QACb,gBAAgB;QAChB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,iBAAiB,CAAC,KAAY;QAC5B,iBAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,4BAAK,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,mBAAmB,EAAE;gBAC3C,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,iBAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,KAAK,KAAK,4BAAK,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,mBAAmB,EAAE;gBAC3C,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,mBAAmB;QACjB,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,aAAsB,KAAK;;QAC9C,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,WAAW,EAAE,CAAA,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvD,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,aAAa,CAAC,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,mEAAmE;QACnE,OAAO,CAAC,GAAG,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,aAA4B;QACxC,iBAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAEhC,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzE,UAAU;QACV,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEpD,cAAc;QACd,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,eAAe;YACf,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,sBAAsB,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,eAAe;QACf,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,cAAc,EAAE;YACtC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU;QACd,iBAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,iBAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,0CAA0C;QAE1C,gEAAgE;QAChE,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,uCAAuC;QACvC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC;YACrD,mBAAmB,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC5B,iBAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;gBAClC,iBAAO,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtD,iBAAO,CAAC,KAAK,CAAC,oBAAoB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,MAAK,OAAO,CAAC,EAAE,EAAE,CAAC;oBACpC,MAAM,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3C,iBAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB;QAC3B,qCAAqC;QACrC,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,WAAW,CAAC,eAAe,CACjD,IAAI,CAAC,eAAe,CAAC,EAAE,EACvB;oBACE,OAAO,EAAE,IAAI;iBACd,CACF,CAAC;gBACF,iCAAiC;gBACjC,MAAM;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAO,CAAC,KAAK,CACX,uDAAuD,SAAS,GAAG,CACnE,UAAU,KAAK,EAAE,CAClB,CAAC;gBACF,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC;YACH,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACjF,iBAAO,CAAC,KAAK,CACX,gDAAgD,IAAI,CAAC,mBAAmB,eAAe,aAAa,CAAC,GAAG,EAAE,CAC3G,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAO,CAAC,KAAK,CACX,6DAA6D,KAAK,EAAE,CACrE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,kCAAkC,CAClD,IAAI,CAAC,eAAe,CAAC,EAAE,EACvB,yCAAkB,CAAC,IAAI,CACxB,CAAC;YACF,iBAAO,CAAC,KAAK,CACX,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAO,CAAC,KAAK,CACX,+EAA+E,KAAK,EAAE,CACvF,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU;oBACb,MAAM,eAAe,CAAC,qCAAqC,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAO,CAAC,KAAK,CACX,wFAAwF,KAAK,EAAE,CAChG,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,qCAAqC;QACrC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,+BAA+B,CACnE,mBAAmB,CAAC,WAAW,EAC/B,mBAAmB,CAAC,QAAQ,EAC5B,CAAC,KAAsB,EAAE,cAAqC,EAAE,EAAE;oBAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACvC,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAO,CAAC,KAAK,CACX,4EAA4E,KAAK,EAAE,CACpF,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,sBAAsB;QACpB,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC,oBAAoB,CAC5D,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,KAAK,IAAI,EAAE;;YACT,qCAAqC;YACrC,0CAA0C;YAC1C,iBAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACzE,0DAA0D;YAC1D,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAED,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAChC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;oBACrC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACrC,CAAC;gBAED,QAAQ;gBACR,iBAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAElD,kBAAkB;gBAClB,iBAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACxD,gDAAgD;gBAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAO,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,uBAAuB;YACvB,KACE,IAAI,aAAa,GAAG,CAAC,EACrB,aAAa,GAAG,IAAI,CAAC,kCAAkC,EACvD,aAAa,EAAE,EACf,CAAC;gBACD,6DAA6D;gBAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC3D,iBAAO,CAAC,KAAK,CACX,gEAAgE,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,mBAAmB,cAAc,0BAA0B,IAAI,CAAC,sBAAsB,EAAE,CACnL,CAAC;gBACF,IACE,CAAC,IAAI,CAAC,sBAAsB;oBAC5B,cAAc;oBACd,CAAC,IAAI,CAAC,eAAe,EACrB,CAAC;oBACD,iBAAO,CAAC,KAAK,CACX,wDAAwD,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,mBAAmB,cAAc,0BAA0B,IAAI,CAAC,sBAAsB,EAAE,CAC3K,CAAC;oBACF,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBAChC,iDAAiD;oBACnD,CAAC;yBAAM,CAAC;wBACN,oDAAoD;oBACtD,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;oBACzC,iBAAO,CAAC,KAAK,CACX,yDAAyD,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,EAAE,CACtF,CAAC;oBAEF,qCAAqC;oBACrC,0DAA0D;oBAE1D,qDAAqD;oBACrD,OAAO;gBACT,CAAC;gBACD,iBAAO,CAAC,KAAK,CACX,uDAAuD,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,EAAE,CACpF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,MAAM;;QACJ,OAAO,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,KAAoB,EAAE,IAAU;QACnC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAsB,EAAE,cAAqC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,sEAAsE;YACtE,mCAAmC;YACnC,OAAO;QACT,CAAC;QAED,kBAAkB;QAClB,MAAM,cAAc,GAAG,cAAe,CAAC,KAAK,CAAC;QAE7C,MAAM,OAAO,GAAG,mBAAS,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC;QAEhD,QAAQ;QACR,uEAAuE;QAEvE,OAAO;QACP,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAoB,EAAE,IAAU;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAe;QAGf,cAAc;QACd,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;YAE9D,sCAAsC;YACtC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACtE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEjC,oBAAoB;YACpB,MAAM,cAAc,GAAG,mBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,4CAA4C,CAChE,mBAAmB,CAAC,WAAW,EAC/B,mBAAmB,CAAC,OAAO,EAC3B,cAAe,CAChB,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,QAAQ,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;oBACrC,iBAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,UAAU,WAAW,CAAC,CAAC;oBACpE,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,iBAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAAe;QAGf,cAAc;QACd,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,wBAAwB;QACxB,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;YAE9D,sCAAsC;YACtC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACtE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEjC,oBAAoB;YACpB,MAAM,cAAc,GAAG,mBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3C,IAAI,CAAC;gBACH,IAAI,CAAC,UAAW,CAAC,4CAA4C,CAC3D,mBAAmB,CAAC,WAAW,EAC/B,mBAAmB,CAAC,OAAO,EAC3B,cAAe,CAChB,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,QAAQ,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;oBACrC,iBAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,UAAU,WAAW,CAAC,CAAC;oBAC3E,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,iBAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,0BAA0B;QACxB,kJAAkJ;QAClJ,qFAAqF;QACrF,uBAAuB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;;AA/iBD,YAAY;AACE,+BAAW,GAAG,sCAAsC,AAAzC,CAA0C;AACrD,kCAAc,GAAG,sCAAsC,AAAzC,CAA0C;AACxD,2BAAO,GAAG,sCAAsC,AAAzC,CAA0C;AACjD,4BAAQ,GAAG,sCAAsC,AAAzC,CAA0C;kBAL7C,mBAAmB"}
@@ -2,8 +2,9 @@ import RaftChannel from "./RaftChannel";
2
2
  import { RaftConnEventFn } from "./RaftConnEvents";
3
3
  import RaftMsgHandler from "./RaftMsgHandler";
4
4
  import { ConnectorOptions } from "./RaftSystemType";
5
- export default class RaftChannelWebBLE implements RaftChannel {
6
- static ServiceUUID: string;
5
+ export default class RaftChannelBLE implements RaftChannel {
6
+ static RICServiceUUID: string;
7
+ static CogServiceUUID: string;
7
8
  static CmdUUID: string;
8
9
  static RespUUID: string;
9
10
  private _bleDevice;