@memberjunction/server 6.2.0-edge.2 → 6.2.0-edge.4
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/README.md +30 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/agentSessions/BridgeHostInstance.d.ts +25 -0
- package/dist/agentSessions/BridgeHostInstance.d.ts.map +1 -0
- package/dist/agentSessions/BridgeHostInstance.js +30 -0
- package/dist/agentSessions/BridgeHostInstance.js.map +1 -0
- package/dist/agentSessions/HostInstance.d.ts +75 -11
- package/dist/agentSessions/HostInstance.d.ts.map +1 -1
- package/dist/agentSessions/HostInstance.js +99 -28
- package/dist/agentSessions/HostInstance.js.map +1 -1
- package/dist/agentSessions/ReturningVisitorRecap.d.ts.map +1 -1
- package/dist/agentSessions/ReturningVisitorRecap.js +7 -3
- package/dist/agentSessions/ReturningVisitorRecap.js.map +1 -1
- package/dist/agentSessions/SessionJanitor.d.ts +173 -25
- package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
- package/dist/agentSessions/SessionJanitor.js +452 -54
- package/dist/agentSessions/SessionJanitor.js.map +1 -1
- package/dist/agentSessions/SessionManager.d.ts +43 -2
- package/dist/agentSessions/SessionManager.d.ts.map +1 -1
- package/dist/agentSessions/SessionManager.js +99 -8
- package/dist/agentSessions/SessionManager.js.map +1 -1
- package/dist/agentSessions/SessionRunIDVerifier.d.ts +63 -0
- package/dist/agentSessions/SessionRunIDVerifier.d.ts.map +1 -0
- package/dist/agentSessions/SessionRunIDVerifier.js +129 -0
- package/dist/agentSessions/SessionRunIDVerifier.js.map +1 -0
- package/dist/agentSessions/index.d.ts +2 -0
- package/dist/agentSessions/index.d.ts.map +1 -1
- package/dist/agentSessions/index.js +10 -3
- package/dist/agentSessions/index.js.map +1 -1
- package/dist/auth/actionAuthorization.d.ts +40 -0
- package/dist/auth/actionAuthorization.d.ts.map +1 -0
- package/dist/auth/actionAuthorization.js +94 -0
- package/dist/auth/actionAuthorization.js.map +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.js +6 -3
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
- package/dist/auth/newUsers.d.ts +10 -0
- package/dist/auth/newUsers.d.ts.map +1 -1
- package/dist/auth/newUsers.js +80 -11
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/config.d.ts +4567 -71
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +246 -3
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +8 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +25 -34
- package/dist/context.js.map +1 -1
- package/dist/generated/graphql-schemas/__mj.d.ts +1073 -10
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +9188 -3649
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.js +3 -3
- package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +62 -6
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +179 -35
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +4 -0
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +37 -1
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +214 -159
- package/dist/index.js.map +1 -1
- package/dist/isolatedProvider.d.ts +20 -0
- package/dist/isolatedProvider.d.ts.map +1 -0
- package/dist/isolatedProvider.js +22 -0
- package/dist/isolatedProvider.js.map +1 -0
- package/dist/postgresqlCompat.d.ts +8 -0
- package/dist/postgresqlCompat.d.ts.map +1 -0
- package/dist/postgresqlCompat.js +19 -0
- package/dist/postgresqlCompat.js.map +1 -0
- package/dist/postgresqlPoolSettings.d.ts +108 -0
- package/dist/postgresqlPoolSettings.d.ts.map +1 -0
- package/dist/postgresqlPoolSettings.js +134 -0
- package/dist/postgresqlPoolSettings.js.map +1 -0
- package/dist/realtimeProxy/RealtimeProxyServer.d.ts +44 -4
- package/dist/realtimeProxy/RealtimeProxyServer.d.ts.map +1 -1
- package/dist/realtimeProxy/RealtimeProxyServer.js +121 -16
- package/dist/realtimeProxy/RealtimeProxyServer.js.map +1 -1
- package/dist/realtimeProxy/RealtimeRelayTunnel.d.ts +171 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.d.ts.map +1 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.js +532 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.js.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.d.ts +148 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.js +191 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.js.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts +66 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js +138 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js.map +1 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts +38 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.js +98 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.js.map +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts +61 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts.map +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.js +149 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.js.map +1 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.d.ts +57 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.d.ts.map +1 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.js +69 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.js.map +1 -0
- package/dist/realtimeSessions/index.d.ts +17 -0
- package/dist/realtimeSessions/index.d.ts.map +1 -0
- package/dist/realtimeSessions/index.js +17 -0
- package/dist/realtimeSessions/index.js.map +1 -0
- package/dist/realtimeSessions/sessionAccess.d.ts +86 -0
- package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -0
- package/dist/realtimeSessions/sessionAccess.js +90 -0
- package/dist/realtimeSessions/sessionAccess.js.map +1 -0
- package/dist/realtimeSessions/sessionConfigStamps.d.ts +70 -0
- package/dist/realtimeSessions/sessionConfigStamps.d.ts.map +1 -0
- package/dist/realtimeSessions/sessionConfigStamps.js +93 -0
- package/dist/realtimeSessions/sessionConfigStamps.js.map +1 -0
- package/dist/realtimeSessions/subscriptionAuthorization.d.ts +65 -0
- package/dist/realtimeSessions/subscriptionAuthorization.d.ts.map +1 -0
- package/dist/realtimeSessions/subscriptionAuthorization.js +71 -0
- package/dist/realtimeSessions/subscriptionAuthorization.js.map +1 -0
- package/dist/realtimeSessions/verificationCore.d.ts +243 -0
- package/dist/realtimeSessions/verificationCore.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationCore.js +356 -0
- package/dist/realtimeSessions/verificationCore.js.map +1 -0
- package/dist/realtimeSessions/verificationPages.d.ts +66 -0
- package/dist/realtimeSessions/verificationPages.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationPages.js +110 -0
- package/dist/realtimeSessions/verificationPages.js.map +1 -0
- package/dist/realtimeSessions/verificationPolicy.d.ts +147 -0
- package/dist/realtimeSessions/verificationPolicy.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationPolicy.js +249 -0
- package/dist/realtimeSessions/verificationPolicy.js.map +1 -0
- package/dist/realtimeSessions/verificationWorkflow.d.ts +263 -0
- package/dist/realtimeSessions/verificationWorkflow.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationWorkflow.js +435 -0
- package/dist/realtimeSessions/verificationWorkflow.js.map +1 -0
- package/dist/realtimeWidget/widgetGuestElevation.d.ts +20 -2
- package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js +31 -2
- package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts +31 -5
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +75 -14
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts +35 -17
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +92 -166
- package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
- package/dist/resolvers/CacheStatsResolver.d.ts +27 -0
- package/dist/resolvers/CacheStatsResolver.d.ts.map +1 -1
- package/dist/resolvers/CacheStatsResolver.js +113 -2
- package/dist/resolvers/CacheStatsResolver.js.map +1 -1
- package/dist/resolvers/ClientToolRequestResolver.d.ts +4 -2
- package/dist/resolvers/ClientToolRequestResolver.d.ts.map +1 -1
- package/dist/resolvers/ClientToolRequestResolver.js +28 -10
- package/dist/resolvers/ClientToolRequestResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts +7 -23
- package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +9 -47
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts +12 -1
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js +83 -2
- package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +9 -0
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/HumanHandoffResolver.d.ts +107 -0
- package/dist/resolvers/HumanHandoffResolver.d.ts.map +1 -0
- package/dist/resolvers/HumanHandoffResolver.js +330 -0
- package/dist/resolvers/HumanHandoffResolver.js.map +1 -0
- package/dist/resolvers/MCPResolver.d.ts.map +1 -1
- package/dist/resolvers/MCPResolver.js +9 -4
- package/dist/resolvers/MCPResolver.js.map +1 -1
- package/dist/resolvers/MeetingResolver.d.ts +69 -0
- package/dist/resolvers/MeetingResolver.d.ts.map +1 -0
- package/dist/resolvers/MeetingResolver.js +381 -0
- package/dist/resolvers/MeetingResolver.js.map +1 -0
- package/dist/resolvers/RealtimeBridgeResolver.d.ts +88 -3
- package/dist/resolvers/RealtimeBridgeResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.js +352 -12
- package/dist/resolvers/RealtimeBridgeResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +156 -108
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +395 -293
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/RealtimeSessionEventsResolver.d.ts +61 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.d.ts.map +1 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.js +130 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.js.map +1 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.d.ts +85 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.d.ts.map +1 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.js +188 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.js.map +1 -0
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts +2 -0
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js +5 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +10 -0
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +68 -11
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +12 -11
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +6 -2
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts +2 -0
- package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +23 -6
- package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
- package/dist/resolvers/UserAvatarResolver.d.ts +16 -0
- package/dist/resolvers/UserAvatarResolver.d.ts.map +1 -0
- package/dist/resolvers/UserAvatarResolver.js +124 -0
- package/dist/resolvers/UserAvatarResolver.js.map +1 -0
- package/dist/resolvers/UserResolver.d.ts.map +1 -1
- package/dist/resolvers/UserResolver.js +2 -17
- package/dist/resolvers/UserResolver.js.map +1 -1
- package/dist/resolvers/adhocTimeout.d.ts +7 -0
- package/dist/resolvers/adhocTimeout.d.ts.map +1 -0
- package/dist/resolvers/adhocTimeout.js +12 -0
- package/dist/resolvers/adhocTimeout.js.map +1 -0
- package/dist/resolvers/agentVisionConsentAudit.d.ts +37 -0
- package/dist/resolvers/agentVisionConsentAudit.d.ts.map +1 -0
- package/dist/resolvers/agentVisionConsentAudit.js +63 -0
- package/dist/resolvers/agentVisionConsentAudit.js.map +1 -0
- package/dist/resolvers/avatarInputValidation.d.ts +40 -0
- package/dist/resolvers/avatarInputValidation.d.ts.map +1 -0
- package/dist/resolvers/avatarInputValidation.js +97 -0
- package/dist/resolvers/avatarInputValidation.js.map +1 -0
- package/dist/resolvers/currentUserRoles.d.ts +29 -0
- package/dist/resolvers/currentUserRoles.d.ts.map +1 -1
- package/dist/resolvers/currentUserRoles.js +30 -0
- package/dist/resolvers/currentUserRoles.js.map +1 -1
- package/dist/resolvers/meetings/index.d.ts +5 -0
- package/dist/resolvers/meetings/index.d.ts.map +1 -0
- package/dist/resolvers/meetings/index.js +5 -0
- package/dist/resolvers/meetings/index.js.map +1 -0
- package/dist/resolvers/meetings/meetingHelpers.d.ts +17 -0
- package/dist/resolvers/meetings/meetingHelpers.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingHelpers.js +212 -0
- package/dist/resolvers/meetings/meetingHelpers.js.map +1 -0
- package/dist/resolvers/meetings/meetingMutations.d.ts +18 -0
- package/dist/resolvers/meetings/meetingMutations.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingMutations.js +439 -0
- package/dist/resolvers/meetings/meetingMutations.js.map +1 -0
- package/dist/resolvers/meetings/meetingQueries.d.ts +7 -0
- package/dist/resolvers/meetings/meetingQueries.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingQueries.js +113 -0
- package/dist/resolvers/meetings/meetingQueries.js.map +1 -0
- package/dist/resolvers/meetings/meetingTypes.d.ts +89 -0
- package/dist/resolvers/meetings/meetingTypes.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingTypes.js +345 -0
- package/dist/resolvers/meetings/meetingTypes.js.map +1 -0
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +8 -5
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/services/TaskGraphActionRunner.d.ts +8 -0
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphActionRunner.js +27 -1
- package/dist/services/TaskGraphActionRunner.js.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.d.ts +4 -3
- package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.js +13 -7
- package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
- package/dist/services/WorkQueueHostService.d.ts +36 -0
- package/dist/services/WorkQueueHostService.d.ts.map +1 -0
- package/dist/services/WorkQueueHostService.js +97 -0
- package/dist/services/WorkQueueHostService.js.map +1 -0
- package/dist/services/workQueueConfig.d.ts +103 -0
- package/dist/services/workQueueConfig.d.ts.map +1 -0
- package/dist/services/workQueueConfig.js +48 -0
- package/dist/services/workQueueConfig.js.map +1 -0
- package/dist/sharedCache.d.ts +105 -0
- package/dist/sharedCache.d.ts.map +1 -0
- package/dist/sharedCache.js +276 -0
- package/dist/sharedCache.js.map +1 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +97 -94
- package/src/__tests__/ActionResolver.authorization.test.ts +353 -0
- package/src/__tests__/AdhocQueryResolver.bugs.test.ts +14 -35
- package/src/__tests__/AdhocQueryResolver.pagination.test.ts +6 -2
- package/src/__tests__/AdhocQueryResolver.scopeGuard.test.ts +3 -3
- package/src/__tests__/AdhocQueryResolver.sqlAuthorizer.test.ts +104 -0
- package/src/__tests__/BridgeHostInstance.test.ts +232 -0
- package/src/__tests__/ClientToolRequestResolver.test.ts +116 -0
- package/src/__tests__/EntityRecordNameResolver.fieldSecurity.test.ts +27 -72
- package/src/__tests__/FetchEntityVectorsResolver.test.ts +285 -0
- package/src/__tests__/HostInstance.test.ts +84 -0
- package/src/__tests__/HumanHandoffResolver.test.ts +250 -0
- package/src/__tests__/MeetingResolver.test.ts +448 -0
- package/src/__tests__/RealtimeBridgeResolver.test.ts +651 -4
- package/src/__tests__/RealtimeClientSessionResolver.configTamper.test.ts +383 -0
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +682 -58
- package/src/__tests__/RealtimeProxyServer.test.ts +16 -1
- package/src/__tests__/RealtimeRelay.test.ts +876 -0
- package/src/__tests__/RemoteBrowserActionResolver.goalRunLink.test.ts +129 -0
- package/src/__tests__/ResolverBase.adhocReadScope.test.ts +96 -0
- package/src/__tests__/ResolverBase.aggregateScreen.test.ts +174 -0
- package/src/__tests__/ResolverBase.clientOldValues.test.ts +6 -3
- package/src/__tests__/ResolverBase.filterEscaping.test.ts +21 -2
- package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +291 -0
- package/src/__tests__/ReturningVisitorRecap.test.ts +115 -0
- package/src/__tests__/RunAIAgentResolver.branch.test.ts +169 -0
- package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +4 -4
- package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +166 -0
- package/src/__tests__/RunTemplateResolver.test.ts +132 -0
- package/src/__tests__/RunViewResolver.cacheCheckForwarding.test.ts +63 -0
- package/src/__tests__/SessionJanitor.test.ts +845 -18
- package/src/__tests__/SessionManager.test.ts +213 -17
- package/src/__tests__/SessionRunIDVerifier.test.ts +251 -0
- package/src/__tests__/SyncRolesUsersResolver.userRoles.test.ts +97 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +41 -0
- package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +50 -3
- package/src/__tests__/UserAvatarResolver.test.ts +255 -0
- package/src/__tests__/UserResolver.currentUser.test.ts +16 -1
- package/src/__tests__/WorkQueueHostService.test.ts +133 -0
- package/src/__tests__/actionAuthorization.test.ts +130 -0
- package/src/__tests__/adhocTimeoutClamp.test.ts +26 -0
- package/src/__tests__/agentVisionConsentAudit.test.ts +118 -0
- package/src/__tests__/avatarInputValidation.test.ts +160 -0
- package/src/__tests__/isolatedProviderTransactions.test.ts +169 -0
- package/src/__tests__/magicLinkService.consume.test.ts +6 -0
- package/src/__tests__/magicLinkService.provisionLog.test.ts +5 -0
- package/src/__tests__/newUsers.template.test.ts +151 -0
- package/src/__tests__/newUsers.test.ts +74 -5
- package/src/__tests__/orphanedConversationDetailReconciler.test.ts +17 -2
- package/src/__tests__/postgresqlPoolSettings.test.ts +131 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionEventService.test.ts +201 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionEventsResolver.test.ts +215 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionVerificationResolver.test.ts +102 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionVerificationService.test.ts +349 -0
- package/src/__tests__/realtimeSessions/RealtimeVerifyRouter.test.ts +131 -0
- package/src/__tests__/realtimeSessions/SlidingWindowRateLimiter.test.ts +56 -0
- package/src/__tests__/realtimeSessions/helpers.ts +4 -0
- package/src/__tests__/realtimeSessions/sessionAccess.test.ts +129 -0
- package/src/__tests__/realtimeSessions/sessionConfigStamps.test.ts +124 -0
- package/src/__tests__/realtimeSessions/verificationCore.test.ts +355 -0
- package/src/__tests__/realtimeSessions/verificationPages.test.ts +84 -0
- package/src/__tests__/realtimeSessions/verificationPolicy.test.ts +226 -0
- package/src/__tests__/realtimeSessions/verificationWorkflow.test.ts +633 -0
- package/src/__tests__/resolverBase.fls.test.ts +87 -4
- package/src/__tests__/serverExtensionReservedRoots.test.ts +2 -0
- package/src/__tests__/sharedCache.test.ts +310 -0
- package/src/__tests__/translateBracketsToPG.test.ts +20 -0
- package/src/__tests__/widgetGuestElevation.test.ts +44 -0
- package/src/agentSessions/BridgeHostInstance.ts +32 -0
- package/src/agentSessions/HostInstance.ts +124 -28
- package/src/agentSessions/ReturningVisitorRecap.ts +7 -3
- package/src/agentSessions/SessionJanitor.ts +543 -57
- package/src/agentSessions/SessionManager.ts +125 -25
- package/src/agentSessions/SessionRunIDVerifier.ts +171 -0
- package/src/agentSessions/index.ts +10 -3
- package/src/auth/actionAuthorization.ts +116 -0
- package/src/auth/index.ts +3 -8
- package/src/auth/magicLink/MagicLinkService.ts +6 -3
- package/src/auth/newUsers.ts +99 -11
- package/src/config.ts +255 -3
- package/src/context.ts +26 -34
- package/src/generated/graphql-schemas/__mj.ts +22701 -18838
- package/src/generic/OrphanedConversationDetailReconciler.ts +3 -3
- package/src/generic/ResolverBase.ts +210 -36
- package/src/generic/RunViewResolver.ts +37 -2
- package/src/index.ts +236 -170
- package/src/isolatedProvider.ts +22 -0
- package/src/postgresqlCompat.ts +21 -0
- package/src/postgresqlPoolSettings.ts +213 -0
- package/src/realtimeProxy/RealtimeProxyServer.ts +148 -16
- package/src/realtimeProxy/RealtimeRelayTunnel.ts +645 -0
- package/src/realtimeSessions/README.md +179 -0
- package/src/realtimeSessions/RealtimeSessionEventService.ts +274 -0
- package/src/realtimeSessions/RealtimeSessionVerificationService.ts +167 -0
- package/src/realtimeSessions/RealtimeVerifyRouter.ts +108 -0
- package/src/realtimeSessions/SessionVerificationPortsBase.ts +189 -0
- package/src/realtimeSessions/SlidingWindowRateLimiter.ts +92 -0
- package/src/realtimeSessions/index.ts +16 -0
- package/src/realtimeSessions/sessionAccess.ts +141 -0
- package/src/realtimeSessions/sessionConfigStamps.ts +123 -0
- package/src/realtimeSessions/subscriptionAuthorization.ts +116 -0
- package/src/realtimeSessions/verificationCore.ts +502 -0
- package/src/realtimeSessions/verificationPages.ts +149 -0
- package/src/realtimeSessions/verificationPolicy.ts +321 -0
- package/src/realtimeSessions/verificationWorkflow.ts +702 -0
- package/src/realtimeWidget/widgetGuestElevation.ts +34 -2
- package/src/resolvers/ActionResolver.ts +84 -21
- package/src/resolvers/AdhocQueryResolver.ts +105 -187
- package/src/resolvers/CacheStatsResolver.ts +89 -2
- package/src/resolvers/ClientToolRequestResolver.ts +25 -7
- package/src/resolvers/EntityRecordNameResolver.ts +9 -51
- package/src/resolvers/FetchEntityVectorsResolver.ts +97 -2
- package/src/resolvers/GetDataResolver.ts +10 -0
- package/src/resolvers/HumanHandoffResolver.ts +312 -0
- package/src/resolvers/MCPResolver.ts +8 -5
- package/src/resolvers/MeetingResolver.ts +438 -0
- package/src/resolvers/RealtimeBridgeResolver.ts +385 -19
- package/src/resolvers/RealtimeClientSessionResolver.ts +503 -344
- package/src/resolvers/RealtimeSessionEventsResolver.ts +133 -0
- package/src/resolvers/RealtimeSessionVerificationResolver.ts +174 -0
- package/src/resolvers/RemoteBrowserActionResolver.ts +11 -1
- package/src/resolvers/RunAIAgentResolver.ts +78 -11
- package/src/resolvers/RunTemplateResolver.ts +13 -12
- package/src/resolvers/SyncDataResolver.ts +6 -2
- package/src/resolvers/SyncRolesUsersResolver.ts +24 -6
- package/src/resolvers/UserAvatarResolver.ts +111 -0
- package/src/resolvers/UserResolver.ts +2 -16
- package/src/resolvers/adhocTimeout.ts +12 -0
- package/src/resolvers/agentVisionConsentAudit.ts +82 -0
- package/src/resolvers/avatarInputValidation.ts +123 -0
- package/src/resolvers/currentUserRoles.ts +32 -1
- package/src/resolvers/meetings/index.ts +4 -0
- package/src/resolvers/meetings/meetingHelpers.ts +307 -0
- package/src/resolvers/meetings/meetingMutations.ts +556 -0
- package/src/resolvers/meetings/meetingQueries.ts +172 -0
- package/src/resolvers/meetings/meetingTypes.ts +238 -0
- package/src/rest/ViewOperationsHandler.ts +8 -5
- package/src/services/TaskGraphActionRunner.ts +29 -1
- package/src/services/TaskGraphContinuationDeliverer.ts +13 -7
- package/src/services/WorkQueueHostService.ts +129 -0
- package/src/services/workQueueConfig.ts +52 -0
- package/src/sharedCache.ts +302 -0
- package/src/types.ts +12 -0
- package/dist/resolvers/adhoc-query-helpers.d.ts +0 -33
- package/dist/resolvers/adhoc-query-helpers.d.ts.map +0 -1
- package/dist/resolvers/adhoc-query-helpers.js +0 -50
- package/dist/resolvers/adhoc-query-helpers.js.map +0 -1
- package/src/__tests__/adhoc-query-helpers.test.ts +0 -50
- package/src/resolvers/adhoc-query-helpers.ts +0 -67
|
@@ -12,15 +12,18 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { Resolver, Mutation, Query, Arg, Ctx, ObjectType, InputType, Field } from 'type-graphql';
|
|
14
14
|
import { randomUUID } from 'crypto';
|
|
15
|
-
import { LogError, LogStatusEx } from '@memberjunction/core';
|
|
16
|
-
import {
|
|
15
|
+
import { LogError, LogStatusEx, RunView } from '@memberjunction/core';
|
|
16
|
+
import { EscapeSQLString } from '@memberjunction/global';
|
|
17
|
+
import { LiveKitTokenService, LiveKitAgentRoomCoordinator, LiveKitEgressService, LiveKitParticipantService, LiveKitUserIdentity, RoomHandoffEngine, } from '@memberjunction/livekit-room-server';
|
|
17
18
|
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
18
19
|
import { GetReadWriteProvider } from '../util.js';
|
|
19
|
-
import { CreateBridgeRealtimeSession, FinalizeBridgeCoAgentRuns, GetRealtimeModelVoices, CreateBridgeRoomTranscriptSink, RealtimeTurnModeratorDecision } from '@memberjunction/ai-agents';
|
|
20
|
+
import { CreateBridgeRealtimeSession, FinalizeBridgeCoAgentRuns, GetRealtimeModelVoices, CreateBridgeRoomTranscriptSink, RealtimeTurnModeratorDecision, GetBridgeRealtimeRuntime } from '@memberjunction/ai-agents';
|
|
20
21
|
import { AIBridgeEngine } from '@memberjunction/ai-bridge-server';
|
|
21
22
|
import { SessionManager } from '../agentSessions/SessionManager.js';
|
|
22
23
|
import { NotificationEngine } from '@memberjunction/notifications';
|
|
23
24
|
import { RegisterMeetingRecordingFile, CorrelateRecordingStart } from './meetingRecordingRegistration.js';
|
|
25
|
+
import { WriteAgentVisionConsentAudit } from './agentVisionConsentAudit.js';
|
|
26
|
+
import { RoomAuthorizationService } from '@memberjunction/livekit-room-server';
|
|
24
27
|
/**
|
|
25
28
|
* Binds the agent realtime-session factory onto the LiveKit room coordinator's model-session creation seam.
|
|
26
29
|
* Module-load side effect — it runs when MJServer builds its GraphQL schema (which imports this resolver),
|
|
@@ -30,6 +33,34 @@ import { RegisterMeetingRecordingFile, CorrelateRecordingStart } from './meeting
|
|
|
30
33
|
* other. Idempotent (latest-wins).
|
|
31
34
|
*/
|
|
32
35
|
LiveKitAgentRoomCoordinator.Instance.SetSessionFactory(CreateBridgeRealtimeSession);
|
|
36
|
+
/**
|
|
37
|
+
* Binds the turn-taking tool handler seam (same module-load rationale as the factory above). A full-duplex model
|
|
38
|
+
* in a shared room calls `i_am_addressed` / `yield_turn`; the bridge engine owns what those mean, and this installs
|
|
39
|
+
* the engine's handler as the model session runtime's local tool handler (`@memberjunction/ai-agents`).
|
|
40
|
+
*/
|
|
41
|
+
LiveKitAgentRoomCoordinator.Instance.SetTurnToolBinder((session, handler) => {
|
|
42
|
+
const runtime = GetBridgeRealtimeRuntime(session);
|
|
43
|
+
if (!runtime) {
|
|
44
|
+
LogError('[RealtimeBridge] the model session has no bridge runtime; i_am_addressed / yield_turn will not execute for it.');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
runtime.SetLocalToolHandler(handler);
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Binds whether an agent watches meetings (same module-load rationale as the factory above). The coordinator asks per
|
|
51
|
+
* model session; the answer is the agent's `realtime.video.watchMeetings` setting, which the session runtime read from
|
|
52
|
+
* its effective configuration (`@memberjunction/ai-agents`). The coordinator also requires a model that takes video.
|
|
53
|
+
*/
|
|
54
|
+
LiveKitAgentRoomCoordinator.Instance.SetAgentVisionResolver((session) => GetBridgeRealtimeRuntime(session)?.WatchesMeetingVideo === true);
|
|
55
|
+
/**
|
|
56
|
+
* Binds how a failed agent start is recorded on the agent's co-agent run (same module-load rationale as the factory
|
|
57
|
+
* above). The coordinator closes the model session of a start that fails before the bridge engine takes it; that close
|
|
58
|
+
* alone finalizes the run as Completed, so the coordinator first has the session's runtime finalize it as Failed, with the
|
|
59
|
+
* start's error.
|
|
60
|
+
*/
|
|
61
|
+
LiveKitAgentRoomCoordinator.Instance.SetFailedStartRecorder(async (session, error) => {
|
|
62
|
+
await GetBridgeRealtimeRuntime(session)?.Finalize(false, error);
|
|
63
|
+
});
|
|
33
64
|
/**
|
|
34
65
|
* Binds the co-agent run finalizer onto the bridge engine (same module-load rationale as the factory above).
|
|
35
66
|
* Lets the engine finalize a session's dangling co-agent observability run when it reaps a bridge WITHOUT a
|
|
@@ -151,10 +182,37 @@ __decorate([
|
|
|
151
182
|
Field(() => String, { nullable: true }),
|
|
152
183
|
__metadata("design:type", String)
|
|
153
184
|
], StartLiveKitAgentRoomSessionInput.prototype, "TurnMode", void 0);
|
|
185
|
+
__decorate([
|
|
186
|
+
Field(() => Boolean, { nullable: true }),
|
|
187
|
+
__metadata("design:type", Boolean)
|
|
188
|
+
], StartLiveKitAgentRoomSessionInput.prototype, "EnableHandoff", void 0);
|
|
189
|
+
__decorate([
|
|
190
|
+
Field(() => String, { nullable: true }),
|
|
191
|
+
__metadata("design:type", String)
|
|
192
|
+
], StartLiveKitAgentRoomSessionInput.prototype, "TurnAddressing", void 0);
|
|
154
193
|
StartLiveKitAgentRoomSessionInput = __decorate([
|
|
155
194
|
InputType()
|
|
156
195
|
], StartLiveKitAgentRoomSessionInput);
|
|
157
196
|
export { StartLiveKitAgentRoomSessionInput };
|
|
197
|
+
/** The live turn-taking state of a room (floor holder, human speaking, hand-off, loop cap, recent events, seated agents). */
|
|
198
|
+
let LiveKitRoomTurnStateResult = class LiveKitRoomTurnStateResult {
|
|
199
|
+
};
|
|
200
|
+
__decorate([
|
|
201
|
+
Field(() => Boolean),
|
|
202
|
+
__metadata("design:type", Boolean)
|
|
203
|
+
], LiveKitRoomTurnStateResult.prototype, "Success", void 0);
|
|
204
|
+
__decorate([
|
|
205
|
+
Field(() => String, { nullable: true }),
|
|
206
|
+
__metadata("design:type", String)
|
|
207
|
+
], LiveKitRoomTurnStateResult.prototype, "ErrorMessage", void 0);
|
|
208
|
+
__decorate([
|
|
209
|
+
Field(() => String, { nullable: true }),
|
|
210
|
+
__metadata("design:type", String)
|
|
211
|
+
], LiveKitRoomTurnStateResult.prototype, "StateJSON", void 0);
|
|
212
|
+
LiveKitRoomTurnStateResult = __decorate([
|
|
213
|
+
ObjectType()
|
|
214
|
+
], LiveKitRoomTurnStateResult);
|
|
215
|
+
export { LiveKitRoomTurnStateResult };
|
|
158
216
|
let LiveKitAgentRoomSessionResult = class LiveKitAgentRoomSessionResult {
|
|
159
217
|
};
|
|
160
218
|
__decorate([
|
|
@@ -229,7 +287,39 @@ LiveKitRecordingResult = __decorate([
|
|
|
229
287
|
ObjectType()
|
|
230
288
|
], LiveKitRecordingResult);
|
|
231
289
|
export { LiveKitRecordingResult };
|
|
232
|
-
/** A
|
|
290
|
+
/** A person's choice of whether agents may see their camera and shared screen in a room. */
|
|
291
|
+
let SetLiveKitAgentVisionInput = class SetLiveKitAgentVisionInput {
|
|
292
|
+
};
|
|
293
|
+
__decorate([
|
|
294
|
+
Field(() => String),
|
|
295
|
+
__metadata("design:type", String)
|
|
296
|
+
], SetLiveKitAgentVisionInput.prototype, "RoomName", void 0);
|
|
297
|
+
__decorate([
|
|
298
|
+
Field(() => Boolean),
|
|
299
|
+
__metadata("design:type", Boolean)
|
|
300
|
+
], SetLiveKitAgentVisionInput.prototype, "Allow", void 0);
|
|
301
|
+
SetLiveKitAgentVisionInput = __decorate([
|
|
302
|
+
InputType()
|
|
303
|
+
], SetLiveKitAgentVisionInput);
|
|
304
|
+
export { SetLiveKitAgentVisionInput };
|
|
305
|
+
let LiveKitAgentVisionResult = class LiveKitAgentVisionResult {
|
|
306
|
+
};
|
|
307
|
+
__decorate([
|
|
308
|
+
Field(() => Boolean),
|
|
309
|
+
__metadata("design:type", Boolean)
|
|
310
|
+
], LiveKitAgentVisionResult.prototype, "Success", void 0);
|
|
311
|
+
__decorate([
|
|
312
|
+
Field(() => String, { nullable: true }),
|
|
313
|
+
__metadata("design:type", String)
|
|
314
|
+
], LiveKitAgentVisionResult.prototype, "ErrorMessage", void 0);
|
|
315
|
+
LiveKitAgentVisionResult = __decorate([
|
|
316
|
+
ObjectType()
|
|
317
|
+
], LiveKitAgentVisionResult);
|
|
318
|
+
export { LiveKitAgentVisionResult };
|
|
319
|
+
/**
|
|
320
|
+
* A selectable provider-native voice for the dev voice picker: one per persona, or one per voice only the driver declares.
|
|
321
|
+
* Two personas can share an `ID` (a voice, and the same voice with a face); `PersonaID` tells them apart.
|
|
322
|
+
*/
|
|
233
323
|
let RealtimeVoiceOptionResult = class RealtimeVoiceOptionResult {
|
|
234
324
|
};
|
|
235
325
|
__decorate([
|
|
@@ -240,6 +330,18 @@ __decorate([
|
|
|
240
330
|
Field(() => String),
|
|
241
331
|
__metadata("design:type", String)
|
|
242
332
|
], RealtimeVoiceOptionResult.prototype, "Name", void 0);
|
|
333
|
+
__decorate([
|
|
334
|
+
Field(() => String, { nullable: true }),
|
|
335
|
+
__metadata("design:type", String)
|
|
336
|
+
], RealtimeVoiceOptionResult.prototype, "PersonaID", void 0);
|
|
337
|
+
__decorate([
|
|
338
|
+
Field(() => String, { nullable: true }),
|
|
339
|
+
__metadata("design:type", String)
|
|
340
|
+
], RealtimeVoiceOptionResult.prototype, "AvatarID", void 0);
|
|
341
|
+
__decorate([
|
|
342
|
+
Field(() => String, { nullable: true }),
|
|
343
|
+
__metadata("design:type", String)
|
|
344
|
+
], RealtimeVoiceOptionResult.prototype, "PreviewImageURL", void 0);
|
|
243
345
|
RealtimeVoiceOptionResult = __decorate([
|
|
244
346
|
ObjectType()
|
|
245
347
|
], RealtimeVoiceOptionResult);
|
|
@@ -287,6 +389,11 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
287
389
|
if (!user) {
|
|
288
390
|
return failure('Unable to determine current user.');
|
|
289
391
|
}
|
|
392
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
393
|
+
const auth = await RoomAuthorizationService.Instance.AuthorizeRoomAccess(input.RoomName, user, provider);
|
|
394
|
+
if (!auth.Authorized) {
|
|
395
|
+
return failure(auth.Reason ?? 'Unauthorized room access.');
|
|
396
|
+
}
|
|
290
397
|
const tokenService = new LiveKitTokenService();
|
|
291
398
|
const minted = await tokenService.MintClientToken(input.RoomName, this.participantIdentity(user), input.DisplayName ?? user.Name ?? user.Email);
|
|
292
399
|
return { Success: true, ...minted };
|
|
@@ -299,7 +406,9 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
299
406
|
}
|
|
300
407
|
/**
|
|
301
408
|
* Starts (or reuses) an agent's presence in a LiveKit room and returns a client token so the calling
|
|
302
|
-
* user can immediately join the same room.
|
|
409
|
+
* user can immediately join the same room. The token is minted before anything starts, so a start that can't give the
|
|
410
|
+
* user one fails with nothing started. When no `AgentSessionID` is passed, an agent session is created for the
|
|
411
|
+
* agent; if the agent then fails to start, that session is closed (`Error`) before the failure is returned.
|
|
303
412
|
*/
|
|
304
413
|
async StartLiveKitAgentRoomSession(input, context = {}) {
|
|
305
414
|
const failure = (msg, roomName = '') => ({
|
|
@@ -318,19 +427,47 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
318
427
|
}
|
|
319
428
|
const provider = GetReadWriteProvider(context.providers);
|
|
320
429
|
const roomName = input.RoomName?.trim() || `mj-${randomUUID()}`;
|
|
430
|
+
if (input.RoomName?.trim()) {
|
|
431
|
+
const auth = await RoomAuthorizationService.Instance.AuthorizeRoomAccess(roomName, user, provider);
|
|
432
|
+
if (!auth.Authorized) {
|
|
433
|
+
return failure(auth.Reason ?? 'Unauthorized room access.', roomName);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
// The user's token first: a start that can't let the user into the room fails before anything starts there. Minted
|
|
437
|
+
// after the agent joined, a failure left the agent in a room the user couldn't enter and gave the UI no bridge id to
|
|
438
|
+
// stop it by.
|
|
439
|
+
const clientToken = await new LiveKitTokenService().MintClientToken(roomName, this.participantIdentity(user), user.Name ?? user.Email);
|
|
440
|
+
// Opt-in: an agent that can bring a person, a number or another agent into this room (the same room, so a visitor
|
|
441
|
+
// is escalated without leaving it). Falls through to the standard start when the server cannot do handoffs.
|
|
442
|
+
const handoffSessionBridgeID = await this.startWithHandoff(input, roomName, user, provider);
|
|
443
|
+
if (handoffSessionBridgeID) {
|
|
444
|
+
return {
|
|
445
|
+
Success: true,
|
|
446
|
+
SessionBridgeID: handoffSessionBridgeID,
|
|
447
|
+
RoomName: roomName,
|
|
448
|
+
ServerUrl: clientToken.ServerUrl,
|
|
449
|
+
ClientToken: clientToken.Token,
|
|
450
|
+
Identity: clientToken.Identity,
|
|
451
|
+
};
|
|
452
|
+
}
|
|
321
453
|
// Resolve the AIAgentSession the bridge will reference. The bridge row FK-references
|
|
322
454
|
// AIAgentSession(ID), so we must use an EXISTING session — either one the caller supplied, or a
|
|
323
455
|
// freshly-created one. Previously this minted a bare random UUID with no backing row, so the
|
|
324
456
|
// bridge INSERT failed the FK_AIAgentSessionBridge_Session constraint.
|
|
325
457
|
let agentSessionID = input.AgentSessionID?.trim();
|
|
458
|
+
// A session created here exists for this agent's time in the room alone, so it closes when the agent leaves, however
|
|
459
|
+
// it leaves, or at once if the agent fails to start (see startAgentInRoom). A session the caller supplied is the
|
|
460
|
+
// caller's to close.
|
|
461
|
+
let createdSessionID;
|
|
326
462
|
if (!agentSessionID) {
|
|
327
463
|
if (!input.AgentID?.trim()) {
|
|
328
464
|
return failure('An AgentID is required to start an agent room session.', roomName);
|
|
329
465
|
}
|
|
330
466
|
const createdSession = await this.sessionManager.CreateSession({ agentID: input.AgentID.trim(), userID: user.ID }, user, provider);
|
|
331
467
|
agentSessionID = createdSession.ID;
|
|
468
|
+
createdSessionID = createdSession.ID;
|
|
332
469
|
}
|
|
333
|
-
const session = await
|
|
470
|
+
const session = await this.startAgentInRoom(createdSessionID, user, provider, {
|
|
334
471
|
AgentSessionID: agentSessionID,
|
|
335
472
|
RoomName: roomName,
|
|
336
473
|
AgentID: input.AgentID,
|
|
@@ -339,11 +476,10 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
339
476
|
RealtimeModelID: input.RealtimeModelID,
|
|
340
477
|
RealtimeVoice: input.RealtimeVoice,
|
|
341
478
|
TurnMode: this.normalizeTurnMode(input.TurnMode),
|
|
479
|
+
TurnAddressing: this.normalizeTurnAddressing(input.TurnAddressing),
|
|
342
480
|
ContextUser: user,
|
|
343
481
|
MetadataProvider: provider,
|
|
344
482
|
});
|
|
345
|
-
const tokenService = new LiveKitTokenService();
|
|
346
|
-
const clientToken = await tokenService.MintClientToken(roomName, this.participantIdentity(user), user.Name ?? user.Email);
|
|
347
483
|
return {
|
|
348
484
|
Success: true,
|
|
349
485
|
SessionBridgeID: session.SessionBridgeID,
|
|
@@ -363,6 +499,7 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
363
499
|
* Stops one agent's presence in a room (the bot leaves) — the remove half of in-room agent management.
|
|
364
500
|
* Identified by the `SessionBridgeID` returned from {@link StartLiveKitAgentRoomSession}. Returns `true`
|
|
365
501
|
* when the bridge was stopped. Best-effort: a missing/already-stopped bridge or any error resolves `false`.
|
|
502
|
+
* The agent session the start created for the agent is closed (`Explicit`) before this returns.
|
|
366
503
|
*
|
|
367
504
|
* @param sessionBridgeID The `MJ: AI Agent Session Bridges` row id of the agent to remove.
|
|
368
505
|
*/
|
|
@@ -373,6 +510,14 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
373
510
|
return false;
|
|
374
511
|
}
|
|
375
512
|
const provider = GetReadWriteProvider(context.providers);
|
|
513
|
+
const roomName = LiveKitAgentRoomCoordinator.Instance.GetRoomForBridge(sessionBridgeID);
|
|
514
|
+
if (roomName) {
|
|
515
|
+
const auth = await RoomAuthorizationService.Instance.AuthorizeRoomAccess(roomName, user, provider);
|
|
516
|
+
if (!auth.Authorized) {
|
|
517
|
+
LogError(`StopLiveKitAgentRoomSession unauthorized: user ${user.ID} cannot access room ${roomName} (${auth.Reason})`);
|
|
518
|
+
return false;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
376
521
|
return await LiveKitAgentRoomCoordinator.Instance.StopAgentRoomSession(sessionBridgeID, 'Explicit', user, provider);
|
|
377
522
|
}
|
|
378
523
|
catch (error) {
|
|
@@ -385,6 +530,7 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
385
530
|
* coordinator's server-side roster). This is the "End meeting" half of the Zoom-style leave control —
|
|
386
531
|
* usable by any participant, including one who only *joined* the room and never tracked the bridge ids.
|
|
387
532
|
* Returns `true` when the teardown ran (even if the room held zero agents). Best-effort: any error → `false`.
|
|
533
|
+
* The agent sessions the starts created for the agents are closed (`Explicit`) as each agent leaves.
|
|
388
534
|
*
|
|
389
535
|
* @param roomName The LiveKit room to end.
|
|
390
536
|
*/
|
|
@@ -395,6 +541,11 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
395
541
|
return false;
|
|
396
542
|
}
|
|
397
543
|
const provider = GetReadWriteProvider(context.providers);
|
|
544
|
+
const auth = await RoomAuthorizationService.Instance.AuthorizeRoomAccess(roomName, user, provider);
|
|
545
|
+
if (!auth.Authorized) {
|
|
546
|
+
LogError(`EndLiveKitRoom unauthorized: user ${user.ID} cannot access room ${roomName} (${auth.Reason})`);
|
|
547
|
+
return false;
|
|
548
|
+
}
|
|
398
549
|
await LiveKitAgentRoomCoordinator.Instance.StopAllAgentsInRoom(roomName, 'Explicit', user, provider);
|
|
399
550
|
return true;
|
|
400
551
|
}
|
|
@@ -403,6 +554,33 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
403
554
|
return false;
|
|
404
555
|
}
|
|
405
556
|
}
|
|
557
|
+
/**
|
|
558
|
+
* A room's live turn-taking state — who holds the floor, whether a person is speaking, any pending hand-off,
|
|
559
|
+
* the agent-to-agent loop-cap progress, the most recent floor/backchannel/yield events, and who is seated. The
|
|
560
|
+
* agent test bed polls it. Read-only. `StateJSON` is `null` when no agent is in the room.
|
|
561
|
+
*
|
|
562
|
+
* @param roomName The LiveKit room.
|
|
563
|
+
*/
|
|
564
|
+
async GetLiveKitRoomTurnState(roomName, context = {}) {
|
|
565
|
+
try {
|
|
566
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
567
|
+
if (!user) {
|
|
568
|
+
return { Success: false, ErrorMessage: 'Unable to determine current user.' };
|
|
569
|
+
}
|
|
570
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
571
|
+
const auth = await RoomAuthorizationService.Instance.AuthorizeRoomAccess(roomName, user, provider);
|
|
572
|
+
if (!auth.Authorized) {
|
|
573
|
+
return { Success: false, ErrorMessage: auth.Reason ?? 'Unauthorized room access.' };
|
|
574
|
+
}
|
|
575
|
+
const snapshot = LiveKitAgentRoomCoordinator.Instance.GetRoomTurnState(roomName);
|
|
576
|
+
return { Success: true, StateJSON: snapshot ? JSON.stringify(snapshot) : undefined };
|
|
577
|
+
}
|
|
578
|
+
catch (error) {
|
|
579
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
580
|
+
LogError(`GetLiveKitRoomTurnState failed: ${msg}`);
|
|
581
|
+
return { Success: false, ErrorMessage: msg };
|
|
582
|
+
}
|
|
583
|
+
}
|
|
406
584
|
/**
|
|
407
585
|
* Lists active Realtime models with the voices each driver supports — the source for the dev model/voice
|
|
408
586
|
* picker (gated client-side by the `Realtime: Advanced Session Controls` authorization). Read-only; returns
|
|
@@ -440,6 +618,11 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
440
618
|
return false;
|
|
441
619
|
}
|
|
442
620
|
const provider = GetReadWriteProvider(context.providers);
|
|
621
|
+
const auth = await RoomAuthorizationService.Instance.AuthorizeRoomAccess(roomName, user, provider);
|
|
622
|
+
if (!auth.Authorized) {
|
|
623
|
+
LogError(`InviteUsersToLiveKitRoom unauthorized: user ${user.ID} cannot access room ${roomName} (${auth.Reason})`);
|
|
624
|
+
return false;
|
|
625
|
+
}
|
|
443
626
|
await NotificationEngine.Instance.Config(false, user, provider);
|
|
444
627
|
const inviter = user.Name?.trim() || user.Email || 'Someone';
|
|
445
628
|
let anyDelivered = false;
|
|
@@ -473,10 +656,14 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
473
656
|
if (!user) {
|
|
474
657
|
return { Success: false, ErrorMessage: 'Unable to determine current user.', EgressID: '', Status: '' };
|
|
475
658
|
}
|
|
659
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
660
|
+
const auth = await RoomAuthorizationService.Instance.AuthorizeRoomAccess(input.RoomName, user, provider);
|
|
661
|
+
if (!auth.Authorized) {
|
|
662
|
+
return { Success: false, ErrorMessage: auth.Reason ?? 'Unauthorized room access.', EgressID: '', Status: '' };
|
|
663
|
+
}
|
|
476
664
|
const info = await new LiveKitEgressService().StartRoomRecording({ RoomName: input.RoomName, Layout: input.Layout });
|
|
477
665
|
// Best-effort: correlate the live recording with the room's Meeting-Room Conversation (if it exists
|
|
478
666
|
// yet) by stamping its EgressID. Never fail the start on this — the stop-flow resolves/creates it.
|
|
479
|
-
const provider = GetReadWriteProvider(context.providers);
|
|
480
667
|
void CorrelateRecordingStart(input.RoomName, info.EgressID, user, provider);
|
|
481
668
|
return { Success: true, EgressID: info.EgressID, Status: info.Status };
|
|
482
669
|
}
|
|
@@ -498,8 +685,39 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
498
685
|
if (!user) {
|
|
499
686
|
return { Success: false, ErrorMessage: 'Unable to determine current user.', EgressID: egressID, Status: '' };
|
|
500
687
|
}
|
|
501
|
-
const info = await new LiveKitEgressService().StopRecording(egressID);
|
|
502
688
|
const provider = GetReadWriteProvider(context.providers);
|
|
689
|
+
// Map egress ID to room name: check LiveKit egress service first, fallback to Conversation if available.
|
|
690
|
+
const egressService = new LiveKitEgressService();
|
|
691
|
+
let roomName = await egressService.GetRoomForEgress(egressID);
|
|
692
|
+
if (!roomName && provider) {
|
|
693
|
+
try {
|
|
694
|
+
const rv = RunView.FromMetadataProvider(provider);
|
|
695
|
+
const convResult = await rv.RunView({
|
|
696
|
+
EntityName: 'MJ: Conversations',
|
|
697
|
+
ExtraFilter: `EgressID='${EscapeSQLString(egressID)}' AND (IsArchived IS NULL OR IsArchived=0)`,
|
|
698
|
+
Fields: ['ExternalID'],
|
|
699
|
+
OrderBy: '__mj_CreatedAt DESC',
|
|
700
|
+
MaxRows: 1,
|
|
701
|
+
ResultType: 'simple',
|
|
702
|
+
}, user);
|
|
703
|
+
if (convResult.Success && convResult.Results.length > 0 && convResult.Results[0].ExternalID) {
|
|
704
|
+
roomName = convResult.Results[0].ExternalID;
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
catch (err) {
|
|
708
|
+
LogError(`StopLiveKitRecording: error looking up Conversation for egress ID '${egressID}'`, undefined, err);
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
if (roomName) {
|
|
712
|
+
const auth = await RoomAuthorizationService.Instance.AuthorizeRoomAccess(roomName, user, provider);
|
|
713
|
+
if (!auth.Authorized) {
|
|
714
|
+
return { Success: false, ErrorMessage: auth.Reason ?? 'Unauthorized room access.', EgressID: egressID, Status: '' };
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
else {
|
|
718
|
+
return { Success: false, ErrorMessage: `Unable to determine room for egress ID '${egressID}'.`, EgressID: egressID, Status: '' };
|
|
719
|
+
}
|
|
720
|
+
const info = await egressService.StopRecording(egressID);
|
|
503
721
|
// Register the completed egress MP4 as a Files row on the Meeting-Room Conversation. Best-effort:
|
|
504
722
|
// any failure (e.g. storage provider not configured) leaves RecordingFileID unset but still
|
|
505
723
|
// returns the successful stop result.
|
|
@@ -515,9 +733,115 @@ let RealtimeBridgeResolver = class RealtimeBridgeResolver extends ResolverBase {
|
|
|
515
733
|
return { Success: false, ErrorMessage: msg, EgressID: egressID, Status: '' };
|
|
516
734
|
}
|
|
517
735
|
}
|
|
518
|
-
/**
|
|
736
|
+
/**
|
|
737
|
+
* Records whether the current user lets agents see their camera and shared screen in a room. The participant is
|
|
738
|
+
* worked out from the authenticated user, never sent by the client, so a person can only answer for themselves. To
|
|
739
|
+
* allow, the room must be one they may enter ({@link RoomAuthorizationService}, as for every room mutation). A
|
|
740
|
+
* withdrawal skips that check: a cancelled meeting or a failed lookup must not keep an agent watching someone who is
|
|
741
|
+
* still in the room, and the identity is always the caller's own. LiveKit refuses either way when they are not in it. The choice is set as their `mj.agentCanSee` attribute through LiveKit's server SDK (a
|
|
742
|
+
* participant's token can't change its own attributes) and audited, applied or not.
|
|
743
|
+
*/
|
|
744
|
+
async SetLiveKitAgentVision(input, context = {}) {
|
|
745
|
+
try {
|
|
746
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
747
|
+
if (!user) {
|
|
748
|
+
return { Success: false, ErrorMessage: 'Unable to determine current user.' };
|
|
749
|
+
}
|
|
750
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
751
|
+
const auth = input.Allow
|
|
752
|
+
? await RoomAuthorizationService.Instance.AuthorizeRoomAccess(input.RoomName, user, provider)
|
|
753
|
+
: { Authorized: true };
|
|
754
|
+
const result = auth.Authorized
|
|
755
|
+
? await new LiveKitParticipantService().SetAgentVision(input.RoomName, this.participantIdentity(user), input.Allow)
|
|
756
|
+
: { Success: false, ErrorMessage: auth.Reason ?? 'Unauthorized room access.' };
|
|
757
|
+
await WriteAgentVisionConsentAudit({ User: user, RoomName: input.RoomName, Allow: input.Allow, Applied: result.Success, ErrorMessage: result.ErrorMessage }, provider);
|
|
758
|
+
if (result.Success) {
|
|
759
|
+
return { Success: true };
|
|
760
|
+
}
|
|
761
|
+
return { Success: false, ErrorMessage: result.NotInRoom ? 'You are not in this room.' : result.ErrorMessage };
|
|
762
|
+
}
|
|
763
|
+
catch (error) {
|
|
764
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
765
|
+
LogError(`SetLiveKitAgentVision failed: ${msg}`);
|
|
766
|
+
return { Success: false, ErrorMessage: msg };
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
/**
|
|
770
|
+
* Starts the agent through the handoff-capable room starter when the caller asked for it and the server can do it.
|
|
771
|
+
* Returns the bridge id, or `undefined` to mean "use the standard start" (not requested, no starter, no agent named).
|
|
772
|
+
*/
|
|
773
|
+
async startWithHandoff(input, roomName, user, provider) {
|
|
774
|
+
if (!input.EnableHandoff) {
|
|
775
|
+
return undefined;
|
|
776
|
+
}
|
|
777
|
+
const starter = RoomHandoffEngine.Instance.Deps.AgentStarter;
|
|
778
|
+
const agentID = input.TargetAgentID?.trim() || input.AgentID?.trim();
|
|
779
|
+
if (!starter || !agentID) {
|
|
780
|
+
LogError('StartLiveKitAgentRoomSession: handoff was requested but this server has no handoff-capable agent starter; starting the agent without it.');
|
|
781
|
+
return undefined;
|
|
782
|
+
}
|
|
783
|
+
const started = await starter({
|
|
784
|
+
RoomName: roomName,
|
|
785
|
+
AgentID: agentID,
|
|
786
|
+
AgentName: input.AgentName?.trim() ?? '',
|
|
787
|
+
CallerLabel: user.Name?.trim() || user.Email || 'Web visitor',
|
|
788
|
+
ContextUser: user,
|
|
789
|
+
Provider: provider,
|
|
790
|
+
RealtimeModelID: input.RealtimeModelID,
|
|
791
|
+
RealtimeVoice: input.RealtimeVoice,
|
|
792
|
+
});
|
|
793
|
+
return started.SessionBridgeID;
|
|
794
|
+
}
|
|
795
|
+
/**
|
|
796
|
+
* Starts the agent in the room through the coordinator. An agent session created for this agent's time in the room
|
|
797
|
+
* (`createdSessionID`) is this start's to close: once the agent has joined, through the end-of-session hook from
|
|
798
|
+
* {@link closeSessionWhenAgentLeaves}; when the start fails, at once, as `Error`, through
|
|
799
|
+
* {@link SessionManager.CloseSessionForFailedStart}, before the error propagates, since the agent never joined and that
|
|
800
|
+
* hook never runs (#5308). By then the coordinator has closed any model session the start opened, its co-agent run
|
|
801
|
+
* finalized as failed. A session the caller supplied gets neither: it is the caller's.
|
|
802
|
+
*/
|
|
803
|
+
async startAgentInRoom(createdSessionID, user, provider, params) {
|
|
804
|
+
const coordinator = LiveKitAgentRoomCoordinator.Instance;
|
|
805
|
+
if (!createdSessionID) {
|
|
806
|
+
return coordinator.StartAgentRoomSession(params);
|
|
807
|
+
}
|
|
808
|
+
try {
|
|
809
|
+
return await coordinator.StartAgentRoomSession({ ...params, Host: this.closeSessionWhenAgentLeaves(createdSessionID, user, provider) });
|
|
810
|
+
}
|
|
811
|
+
catch (error) {
|
|
812
|
+
await this.sessionManager.CloseSessionForFailedStart(createdSessionID, user, provider);
|
|
813
|
+
throw error;
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
/**
|
|
817
|
+
* What the coordinator is given for an agent session created for one agent's time in a room: its end-of-session hook
|
|
818
|
+
* closes the session once the agent's bridge has ended, whatever ended it (the agent stopped, the meeting ended, everyone
|
|
819
|
+
* left, the model session lost), through {@link SessionManager.CloseSessionForEndedBridge}. The close runs as the user
|
|
820
|
+
* who started the agent, whoever stops it: the session is theirs.
|
|
821
|
+
*/
|
|
822
|
+
closeSessionWhenAgentLeaves(agentSessionID, user, provider) {
|
|
823
|
+
return {
|
|
824
|
+
OnSessionEnded: async (reason) => {
|
|
825
|
+
await this.sessionManager.CloseSessionForEndedBridge(agentSessionID, reason, user, provider);
|
|
826
|
+
},
|
|
827
|
+
};
|
|
828
|
+
}
|
|
829
|
+
/** Builds a stable, lowercased participant identity from the authenticated user (shared with the handoff engine, which watches for it). */
|
|
519
830
|
participantIdentity(user) {
|
|
520
|
-
return
|
|
831
|
+
return LiveKitUserIdentity(user.ID);
|
|
832
|
+
}
|
|
833
|
+
/** Normalizes an addressing-mode string; unknown/absent leaves the coordinator's default (`Auto`). */
|
|
834
|
+
normalizeTurnAddressing(mode) {
|
|
835
|
+
switch ((mode ?? '').trim().toLowerCase()) {
|
|
836
|
+
case 'auto':
|
|
837
|
+
return 'Auto';
|
|
838
|
+
case 'modelside':
|
|
839
|
+
return 'ModelSide';
|
|
840
|
+
case 'regex':
|
|
841
|
+
return 'Regex';
|
|
842
|
+
default:
|
|
843
|
+
return undefined;
|
|
844
|
+
}
|
|
521
845
|
}
|
|
522
846
|
/** Normalizes a turn-mode string to the bridge's accepted values. */
|
|
523
847
|
normalizeTurnMode(mode) {
|
|
@@ -565,6 +889,14 @@ __decorate([
|
|
|
565
889
|
__metadata("design:paramtypes", [String, Object]),
|
|
566
890
|
__metadata("design:returntype", Promise)
|
|
567
891
|
], RealtimeBridgeResolver.prototype, "EndLiveKitRoom", null);
|
|
892
|
+
__decorate([
|
|
893
|
+
Query(() => LiveKitRoomTurnStateResult),
|
|
894
|
+
__param(0, Arg('roomName', () => String)),
|
|
895
|
+
__param(1, Ctx()),
|
|
896
|
+
__metadata("design:type", Function),
|
|
897
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
898
|
+
__metadata("design:returntype", Promise)
|
|
899
|
+
], RealtimeBridgeResolver.prototype, "GetLiveKitRoomTurnState", null);
|
|
568
900
|
__decorate([
|
|
569
901
|
Query(() => [RealtimeModelVoicesResult]),
|
|
570
902
|
__param(0, Ctx()),
|
|
@@ -597,6 +929,14 @@ __decorate([
|
|
|
597
929
|
__metadata("design:paramtypes", [String, Object]),
|
|
598
930
|
__metadata("design:returntype", Promise)
|
|
599
931
|
], RealtimeBridgeResolver.prototype, "StopLiveKitRecording", null);
|
|
932
|
+
__decorate([
|
|
933
|
+
Mutation(() => LiveKitAgentVisionResult),
|
|
934
|
+
__param(0, Arg('input', () => SetLiveKitAgentVisionInput)),
|
|
935
|
+
__param(1, Ctx()),
|
|
936
|
+
__metadata("design:type", Function),
|
|
937
|
+
__metadata("design:paramtypes", [SetLiveKitAgentVisionInput, Object]),
|
|
938
|
+
__metadata("design:returntype", Promise)
|
|
939
|
+
], RealtimeBridgeResolver.prototype, "SetLiveKitAgentVision", null);
|
|
600
940
|
RealtimeBridgeResolver = __decorate([
|
|
601
941
|
Resolver()
|
|
602
942
|
], RealtimeBridgeResolver);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealtimeBridgeResolver.js","sourceRoot":"","sources":["../../src/resolvers/RealtimeBridgeResolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RealtimeBridgeResolver.js","sourceRoot":"","sources":["../../src/resolvers/RealtimeBridgeResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAA+B,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,GAKlB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACpN,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC1G,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAgC,MAAM,qCAAqC,CAAC;AAE7G;;;;;;;GAOG;AACH,2BAA2B,CAAC,QAAQ,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;AAEpF;;;;GAIG;AACH,2BAA2B,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,QAAQ,CAAC,gHAAgH,CAAC,CAAC;QAC3H,OAAO;IACT,CAAC;IACD,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,2BAA2B,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC,CAAC;AAE1I;;;;;GAKG;AACH,2BAA2B,CAAC,QAAQ,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;IACnF,MAAM,wBAAwB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,cAAc,CAAC,QAAQ,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CACvC,8BAA8B,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAC/H,CAAC;AAEF;;;;;;;GAOG;AACH,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,IAAI,EAAE,CAAC;IACpD,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,oHAAoH,CAAC,CAAC;AACpI,CAAC;KAAM,CAAC;IACN,iIAAiI;IACjI,WAAW,CAAC,EAAE,OAAO,EAAE,wIAAwI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACxL,CAAC;AAED;;;;;;;;;;;GAWG;AAGI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;CAMvC,CAAA;AAJC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;6DACH;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACnB;AALV,2BAA2B;IADvC,SAAS,EAAE;GACC,2BAA2B,CAMvC;;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;CAkBpC,CAAA;AAhBC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;yDACJ;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DAClB;AAGtB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;2DACF;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;uDACN;AAGd;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;0DACH;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;0DACH;AAjBN,wBAAwB;IADpC,UAAU,EAAE;GACA,wBAAwB,CAkBpC;;AAGM,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;CA0C7C,CAAA;AAxCC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kEACvB;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oEACrB;AAInB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wEACjB;AAIvB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0EACf;AAIzB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wEACjB;AAGvB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mEACtB;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yEAChB;AAGxB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mEACtB;AAQlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wEACjB;AAOxB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yEAChB;AAzCb,iCAAiC;IAD7C,SAAS,EAAE;GACC,iCAAiC,CA0C7C;;AAED,6HAA6H;AAEtH,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAUtC,CAAA;AARC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;2DACJ;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEAClB;AAItB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACrB;AATR,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CAUtC;;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;CAqBzC,CAAA;AAnBC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;8DACJ;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mEAClB;AAGtB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;sEACI;AAGxB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;+DACH;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;gEACF;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;kEACA;AAGpB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;+DACH;AApBN,6BAA6B;IADzC,UAAU,EAAE;GACA,6BAA6B,CAqBzC;;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAMjC,CAAA;AAJC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;uDACH;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACxB;AALL,qBAAqB;IADjC,SAAS,EAAE;GACC,qBAAqB,CAMjC;;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAgBlC,CAAA;AAdC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;uDACJ;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DAClB;AAGtB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;wDACH;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;sDACL;AAIf;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DACf;AAfd,sBAAsB;IADlC,UAAU,EAAE;GACA,sBAAsB,CAgBlC;;AAED,4FAA4F;AAErF,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAOtC,CAAA;AALC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;4DACH;AAIjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;yDACN;AANJ,0BAA0B;IADtC,SAAS,EAAE;GACC,0BAA0B,CAOtC;;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;CAMpC,CAAA;AAJC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;yDACJ;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DAClB;AALX,wBAAwB;IADpC,UAAU,EAAE;GACA,wBAAwB,CAMpC;;AAED;;;GAGG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAsBrC,CAAA;AApBC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;qDACT;AAGX;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;uDACP;AAIb;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACrB;AAQnB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACtB;AAIlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kEACf;AArBd,yBAAyB;IADrC,UAAU,EAAE;GACA,yBAAyB,CAsBrC;;AAED,uGAAuG;AAEhG,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CASrC,CAAA;AAPC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;0DACJ;AAGhB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;4DACF;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC;;yDACL;AARzB,yBAAyB;IADrC,UAAU,EAAE;GACA,yBAAyB,CASrC;;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,YAAY;IAAjD;;QACL,kGAAkG;QACjF,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAujBzD,CAAC;IArjBC;;;OAGG;IAEG,AAAN,KAAK,CAAC,sBAAsB,CACuB,KAAkC,EAC5E,UAAsB,EAAgB;QAE7C,MAAM,OAAO,GAAG,CAAC,GAAW,EAA4B,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,GAAG;YACjB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,OAAO,CAAC,mCAAmC,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,2BAA2B,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAChJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;YAClD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IAEG,AAAN,KAAK,CAAC,4BAA4B,CACuB,KAAwC,EACxF,UAAsB,EAAgB;QAE7C,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,QAAQ,GAAG,EAAE,EAAiC,EAAE,CAAC,CAAC;YAC9E,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,GAAG;YACjB,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,OAAO,CAAC,mCAAmC,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAC9E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,MAAM,UAAU,EAAE,EAAE,CAAC;YAEhE,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,2BAA2B,EAAE,QAAQ,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,mHAAmH;YACnH,qHAAqH;YACrH,cAAc;YACd,MAAM,WAAW,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAEvI,kHAAkH;YAClH,4GAA4G;YAC5G,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5F,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,sBAAsB;oBACvC,QAAQ,EAAE,QAAQ;oBAClB,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,WAAW,EAAE,WAAW,CAAC,KAAK;oBAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;iBAC/B,CAAC;YACJ,CAAC;YAED,qFAAqF;YACrF,gGAAgG;YAChG,6FAA6F;YAC7F,uEAAuE;YACvE,IAAI,cAAc,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;YAClD,qHAAqH;YACrH,iHAAiH;YACjH,qBAAqB;YACrB,IAAI,gBAAoC,CAAC;YACzC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;oBAC3B,OAAO,OAAO,CAAC,wDAAwD,EAAE,QAAQ,CAAC,CAAC;gBACrF,CAAC;gBACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAC5D,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAClD,IAAI,EACJ,QAAQ,CACT,CAAC;gBACF,cAAc,GAAG,cAAc,CAAC,EAAE,CAAC;gBACnC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;YACvC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5E,cAAc,EAAE,cAAc;gBAC9B,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAChD,cAAc,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC;gBAClE,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,QAAQ;aAC3B,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,WAAW,CAAC,KAAK;gBAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IAEG,AAAN,KAAK,CAAC,2BAA2B,CACO,eAAuB,EACtD,UAAsB,EAAgB;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAC9E,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACxF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,QAAQ,CAAC,kDAAkD,IAAI,CAAC,EAAE,uBAAuB,QAAQ,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtH,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,MAAM,2BAA2B,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1G,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IAEG,AAAN,KAAK,CAAC,cAAc,CACa,QAAgB,EACxC,UAAsB,EAAgB;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,QAAQ,CAAC,qCAAqC,IAAI,CAAC,EAAE,uBAAuB,QAAQ,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzG,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,2BAA2B,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrG,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7F,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IAEG,AAAN,KAAK,CAAC,uBAAuB,CACI,QAAgB,EACxC,UAAsB,EAAgB;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mCAAmC,EAAE,CAAC;YAC/E,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,IAAI,2BAA2B,EAAE,CAAC;YACtF,CAAC;YACD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;OAIG;IAEG,AAAN,KAAK,CAAC,sBAAsB,CACnB,UAAsB,EAAgB;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAC9E,OAAO,MAAM,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrG,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IAEG,AAAN,KAAK,CAAC,wBAAwB,CACG,QAAgB,EACf,OAAiB,EAC1C,UAAsB,EAAgB;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,QAAQ,CAAC,+CAA+C,IAAI,CAAC,EAAE,uBAAuB,QAAQ,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnH,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEhE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;YAC7D,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAC/D;oBACE,MAAM;oBACN,YAAY,EAAE,kBAAkB;oBAChC,KAAK,EAAE,GAAG,OAAO,6BAA6B;oBAC9C,OAAO,EAAE,GAAG,OAAO,4EAA4E;oBAC/F,qBAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7D,EACD,IAAI,CACL,CAAC;gBACF,YAAY,GAAG,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC;YAChD,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvG,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,qBAAqB,CACkB,KAA4B,EAChE,UAAsB,EAAgB;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mCAAmC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACzG,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,IAAI,2BAA2B,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YAChH,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,oBAAoB,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAErH,oGAAoG;YACpG,mGAAmG;YACnG,KAAK,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IAEG,AAAN,KAAK,CAAC,oBAAoB,CAAgC,QAAgB,EAAS,UAAsB,EAAgB;QACvH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mCAAmC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YAC/G,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAE9E,yGAAyG;YACzG,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACjD,IAAI,QAAQ,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBAClD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,OAAO,CACjC;wBACE,UAAU,EAAE,mBAAmB;wBAC/B,WAAW,EAAE,aAAa,eAAe,CAAC,QAAQ,CAAC,4CAA4C;wBAC/F,MAAM,EAAE,CAAC,YAAY,CAAC;wBACtB,OAAO,EAAE,qBAAqB;wBAC9B,OAAO,EAAE,CAAC;wBACV,UAAU,EAAE,QAAQ;qBACrB,EACD,IAAI,CACL,CAAC;oBACF,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;wBAC5F,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,sEAAsE,QAAQ,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,IAAI,2BAA2B,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBACtH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,2CAA2C,QAAQ,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACnI,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEzD,kGAAkG;YAClG,4FAA4F;YAC5F,sCAAsC;YACtC,MAAM,YAAY,GAAG,MAAM,4BAA4B,CACrD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,EAChI,IAAI,EACJ,QAAQ,CACT,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,QAAQ,CAAC,8EAA8E,YAAY,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC;YACnI,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;QACxH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IAEG,AAAN,KAAK,CAAC,qBAAqB,CACuB,KAAiC,EAC1E,UAAsB,EAAgB;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mCAAmC,EAAE,CAAC;YAC/E,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAiC,CAAC;YACzF,MAAM,IAAI,GAA4B,KAAK,CAAC,KAAK;gBAC/C,CAAC,CAAC,MAAM,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC;gBAC7F,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YACzB,MAAM,MAAM,GAA4B,IAAI,CAAC,UAAU;gBACrD,CAAC,CAAC,MAAM,IAAI,yBAAyB,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;gBACnH,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,IAAI,2BAA2B,EAAE,CAAC;YACjF,MAAM,4BAA4B,CAChC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,EACxH,QAAQ,CACT,CAAC;YACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAChH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,KAAwC,EACxC,QAAgB,EAChB,IAAc,EACd,QAA2B;QAE3B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACrE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,QAAQ,CAAC,0IAA0I,CAAC,CAAC;YACrJ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;YAC5B,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;YACxC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,aAAa;YAC7D,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,QAAQ;YAClB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,eAAe,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB,CAC5B,gBAAoC,EACpC,IAAc,EACd,QAA2B,EAC3B,MAAiD;QAEjD,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC;QACzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1I,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACvF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,2BAA2B,CAAC,cAAsB,EAAE,IAAc,EAAE,QAA2B;QACrG,OAAO;YACL,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC;SACF,CAAC;IACJ,CAAC;IAED,2IAA2I;IACnI,mBAAmB,CAAC,IAAc;QACxC,OAAO,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,sGAAsG;IAC9F,uBAAuB,CAAC,IAAa;QAC3C,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,WAAW,CAAC;YACrB,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,qEAAqE;IAC7D,iBAAiB,CAAC,IAAa;QACrC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAA;AAhjBO;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC;IAEtC,WAAA,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAA;IAC/C,WAAA,GAAG,EAAE,CAAA;;qCADkD,2BAA2B;;oEA6BpF;AASK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC;IAE3C,WAAA,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iCAAiC,CAAC,CAAA;IACrD,WAAA,GAAG,EAAE,CAAA;;qCADwD,iCAAiC;;0EA+FhG;AAWK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,WAAA,GAAG,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACpC,WAAA,GAAG,EAAE,CAAA;;;;yEAqBP;AAYK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,WAAA,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,GAAG,EAAE,CAAA;;;;4DAmBP;AAUK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC;IAErC,WAAA,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,GAAG,EAAE,CAAA;;;;qEAmBP;AAQK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAEtC,WAAA,GAAG,EAAE,CAAA;;;;oEAaP;AAcK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,WAAA,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9B,WAAA,GAAG,EAAE,CAAA;;;;sEAsCP;AAOK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;IAEpC,WAAA,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;IACzC,WAAA,GAAG,EAAE,CAAA;;qCAD4C,qBAAqB;;mEAyBxE;AASK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;IACX,WAAA,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IAAoB,WAAA,GAAG,EAAE,CAAA;;;;kEA8DjF;AAWK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC;IAEtC,WAAA,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,CAAA;IAC9C,WAAA,GAAG,EAAE,CAAA;;qCADiD,0BAA0B;;mEA4BlF;AA/cU,sBAAsB;IADlC,QAAQ,EAAE;GACE,sBAAsB,CAyjBlC"}
|