@observertc/observer-js 1.0.1-c3edea3.0 → 1.0.1-c665f5a.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.
Files changed (204) hide show
  1. package/README.md +535 -1
  2. package/lib/ObservedCall.d.ts +45 -7
  3. package/lib/ObservedCall.d.ts.map +1 -1
  4. package/lib/ObservedCall.js +156 -14
  5. package/lib/ObservedCallEventMonitor.d.ts +104 -0
  6. package/lib/ObservedCallEventMonitor.d.ts.map +1 -0
  7. package/lib/ObservedCallEventMonitor.js +314 -0
  8. package/lib/ObservedCallSummary.d.ts +18 -0
  9. package/lib/ObservedCallSummary.d.ts.map +1 -0
  10. package/lib/ObservedClient.d.ts +78 -19
  11. package/lib/ObservedClient.d.ts.map +1 -1
  12. package/lib/ObservedClient.js +537 -80
  13. package/lib/ObservedClientEventMonitor.d.ts +91 -0
  14. package/lib/ObservedClientEventMonitor.d.ts.map +1 -0
  15. package/lib/ObservedClientEventMonitor.js +254 -0
  16. package/lib/ObservedClientSummary.d.ts +23 -0
  17. package/lib/ObservedClientSummary.d.ts.map +1 -0
  18. package/lib/ObservedClientSummary.js +2 -0
  19. package/lib/ObservedTURN.d.ts +31 -0
  20. package/lib/ObservedTURN.d.ts.map +1 -0
  21. package/lib/ObservedTURN.js +59 -0
  22. package/lib/ObservedTurnServer.d.ts +25 -0
  23. package/lib/ObservedTurnServer.d.ts.map +1 -0
  24. package/lib/ObservedTurnServer.js +59 -0
  25. package/lib/Observer.d.ts +42 -22
  26. package/lib/Observer.d.ts.map +1 -1
  27. package/lib/Observer.js +115 -40
  28. package/lib/ObserverEventMonitor.d.ts +138 -0
  29. package/lib/ObserverEventMonitor.d.ts.map +1 -0
  30. package/lib/ObserverEventMonitor.js +433 -0
  31. package/lib/ObserverSummary.d.ts +13 -0
  32. package/lib/ObserverSummary.d.ts.map +1 -0
  33. package/lib/ObserverSummary.js +2 -0
  34. package/lib/common/utils.d.ts +2 -1
  35. package/lib/common/utils.d.ts.map +1 -1
  36. package/lib/common/utils.js +11 -3
  37. package/lib/index.d.ts +22 -16
  38. package/lib/index.d.ts.map +1 -1
  39. package/lib/index.js +25 -17
  40. package/lib/mediasoup/ObservedMediasoupRouter.d.ts +7 -0
  41. package/lib/mediasoup/ObservedMediasoupRouter.d.ts.map +1 -0
  42. package/lib/mediasoup/ObservedMediasoupRouter.js +12 -0
  43. package/lib/schema/ClientEventTypes.d.ts +228 -0
  44. package/lib/schema/ClientEventTypes.d.ts.map +1 -0
  45. package/lib/schema/ClientEventTypes.js +41 -0
  46. package/lib/schema/{metaTypes.d.ts → ClientMetaTypes.d.ts} +2 -2
  47. package/lib/schema/ClientMetaTypes.d.ts.map +1 -0
  48. package/lib/schema/ClientMetaTypes.js +16 -0
  49. package/lib/schema/ClientSample.d.ts +1 -1
  50. package/lib/schema/ClientSample.d.ts.map +1 -1
  51. package/lib/updaters/CallUpdater.d.ts.map +1 -0
  52. package/lib/updaters/CallUpdater.js +2 -0
  53. package/lib/updaters/ObserverUpdater.d.ts +5 -0
  54. package/lib/updaters/ObserverUpdater.d.ts.map +1 -0
  55. package/lib/updaters/ObserverUpdater.js +2 -0
  56. package/lib/updaters/OnAllCallObserverUpdater.d.ts +15 -0
  57. package/lib/updaters/OnAllCallObserverUpdater.d.ts.map +1 -0
  58. package/lib/updaters/OnAllCallObserverUpdater.js +50 -0
  59. package/lib/updaters/OnAllClientCallUpdater.d.ts +15 -0
  60. package/lib/updaters/OnAllClientCallUpdater.d.ts.map +1 -0
  61. package/lib/updaters/OnAllClientCallUpdater.js +53 -0
  62. package/lib/updaters/OnAnyCallObserverUpdater.d.ts +12 -0
  63. package/lib/updaters/OnAnyCallObserverUpdater.d.ts.map +1 -0
  64. package/lib/updaters/OnAnyCallObserverUpdater.js +37 -0
  65. package/lib/updaters/OnAnyClientCallUpdater.d.ts +12 -0
  66. package/lib/updaters/OnAnyClientCallUpdater.d.ts.map +1 -0
  67. package/lib/updaters/OnAnyClientCallUpdater.js +36 -0
  68. package/lib/updaters/OnIntervalUpdater.d.ts +10 -0
  69. package/lib/updaters/OnIntervalUpdater.d.ts.map +1 -0
  70. package/lib/updaters/OnIntervalUpdater.js +17 -0
  71. package/lib/updaters/Updater.d.ts +6 -0
  72. package/lib/updaters/Updater.d.ts.map +1 -0
  73. package/lib/updaters/Updater.js +2 -0
  74. package/lib/utils/MediasoupRemoteTrackResolver.d.ts +25 -0
  75. package/lib/utils/MediasoupRemoteTrackResolver.d.ts.map +1 -0
  76. package/lib/utils/MediasoupRemoteTrackResolver.js +110 -0
  77. package/lib/utils/RemoteTrackResolver.d.ts +2 -2
  78. package/lib/utils/RemoteTrackResolver.d.ts.map +1 -1
  79. package/lib/{ObservedCertificate.d.ts → webrtc/ObservedCertificate.d.ts} +1 -1
  80. package/lib/webrtc/ObservedCertificate.d.ts.map +1 -0
  81. package/lib/{ObservedCodec.d.ts → webrtc/ObservedCodec.d.ts} +1 -1
  82. package/lib/webrtc/ObservedCodec.d.ts.map +1 -0
  83. package/lib/{ObservedDataChannel.d.ts → webrtc/ObservedDataChannel.d.ts} +7 -1
  84. package/lib/webrtc/ObservedDataChannel.d.ts.map +1 -0
  85. package/lib/{ObservedDataChannel.js → webrtc/ObservedDataChannel.js} +30 -0
  86. package/lib/{ObservedIceCandidate.d.ts → webrtc/ObservedIceCandidate.d.ts} +1 -1
  87. package/lib/webrtc/ObservedIceCandidate.d.ts.map +1 -0
  88. package/lib/{ObservedIceCandidatePair.d.ts → webrtc/ObservedIceCandidatePair.d.ts} +7 -2
  89. package/lib/webrtc/ObservedIceCandidatePair.d.ts.map +1 -0
  90. package/lib/{ObservedIceCandidatePair.js → webrtc/ObservedIceCandidatePair.js} +45 -1
  91. package/lib/{ObservedIceTransport.d.ts → webrtc/ObservedIceTransport.d.ts} +5 -1
  92. package/lib/webrtc/ObservedIceTransport.d.ts.map +1 -0
  93. package/lib/{ObservedIceTransport.js → webrtc/ObservedIceTransport.js} +28 -0
  94. package/lib/{ObservedInboundRtp.d.ts → webrtc/ObservedInboundRtp.d.ts} +2 -2
  95. package/lib/webrtc/ObservedInboundRtp.d.ts.map +1 -0
  96. package/lib/{ObservedInboundTrack.d.ts → webrtc/ObservedInboundTrack.d.ts} +7 -4
  97. package/lib/webrtc/ObservedInboundTrack.d.ts.map +1 -0
  98. package/lib/{ObservedInboundTrack.js → webrtc/ObservedInboundTrack.js} +4 -1
  99. package/lib/{ObservedMediaPlayout.d.ts → webrtc/ObservedMediaPlayout.d.ts} +2 -2
  100. package/lib/webrtc/ObservedMediaPlayout.d.ts.map +1 -0
  101. package/lib/{ObservedMediaSource.d.ts → webrtc/ObservedMediaSource.d.ts} +2 -2
  102. package/lib/webrtc/ObservedMediaSource.d.ts.map +1 -0
  103. package/lib/{ObservedOutboundRtp.d.ts → webrtc/ObservedOutboundRtp.d.ts} +2 -2
  104. package/lib/webrtc/ObservedOutboundRtp.d.ts.map +1 -0
  105. package/lib/{ObservedOutboundTrack.d.ts → webrtc/ObservedOutboundTrack.d.ts} +7 -4
  106. package/lib/webrtc/ObservedOutboundTrack.d.ts.map +1 -0
  107. package/lib/{ObservedOutboundTrack.js → webrtc/ObservedOutboundTrack.js} +4 -1
  108. package/lib/{ObservedPeerConnection.d.ts → webrtc/ObservedPeerConnection.d.ts} +39 -5
  109. package/lib/webrtc/ObservedPeerConnection.d.ts.map +1 -0
  110. package/lib/{ObservedPeerConnection.js → webrtc/ObservedPeerConnection.js} +185 -30
  111. package/lib/{ObservedPeerConnectionTransport.d.ts → webrtc/ObservedPeerConnectionTransport.d.ts} +1 -1
  112. package/lib/webrtc/ObservedPeerConnectionTransport.d.ts.map +1 -0
  113. package/lib/{ObservedRemoteInboundRtp.d.ts → webrtc/ObservedRemoteInboundRtp.d.ts} +2 -2
  114. package/lib/webrtc/ObservedRemoteInboundRtp.d.ts.map +1 -0
  115. package/lib/{ObservedRemoteOutboundRtp.d.ts → webrtc/ObservedRemoteOutboundRtp.d.ts} +2 -2
  116. package/lib/webrtc/ObservedRemoteOutboundRtp.d.ts.map +1 -0
  117. package/package.json +1 -1
  118. package/src/ObservedCall.ts +233 -17
  119. package/src/ObservedCallEventMonitor.ts +392 -0
  120. package/src/ObservedCallSummary.ts +22 -0
  121. package/src/ObservedClient.ts +644 -92
  122. package/src/ObservedClientEventMonitor.ts +309 -0
  123. package/src/ObservedClientSummary.ts +24 -0
  124. package/src/ObservedTURN.ts +87 -0
  125. package/src/ObservedTurnServer.ts +72 -0
  126. package/src/Observer.ts +168 -64
  127. package/src/ObserverEventMonitor.ts +551 -0
  128. package/src/ObserverSummary.ts +15 -0
  129. package/src/common/utils.ts +12 -2
  130. package/src/index.ts +22 -17
  131. package/src/mediasoup/ObservedMediasoupRouter.ts +12 -0
  132. package/src/schema/ClientEventTypes.ts +280 -0
  133. package/src/schema/{metaTypes.ts → ClientMetaTypes.ts} +1 -1
  134. package/src/schema/ClientSample.ts +1 -1
  135. package/src/updaters/ObserverUpdater.ts +5 -0
  136. package/src/updaters/OnAllCallObserverUpdater.ts +59 -0
  137. package/src/updaters/OnAllClientCallUpdater.ts +61 -0
  138. package/src/updaters/OnAnyCallObserverUpdater.ts +41 -0
  139. package/src/updaters/OnAnyClientCallUpdater.ts +39 -0
  140. package/src/updaters/OnIntervalUpdater.ts +19 -0
  141. package/src/updaters/Updater.ts +5 -0
  142. package/src/utils/MediasoupRemoteTrackResolver.ts +155 -0
  143. package/src/utils/RemoteTrackResolver.ts +2 -2
  144. package/src/{ObservedCertificate.ts → webrtc/ObservedCertificate.ts} +1 -1
  145. package/src/{ObservedCodec.ts → webrtc/ObservedCodec.ts} +1 -1
  146. package/src/{ObservedDataChannel.ts → webrtc/ObservedDataChannel.ts} +33 -1
  147. package/src/{ObservedIceCandidate.ts → webrtc/ObservedIceCandidate.ts} +1 -1
  148. package/src/{ObservedIceCandidatePair.ts → webrtc/ObservedIceCandidatePair.ts} +45 -3
  149. package/src/{ObservedIceTransport.ts → webrtc/ObservedIceTransport.ts} +30 -1
  150. package/src/{ObservedInboundRtp.ts → webrtc/ObservedInboundRtp.ts} +2 -2
  151. package/src/{ObservedInboundTrack.ts → webrtc/ObservedInboundTrack.ts} +9 -4
  152. package/src/{ObservedMediaPlayout.ts → webrtc/ObservedMediaPlayout.ts} +2 -2
  153. package/src/{ObservedMediaSource.ts → webrtc/ObservedMediaSource.ts} +2 -2
  154. package/src/{ObservedOutboundRtp.ts → webrtc/ObservedOutboundRtp.ts} +2 -2
  155. package/src/{ObservedOutboundTrack.ts → webrtc/ObservedOutboundTrack.ts} +9 -4
  156. package/src/{ObservedPeerConnection.ts → webrtc/ObservedPeerConnection.ts} +240 -51
  157. package/src/{ObservedPeerConnectionTransport.ts → webrtc/ObservedPeerConnectionTransport.ts} +1 -1
  158. package/src/{ObservedRemoteInboundRtp.ts → webrtc/ObservedRemoteInboundRtp.ts} +2 -2
  159. package/src/{ObservedRemoteOutboundRtp.ts → webrtc/ObservedRemoteOutboundRtp.ts} +2 -2
  160. package/tsconfig.json +1 -1
  161. package/lib/ObservedCertificate.d.ts.map +0 -1
  162. package/lib/ObservedCodec.d.ts.map +0 -1
  163. package/lib/ObservedDataChannel.d.ts.map +0 -1
  164. package/lib/ObservedIceCandidate.d.ts.map +0 -1
  165. package/lib/ObservedIceCandidatePair.d.ts.map +0 -1
  166. package/lib/ObservedIceTransport.d.ts.map +0 -1
  167. package/lib/ObservedInboundRtp.d.ts.map +0 -1
  168. package/lib/ObservedInboundTrack.d.ts.map +0 -1
  169. package/lib/ObservedMediaPlayout.d.ts.map +0 -1
  170. package/lib/ObservedMediaSource.d.ts.map +0 -1
  171. package/lib/ObservedOutboundRtp.d.ts.map +0 -1
  172. package/lib/ObservedOutboundTrack.d.ts.map +0 -1
  173. package/lib/ObservedPeerConnection.d.ts.map +0 -1
  174. package/lib/ObservedPeerConnectionTransport.d.ts.map +0 -1
  175. package/lib/ObservedRemoteInboundRtp.d.ts.map +0 -1
  176. package/lib/ObservedRemoteOutboundRtp.d.ts.map +0 -1
  177. package/lib/schema/eventTypes.d.ts +0 -33
  178. package/lib/schema/eventTypes.d.ts.map +0 -1
  179. package/lib/schema/eventTypes.js +0 -38
  180. package/lib/schema/metaTypes.d.ts.map +0 -1
  181. package/lib/schema/metaTypes.js +0 -16
  182. package/lib/utils/CallUpdater.d.ts.map +0 -1
  183. package/lib/utils/OnAllClientCallUpdater.d.ts +0 -16
  184. package/lib/utils/OnAllClientCallUpdater.d.ts.map +0 -1
  185. package/lib/utils/OnAllClientCallUpdater.js +0 -58
  186. package/lib/utils/onAnyClientCallUpdater.d.ts +0 -14
  187. package/lib/utils/onAnyClientCallUpdater.d.ts.map +0 -1
  188. package/lib/utils/onAnyClientCallUpdater.js +0 -51
  189. package/src/schema/eventTypes.ts +0 -36
  190. package/src/utils/OnAllClientCallUpdater.ts +0 -68
  191. package/src/utils/onAnyClientCallUpdater.ts +0 -59
  192. /package/lib/{utils/CallUpdater.js → ObservedCallSummary.js} +0 -0
  193. /package/lib/{utils → updaters}/CallUpdater.d.ts +0 -0
  194. /package/lib/{ObservedCertificate.js → webrtc/ObservedCertificate.js} +0 -0
  195. /package/lib/{ObservedCodec.js → webrtc/ObservedCodec.js} +0 -0
  196. /package/lib/{ObservedIceCandidate.js → webrtc/ObservedIceCandidate.js} +0 -0
  197. /package/lib/{ObservedInboundRtp.js → webrtc/ObservedInboundRtp.js} +0 -0
  198. /package/lib/{ObservedMediaPlayout.js → webrtc/ObservedMediaPlayout.js} +0 -0
  199. /package/lib/{ObservedMediaSource.js → webrtc/ObservedMediaSource.js} +0 -0
  200. /package/lib/{ObservedOutboundRtp.js → webrtc/ObservedOutboundRtp.js} +0 -0
  201. /package/lib/{ObservedPeerConnectionTransport.js → webrtc/ObservedPeerConnectionTransport.js} +0 -0
  202. /package/lib/{ObservedRemoteInboundRtp.js → webrtc/ObservedRemoteInboundRtp.js} +0 -0
  203. /package/lib/{ObservedRemoteOutboundRtp.js → webrtc/ObservedRemoteOutboundRtp.js} +0 -0
  204. /package/src/{utils → updaters}/CallUpdater.ts +0 -0
package/lib/Observer.d.ts CHANGED
@@ -1,17 +1,28 @@
1
1
  /// <reference types="node" />
2
- import { Middleware, MiddlewareProcessor } from './common/Middleware';
3
2
  import { ObservedCall, ObservedCallSettings } from './ObservedCall';
4
3
  import { EventEmitter } from 'events';
5
- import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat } from './schema/ClientSample';
4
+ import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat, ClientSample } from './schema/ClientSample';
6
5
  import { ObservedClient } from './ObservedClient';
6
+ import { ObservedTURN } from './ObservedTURN';
7
+ import { Detectors } from './detectors/Detectors';
8
+ import { Updater } from './updaters/Updater';
9
+ import { ObserverEventMonitor } from './ObserverEventMonitor';
7
10
  export type ObserverEvents = {
11
+ 'client-event': [ObservedClient, ClientEvent];
12
+ 'call-updated': [ObservedCall];
13
+ 'client-issue': [ObservedClient, ClientIssue];
14
+ 'client-metadata': [ObservedClient, ClientMetaData];
15
+ 'client-extension-stats': [ObservedClient, ExtensionStat];
8
16
  'newcall': [ObservedCall];
17
+ 'update': [];
9
18
  'close': [];
10
19
  };
11
- export type ProcessorInputContext<T> = {
12
- call: ObservedCall;
13
- client: ObservedClient;
14
- data: T;
20
+ export type ObserverConfig<AppData extends Record<string, unknown> = Record<string, unknown>> = {
21
+ updatePolicy?: 'update-on-any-call-updated' | 'update-when-all-call-updated' | 'update-on-interval';
22
+ updateIntervalInMs?: number;
23
+ defaultCallUpdatePolicy?: ObservedCallSettings['updatePolicy'];
24
+ defaultCallUpdateIntervalInMs?: number;
25
+ appData?: AppData;
15
26
  };
16
27
  export declare interface Observer {
17
28
  on<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this;
@@ -19,26 +30,35 @@ export declare interface Observer {
19
30
  once<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this;
20
31
  emit<U extends keyof ObserverEvents>(event: U, ...args: ObserverEvents[U]): boolean;
21
32
  }
22
- export declare class Observer extends EventEmitter {
23
- readonly processors: {
24
- events: MiddlewareProcessor<ProcessorInputContext<ClientEvent>>;
25
- metaData: MiddlewareProcessor<ProcessorInputContext<ClientMetaData>>;
26
- issues: MiddlewareProcessor<ProcessorInputContext<ClientIssue>>;
27
- extensionStats: MiddlewareProcessor<ProcessorInputContext<ExtensionStat>>;
28
- };
33
+ export declare class Observer<AppData extends Record<string, unknown> = Record<string, unknown>> extends EventEmitter {
34
+ readonly config: ObserverConfig<AppData>;
35
+ readonly detectors: Detectors;
36
+ readonly observedTURN: ObservedTURN;
29
37
  readonly observedCalls: Map<string, ObservedCall<Record<string, unknown>>>;
38
+ updater?: Updater;
30
39
  closed: boolean;
31
- constructor();
40
+ totalAddedCall: number;
41
+ totalRemovedCall: number;
42
+ totalRttLt50Measurements: number;
43
+ totalRttLt150Measurements: number;
44
+ totalRttLt300Measurements: number;
45
+ totalRttGtOrEq300Measurements: number;
46
+ totalClientIssues: number;
47
+ numberOfClientsUsingTurn: number;
48
+ numberOfClients: number;
49
+ numberOfInboundRtpStreams: number;
50
+ numberOfOutboundRtpStreams: number;
51
+ numberOfDataChannels: number;
52
+ numberOfPeerConnections: number;
53
+ get numberOfCalls(): number;
54
+ constructor(config?: ObserverConfig<AppData>);
55
+ get appData(): AppData | undefined;
32
56
  getObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(callId: string): ObservedCall<T> | undefined;
33
57
  createObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(settings: ObservedCallSettings<T>): ObservedCall<T>;
34
- addClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer;
35
- removeClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer;
36
- addClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer;
37
- removeClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer;
38
- addClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer;
39
- removeClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer;
40
- addExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer;
41
- removeExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer;
42
58
  close(): void;
59
+ accept(sample: ClientSample): void;
60
+ update(): void;
61
+ private _onObservedCallUpdated;
62
+ createEventMonitor<CTX = unknown>(ctx?: CTX): ObserverEventMonitor<CTX>;
43
63
  }
44
64
  //# sourceMappingURL=Observer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"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"}
package/lib/Observer.js CHANGED
@@ -2,22 +2,69 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Observer = void 0;
4
4
  const logger_1 = require("./common/logger");
5
- const Middleware_1 = require("./common/Middleware");
6
5
  const ObservedCall_1 = require("./ObservedCall");
7
6
  const events_1 = require("events");
7
+ const ObservedTURN_1 = require("./ObservedTURN");
8
+ const Detectors_1 = require("./detectors/Detectors");
9
+ const OnIntervalUpdater_1 = require("./updaters/OnIntervalUpdater");
10
+ const OnAllCallObserverUpdater_1 = require("./updaters/OnAllCallObserverUpdater");
11
+ const OnAnyCallObserverUpdater_1 = require("./updaters/OnAnyCallObserverUpdater");
12
+ const ObserverEventMonitor_1 = require("./ObserverEventMonitor");
13
+ const MediasoupRemoteTrackResolver_1 = require("./utils/MediasoupRemoteTrackResolver");
8
14
  const logger = (0, logger_1.createLogger)('Observer');
9
15
  class Observer extends events_1.EventEmitter {
10
- processors = {
11
- events: new Middleware_1.MiddlewareProcessor(),
12
- metaData: new Middleware_1.MiddlewareProcessor(),
13
- issues: new Middleware_1.MiddlewareProcessor(),
14
- extensionStats: new Middleware_1.MiddlewareProcessor(),
15
- };
16
+ config;
17
+ detectors;
18
+ observedTURN = new ObservedTURN_1.ObservedTURN();
16
19
  observedCalls = new Map();
20
+ updater;
17
21
  closed = false;
18
- constructor() {
22
+ totalAddedCall = 0;
23
+ totalRemovedCall = 0;
24
+ totalRttLt50Measurements = 0;
25
+ totalRttLt150Measurements = 0;
26
+ totalRttLt300Measurements = 0;
27
+ totalRttGtOrEq300Measurements = 0;
28
+ totalClientIssues = 0;
29
+ numberOfClientsUsingTurn = 0;
30
+ numberOfClients = 0;
31
+ numberOfInboundRtpStreams = 0;
32
+ numberOfOutboundRtpStreams = 0;
33
+ numberOfDataChannels = 0;
34
+ numberOfPeerConnections = 0;
35
+ get numberOfCalls() {
36
+ return this.observedCalls.size;
37
+ }
38
+ constructor(config = {
39
+ updatePolicy: 'update-when-all-call-updated',
40
+ updateIntervalInMs: undefined,
41
+ appData: {},
42
+ }) {
19
43
  super();
44
+ this.config = config;
20
45
  this.setMaxListeners(Infinity);
46
+ this.update = this.update.bind(this);
47
+ const currentUpdatePolicy = (config?.updatePolicy) ?? 'update-when-all-call-updated';
48
+ switch (currentUpdatePolicy) {
49
+ case 'update-on-any-call-updated':
50
+ this.updater = new OnAnyCallObserverUpdater_1.OnAnyCallObserverUpdater(this);
51
+ break;
52
+ case 'update-when-all-call-updated':
53
+ this.updater = new OnAllCallObserverUpdater_1.OnAllCallObserverUpdater(this);
54
+ break;
55
+ case 'update-on-interval': {
56
+ const interval = config?.updateIntervalInMs;
57
+ if (!interval) {
58
+ throw new Error('updateIntervalInMs setting in config must be set if updatePolicy is update-on-interval');
59
+ }
60
+ this.updater = new OnIntervalUpdater_1.OnIntervalUpdater(interval, this.update.bind(this));
61
+ break;
62
+ }
63
+ }
64
+ this.detectors = new Detectors_1.Detectors();
65
+ }
66
+ get appData() {
67
+ return this.config.appData;
21
68
  }
22
69
  getObservedCall(callId) {
23
70
  if (this.closed || !this.observedCalls.has(callId))
@@ -28,48 +75,28 @@ class Observer extends events_1.EventEmitter {
28
75
  if (this.closed) {
29
76
  throw new Error('Attempted to create a call source on a closed observer');
30
77
  }
78
+ if (!settings.updatePolicy) {
79
+ settings.updatePolicy = this.config.defaultCallUpdatePolicy;
80
+ settings.updateIntervalInMs = this.config.defaultCallUpdateIntervalInMs;
81
+ }
31
82
  const observedCall = new ObservedCall_1.ObservedCall(settings, this);
83
+ const onCallUpdated = () => this._onObservedCallUpdated(observedCall);
32
84
  if (this.observedCalls.has(observedCall.callId))
33
85
  throw new Error(`Observed Call with id ${observedCall.callId} already exists`);
86
+ if (settings.remoteTrackResolvePolicy === 'mediasoup-sfu') {
87
+ observedCall.remoteTrackResolver = new MediasoupRemoteTrackResolver_1.MediasoupRemoteTrackResolver(observedCall);
88
+ }
34
89
  observedCall.once('close', () => {
35
90
  this.observedCalls.delete(observedCall.callId);
91
+ observedCall.off('update', onCallUpdated);
92
+ ++this.totalRemovedCall;
36
93
  });
37
94
  this.observedCalls.set(observedCall.callId, observedCall);
95
+ observedCall.on('update', onCallUpdated);
96
+ ++this.totalAddedCall;
38
97
  this.emit('newcall', observedCall);
39
98
  return observedCall;
40
99
  }
41
- addClientEventMiddleware(...middlewares) {
42
- this.processors.events.addMiddleware(...middlewares);
43
- return this;
44
- }
45
- removeClientEventMiddleware(...middlewares) {
46
- this.processors.events.removeMiddleware(...middlewares);
47
- return this;
48
- }
49
- addClientMetaDataMiddleware(...middlewares) {
50
- this.processors.metaData.addMiddleware(...middlewares);
51
- return this;
52
- }
53
- removeClientMetaDataMiddleware(...middlewares) {
54
- this.processors.metaData.removeMiddleware(...middlewares);
55
- return this;
56
- }
57
- addClientIssueMiddleware(...middlewares) {
58
- this.processors.issues.addMiddleware(...middlewares);
59
- return this;
60
- }
61
- removeClientIssueMiddleware(...middlewares) {
62
- this.processors.issues.removeMiddleware(...middlewares);
63
- return this;
64
- }
65
- addExtensionStatMiddleware(...middlewares) {
66
- this.processors.extensionStats.addMiddleware(...middlewares);
67
- return this;
68
- }
69
- removeExtensionStatMiddleware(...middlewares) {
70
- this.processors.extensionStats.removeMiddleware(...middlewares);
71
- return this;
72
- }
73
100
  close() {
74
101
  if (this.closed) {
75
102
  return logger.debug('Attempted to close twice');
@@ -78,5 +105,53 @@ class Observer extends events_1.EventEmitter {
78
105
  this.observedCalls.forEach((call) => call.close());
79
106
  this.emit('close');
80
107
  }
108
+ accept(sample) {
109
+ if (this.closed)
110
+ return;
111
+ if (!sample.callId)
112
+ return logger.warn('Received sample without callId. %o', sample);
113
+ if (!sample.clientId)
114
+ return logger.warn('Received sample without clientId %o', sample);
115
+ const call = this.getObservedCall(sample.callId) ?? this.createObservedCall({
116
+ callId: sample.callId,
117
+ updateIntervalInMs: this.config.defaultCallUpdateIntervalInMs,
118
+ updatePolicy: this.config.defaultCallUpdatePolicy,
119
+ });
120
+ const client = call.getObservedClient(sample.clientId) ?? call.createObservedClient({
121
+ clientId: sample.clientId,
122
+ });
123
+ client.accept(sample);
124
+ }
125
+ update() {
126
+ if (this.closed) {
127
+ return;
128
+ }
129
+ this.numberOfInboundRtpStreams = 0;
130
+ this.numberOfOutboundRtpStreams = 0;
131
+ this.numberOfPeerConnections = 0;
132
+ this.numberOfDataChannels = 0;
133
+ this.numberOfClients = 0;
134
+ this.numberOfClientsUsingTurn = 0;
135
+ for (const call of this.observedCalls.values()) {
136
+ this.numberOfInboundRtpStreams += call.numberOfInboundRtpStreams;
137
+ this.numberOfOutboundRtpStreams += call.numberOfOutboundRtpStreams;
138
+ this.numberOfPeerConnections += call.numberOfPeerConnections;
139
+ this.numberOfDataChannels += call.numberOfDataChannels;
140
+ this.numberOfClients += call.numberOfClients;
141
+ this.numberOfClientsUsingTurn += call.clientsUsedTurn.size;
142
+ }
143
+ this.observedTURN.update();
144
+ this.emit('update');
145
+ }
146
+ _onObservedCallUpdated(call) {
147
+ this.totalRttLt50Measurements += call.deltaRttLt50Measurements;
148
+ this.totalRttLt150Measurements += call.deltaRttLt150Measurements;
149
+ this.totalRttLt300Measurements += call.deltaRttLt300Measurements;
150
+ this.totalRttGtOrEq300Measurements += call.deltaRttGtOrEq300Measurements;
151
+ this.totalClientIssues += call.deltaNumberOfIssues;
152
+ }
153
+ createEventMonitor(ctx) {
154
+ return new ObserverEventMonitor_1.ObserverEventMonitor(this, ctx ?? {});
155
+ }
81
156
  }
82
157
  exports.Observer = Observer;
@@ -0,0 +1,138 @@
1
+ import { ObservedCall } from './ObservedCall';
2
+ import { ObservedCertificate } from './webrtc/ObservedCertificate';
3
+ import { ObservedClient } from './ObservedClient';
4
+ import { ObservedCodec } from './webrtc/ObservedCodec';
5
+ import { ObservedDataChannel } from './webrtc/ObservedDataChannel';
6
+ import { ObservedIceCandidate } from './webrtc/ObservedIceCandidate';
7
+ import { ObservedIceCandidatePair } from './webrtc/ObservedIceCandidatePair';
8
+ import { ObservedIceTransport } from './webrtc/ObservedIceTransport';
9
+ import { ObservedInboundRtp } from './webrtc/ObservedInboundRtp';
10
+ import { ObservedInboundTrack } from './webrtc/ObservedInboundTrack';
11
+ import { ObservedMediaPlayout } from './webrtc/ObservedMediaPlayout';
12
+ import { ObservedMediaSource } from './webrtc/ObservedMediaSource';
13
+ import { ObservedOutboundRtp } from './webrtc/ObservedOutboundRtp';
14
+ import { ObservedOutboundTrack } from './webrtc/ObservedOutboundTrack';
15
+ import { ObservedPeerConnection } from './webrtc/ObservedPeerConnection';
16
+ import { Observer } from './Observer';
17
+ import { ClientEvent, ClientIssue, ClientMetaData, ClientSample, ExtensionStat } from './schema/ClientSample';
18
+ export declare class ObserverEventMonitor<Context> {
19
+ readonly observer: Observer;
20
+ readonly context: Context;
21
+ constructor(observer: Observer, context: Context);
22
+ onCallAdded?: (call: ObservedCall, ctx: Context) => void;
23
+ onCallRemoved?: (call: ObservedCall, ctx: Context) => void;
24
+ onCallEmpty?: (call: ObservedCall, ctx: Context) => void;
25
+ onCallNotEmpty?: (call: ObservedCall, ctx: Context) => void;
26
+ onCallUpdated?: (call: ObservedCall, ctx: Context) => void;
27
+ onClientAdded?: (client: ObservedClient, ctx: Context) => void;
28
+ onClientClosed?: (client: ObservedClient, ctx: Context) => void;
29
+ onClientRejoined?: (client: ObservedClient, ctx: Context) => void;
30
+ onClientIssue?: (observedClent: ObservedClient, issue: ClientIssue, ctx: Context) => void;
31
+ onClientMetadata?: (observedClient: ObservedClient, metadata: ClientMetaData, ctx: Context) => void;
32
+ onClientExtensionStats?: (observedClient: ObservedClient, extensionStats: ExtensionStat, ctx: Context) => void;
33
+ onClientJoined?: (client: ObservedClient, ctx: Context) => void;
34
+ onClientLeft?: (client: ObservedClient, ctx: Context) => void;
35
+ onClientUserMediaError?: (observedClient: ObservedClient, error: string, ctx: Context) => void;
36
+ onClientUsingTurn?: (client: ObservedClient, usingTurn: boolean, ctx: Context) => void;
37
+ onClientUpdated?: (client: ObservedClient, sample: ClientSample, ctx: Context) => void;
38
+ onClientEvent?: (client: ObservedClient, event: ClientEvent, ctx: Context) => void;
39
+ onPeerConnectionAdded?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
40
+ onPeerConnectionRemoved?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
41
+ onSelectedCandidatePairChanged?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
42
+ onIceGatheringStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
43
+ onIceConnectionStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
44
+ onConnectionStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
45
+ onCertificateAdded?: (certificate: ObservedCertificate, ctx: Context) => void;
46
+ onCertificateRemoved?: (certificate: ObservedCertificate, ctx: Context) => void;
47
+ onCertificateUpdated?: (certificate: ObservedCertificate, ctx: Context) => void;
48
+ onInboundTrackAdded?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
49
+ onInboundTrackRemoved?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
50
+ onInboundTrackUpdated?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
51
+ onInboundTrackMuted?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
52
+ onInboundTrackUnmuted?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
53
+ onOutboundTrackAdded?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
54
+ onOutboundTrackRemoved?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
55
+ onOutboundTrackUpdated?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
56
+ onOutboundTrackMuted?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
57
+ onOutboundTrackUnmuted?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
58
+ onInboundRtpAdded?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
59
+ onInboundRtpRemoved?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
60
+ onInboundRtpUpdated?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
61
+ onOutboundRtpAdded?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
62
+ onOutboundRtpRemoved?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
63
+ onOutboundRtpUpdated?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
64
+ onDataChannelAdded?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
65
+ onDataChannelRemoved?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
66
+ onDataChannelUpdated?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
67
+ onAddedIceTransport?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
68
+ onRemovedIceTransport?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
69
+ onIceTransportUpdated?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
70
+ onIceCandidateAdded?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
71
+ onIceCandidateRemoved?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
72
+ onIceCandidateUpdated?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
73
+ onAddedIceCandidatePair?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
74
+ onRemovedIceCandidatePair?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
75
+ onIceCandidatePairUpdated?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
76
+ onAddedMediaCodec?: (codec: ObservedCodec, ctx: Context) => void;
77
+ onRemovedMediaCodec?: (codec: ObservedCodec, ctx: Context) => void;
78
+ onMediaCodecUpdated?: (codec: ObservedCodec, ctx: Context) => void;
79
+ onAddedMediaPlayout?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
80
+ onRemovedMediaPlayout?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
81
+ onMediaPlayoutUpdated?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
82
+ onMediaSourceAdded?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
83
+ onMediaSourceRemoved?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
84
+ onMediaSourceUpdated?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
85
+ private _onCallAdded;
86
+ private _onClientAdded;
87
+ private _onClientRejoined;
88
+ private _onPeerConnconnectionAdded;
89
+ private _onPeerConnectionRemoved;
90
+ private _onCertificateAdded;
91
+ private _onCertificateRemoved;
92
+ private _onCertificateUpdated;
93
+ private _onInboundTrackAdded;
94
+ private _onInboundTrackRemoved;
95
+ private _onInboundTrackUpdated;
96
+ private _onOutboundTrackMuted;
97
+ private _onOutboundTrackUnmuted;
98
+ private _onOutboundTrackAdded;
99
+ private _onOutboundTrackRemoved;
100
+ private _onOutboundTrackUpdated;
101
+ private _onInboundTrackMuted;
102
+ private _onInboundTrackUnmuted;
103
+ private _onInboundRtpAdded;
104
+ private _onInboundRtpRemoved;
105
+ private _onInboundRtpUpdated;
106
+ private _onOutboundRtpAdded;
107
+ private _onOutboundRtpRemoved;
108
+ private _onOutboundRtpUpdated;
109
+ private _onDataChannelAdded;
110
+ private _onDataChannelRemoved;
111
+ private _onDataChannelUpdated;
112
+ private _onAddedIceTransport;
113
+ private _onRemovedIceTransport;
114
+ private _onIceTransportUpdated;
115
+ private _onIceCandidateAdded;
116
+ private _onIceCandidateRemoved;
117
+ private _onIceCandidateUpdated;
118
+ private _onAddedIceCandidatePair;
119
+ private _onRemovedIceCandidatePair;
120
+ private _onIceCandidatePairUpdated;
121
+ private _onAddedMediaCodec;
122
+ private _onRemovedMediaCodec;
123
+ private _onMediaCodecUpdated;
124
+ private _onAddedMediaPlayout;
125
+ private _onRemovedMediaPlayout;
126
+ private _onMediaPlayoutUpdated;
127
+ private _onMediaSourceAdded;
128
+ private _onMediaSourceRemoved;
129
+ private _onMediaSourceUpdated;
130
+ private _onClientIssue;
131
+ private _onClientMetadata;
132
+ private _onClientExtensionStats;
133
+ private _onClientJoined;
134
+ private _onClientLeft;
135
+ private _onUserMediaError;
136
+ private _onUsingTurn;
137
+ }
138
+ //# sourceMappingURL=ObserverEventMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObserverEventMonitor.d.ts","sourceRoot":"","sources":["../src/ObserverEventMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE9G,qBAAa,oBAAoB,CAAC,OAAO;aAEvB,QAAQ,EAAE,QAAQ;aAClB,OAAO,EAAE,OAAO;gBADhB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO;IA+D1B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAE3D,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAClE,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1F,gBAAgB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACpG,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/G,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/F,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACvF,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACvF,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnF,qBAAqB,CAAC,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACvF,uBAAuB,CAAC,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACzF,8BAA8B,CAAC,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChG,yBAAyB,CAAC,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3F,0BAA0B,CAAC,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5F,uBAAuB,CAAC,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzF,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9E,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChF,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEhF,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnF,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACpF,sBAAsB,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACtF,sBAAsB,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACtF,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACpF,sBAAsB,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtF,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3E,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7E,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9E,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChF,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEhF,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9E,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChF,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEhF,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnF,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnF,uBAAuB,CAAC,EAAE,CAAC,aAAa,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1F,yBAAyB,CAAC,EAAE,CAAC,aAAa,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5F,yBAAyB,CAAC,EAAE,CAAC,aAAa,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAE5F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjE,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnE,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnF,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9E,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChF,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvF,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,0BAA0B;IAgIlC,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;CAGpB"}