xypriss 1.3.7 → 2.0.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 (88) hide show
  1. package/README.md +219 -31
  2. package/dist/cjs/mods/security/src/components/cache/index.js +0 -72
  3. package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
  4. package/dist/cjs/mods/security/src/index.js +0 -3
  5. package/dist/cjs/mods/security/src/index.js.map +1 -1
  6. package/dist/cjs/shared/logger/Logger.js +2 -0
  7. package/dist/cjs/shared/logger/Logger.js.map +1 -1
  8. package/dist/cjs/src/index.js +55 -61
  9. package/dist/cjs/src/index.js.map +1 -1
  10. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +281 -0
  11. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  12. package/dist/cjs/src/middleware/built-in/index.js +325 -0
  13. package/dist/cjs/src/middleware/built-in/index.js.map +1 -0
  14. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  15. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  16. package/dist/cjs/src/quick-start.js +0 -4
  17. package/dist/cjs/src/quick-start.js.map +1 -1
  18. package/dist/cjs/src/server/FastServer.js +53 -411
  19. package/dist/cjs/src/server/FastServer.js.map +1 -1
  20. package/dist/cjs/src/server/ServerFactory.js +7 -62
  21. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  22. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +1 -1
  23. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js +1 -1
  24. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  25. package/dist/cjs/src/server/components/fastapi/RouteManager.js +0 -82
  26. package/dist/cjs/src/server/components/fastapi/RouteManager.js.map +1 -1
  27. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +384 -0
  28. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  29. package/dist/cjs/src/server/const/default.js +0 -8
  30. package/dist/cjs/src/server/const/default.js.map +1 -1
  31. package/dist/cjs/src/server/core/HttpServer.js +500 -0
  32. package/dist/cjs/src/server/core/HttpServer.js.map +1 -0
  33. package/dist/cjs/src/server/core/XyprissApp.js +412 -0
  34. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -0
  35. package/dist/cjs/src/server/middleware/MiddlewareManager.js +146 -0
  36. package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -0
  37. package/dist/cjs/src/server/routing/Router.js +341 -0
  38. package/dist/cjs/src/server/routing/Router.js.map +1 -0
  39. package/dist/cjs/src/server/utils/PortManager.js +1 -0
  40. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  41. package/dist/cjs/src/server/utils/es_modules.js +3 -2
  42. package/dist/cjs/src/server/utils/es_modules.js.map +1 -1
  43. package/dist/cjs/src/server/utils/forceClosePort.js +294 -88
  44. package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
  45. package/dist/esm/mods/security/src/components/cache/index.js +1 -70
  46. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
  47. package/dist/esm/mods/security/src/index.js +1 -1
  48. package/dist/esm/shared/logger/Logger.js +2 -0
  49. package/dist/esm/shared/logger/Logger.js.map +1 -1
  50. package/dist/esm/src/index.js +41 -11
  51. package/dist/esm/src/index.js.map +1 -1
  52. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +279 -0
  53. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  54. package/dist/esm/src/middleware/built-in/index.js +323 -0
  55. package/dist/esm/src/middleware/built-in/index.js.map +1 -0
  56. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  57. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  58. package/dist/esm/src/quick-start.js +0 -4
  59. package/dist/esm/src/quick-start.js.map +1 -1
  60. package/dist/esm/src/server/FastServer.js +53 -411
  61. package/dist/esm/src/server/FastServer.js.map +1 -1
  62. package/dist/esm/src/server/ServerFactory.js +8 -59
  63. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  64. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +1 -1
  65. package/dist/esm/src/server/components/fastapi/PerformanceManager.js +1 -1
  66. package/dist/esm/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  67. package/dist/esm/src/server/components/fastapi/RouteManager.js +0 -82
  68. package/dist/esm/src/server/components/fastapi/RouteManager.js.map +1 -1
  69. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +382 -0
  70. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  71. package/dist/esm/src/server/const/default.js +0 -8
  72. package/dist/esm/src/server/const/default.js.map +1 -1
  73. package/dist/esm/src/server/core/HttpServer.js +498 -0
  74. package/dist/esm/src/server/core/HttpServer.js.map +1 -0
  75. package/dist/esm/src/server/core/XyprissApp.js +410 -0
  76. package/dist/esm/src/server/core/XyprissApp.js.map +1 -0
  77. package/dist/esm/src/server/middleware/MiddlewareManager.js +144 -0
  78. package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -0
  79. package/dist/esm/src/server/routing/Router.js +339 -0
  80. package/dist/esm/src/server/routing/Router.js.map +1 -0
  81. package/dist/esm/src/server/utils/PortManager.js +1 -0
  82. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  83. package/dist/esm/src/server/utils/es_modules.js +3 -3
  84. package/dist/esm/src/server/utils/es_modules.js.map +1 -1
  85. package/dist/esm/src/server/utils/forceClosePort.js +294 -88
  86. package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
  87. package/dist/index.d.ts +2166 -4273
  88. package/package.json +31 -19
@@ -0,0 +1,384 @@
1
+ 'use strict';
2
+
3
+ var PortManager = require('../../utils/PortManager.js');
4
+ var RequestProcessor = require('../fastapi/RequestProcessor.js');
5
+ var RouteManager = require('../fastapi/RouteManager.js');
6
+ var MonitoringManager = require('../fastapi/MonitoringManager.js');
7
+ var RedirectManager = require('../fastapi/RedirectManager.js');
8
+ var ConsoleInterceptor = require('../fastapi/console/ConsoleInterceptor.js');
9
+ var NotFoundHandler = require('../../handlers/NotFoundHandler.js');
10
+
11
+ /**
12
+ * ServerLifecycleManager - Modular server lifecycle management
13
+ *
14
+ * This module handles server initialization, startup, and lifecycle management
15
+ * in a modular way, extracted from the main FastServer class for better
16
+ * separation of concerns and maintainability.
17
+ */
18
+ /**
19
+ * ServerLifecycleManager - Handles server initialization and startup lifecycle
20
+ */
21
+ class ServerLifecycleManager {
22
+ constructor(dependencies) {
23
+ this.dependencies = dependencies;
24
+ this.state = {
25
+ ready: false,
26
+ currentPort: 0,
27
+ initPromise: Promise.resolve(),
28
+ };
29
+ }
30
+ /**
31
+ * Initialize all dependent components
32
+ */
33
+ async initializeDependentComponents() {
34
+ const { app, options, logger } = this.dependencies;
35
+ // Ensure required components are available
36
+ if (!this.dependencies.cacheManager ||
37
+ !this.dependencies.performanceManager ||
38
+ !this.dependencies.pluginManager) {
39
+ throw new Error("Required components (cacheManager, performanceManager, pluginManager) must be initialized before dependent components");
40
+ }
41
+ logger.debug("lifecycle", "Initializing dependent components...");
42
+ // Initialize components that depend on others
43
+ this.dependencies.requestProcessor = new RequestProcessor.RequestProcessor({
44
+ performanceProfiler: this.dependencies.performanceManager.getPerformanceProfiler(),
45
+ executionPredictor: this.dependencies.performanceManager.getExecutionPredictor(),
46
+ requestPreCompiler: this.dependencies.performanceManager.getRequestPreCompiler(),
47
+ pluginEngine: this.dependencies.pluginManager.getPluginEngine(),
48
+ cacheManager: this.dependencies.cacheManager,
49
+ });
50
+ this.dependencies.routeManager = new RouteManager.RouteManager({
51
+ app,
52
+ cacheManager: this.dependencies.cacheManager,
53
+ middlewareManager: this.dependencies.middlewareManager,
54
+ ultraFastOptimizer: this.dependencies.performanceManager.getUltraFastOptimizer(),
55
+ });
56
+ this.dependencies.monitoringManager = new MonitoringManager.MonitoringManager({
57
+ monitoring: options.monitoring,
58
+ }, {
59
+ app,
60
+ cacheManager: this.dependencies.cacheManager,
61
+ performanceManager: this.dependencies.performanceManager,
62
+ });
63
+ // Initialize other components
64
+ this.dependencies.redirectManager = new RedirectManager.RedirectManager(logger);
65
+ this.dependencies.consoleInterceptor = new ConsoleInterceptor.ConsoleInterceptor(logger, options.logging);
66
+ this.dependencies.notFoundHandler = NotFoundHandler.createNotFoundHandler(options);
67
+ if (options.logging?.consoleInterception?.enabled) {
68
+ this.dependencies.consoleInterceptor.start();
69
+ logger.info("console", "Console interception system activated");
70
+ }
71
+ logger.debug("lifecycle", "Dependent components initialized successfully");
72
+ }
73
+ /**
74
+ * Start server with error handling and port switching
75
+ */
76
+ async startServerWithPortHandling(port, host, callback) {
77
+ const { app, options, logger } = this.dependencies;
78
+ try {
79
+ // Check port availability first when auto port switch is enabled
80
+ if (options.server?.autoPortSwitch?.enabled) {
81
+ const portManager = new PortManager.PortManager(port, options.server?.autoPortSwitch);
82
+ const result = await portManager.findAvailablePort(host);
83
+ if (!result.success) {
84
+ throw new Error(`Failed to find an available port after ${options.server?.autoPortSwitch?.maxAttempts || 10} attempts`);
85
+ }
86
+ if (result.switched) {
87
+ logger.portSwitching("server", `🔄 Port ${port} was in use, switched to port ${result.port}`);
88
+ port = result.port; // Use the switched port
89
+ }
90
+ }
91
+ else {
92
+ // When auto port switch is disabled, check if port is available first
93
+ const portManager = new PortManager.PortManager(port, { enabled: false });
94
+ const result = await portManager.findAvailablePort(host);
95
+ if (!result.success) {
96
+ throw new Error(`Failed to start server. Port ${port} is already in use. ` +
97
+ `Enable autoPortSwitch in server config to automatically find an available port.`);
98
+ }
99
+ }
100
+ // Try to start server on the requested port
101
+ return new Promise((resolve, reject) => {
102
+ logger.debug("server", `ServerLifecycleManager: Starting server on ${host}:${port} using app.listen()`);
103
+ const server = app.listen(port, host, () => {
104
+ this.state.currentPort = port; // Track the actual running port
105
+ logger.info("server", `Server running on ${host}:${port}`);
106
+ logger.debug("server", `State: ${this.state.ready ? "Ready" : "Initializing..."}`);
107
+ if (callback)
108
+ callback();
109
+ resolve(server);
110
+ });
111
+ server.on("error", async (error) => {
112
+ logger.debug("server", `Server error on port ${port}: ${error.code} - ${error.message}`);
113
+ if (error.code === "EADDRINUSE") {
114
+ // Port is in use, try auto-switching if enabled
115
+ if (options.server?.autoPortSwitch?.enabled) {
116
+ logger.info("server", `🔄 Port ${port} is in use, attempting auto port switch...`);
117
+ try {
118
+ const result = await this.handlePortSwitching(port, host);
119
+ logger.info("server", `✅ Found available port: ${result.port}`);
120
+ // Recursively try with the new port
121
+ const newServer = await this.startServerWithPortHandling(result.port, host, callback);
122
+ resolve(newServer);
123
+ }
124
+ catch (switchError) {
125
+ logger.error("server", `❌ Port switching failed: ${switchError}`);
126
+ reject(switchError);
127
+ }
128
+ }
129
+ else {
130
+ reject(new Error(`Failed to start server. Port ${port} is already in use. ` +
131
+ `Enable autoPortSwitch in server config to automatically find an available port.`));
132
+ }
133
+ }
134
+ else {
135
+ reject(error);
136
+ }
137
+ });
138
+ });
139
+ }
140
+ catch (error) {
141
+ throw error;
142
+ }
143
+ }
144
+ /**
145
+ * Handle automatic port switching when port is in use
146
+ */
147
+ async handlePortSwitching(requestedPort, host = "localhost") {
148
+ const { options, logger } = this.dependencies;
149
+ const portManager = new PortManager.PortManager(requestedPort, options.server?.autoPortSwitch);
150
+ const result = await portManager.findAvailablePort(host);
151
+ if (result.switched) {
152
+ logger.portSwitching("server", `🔄 Port ${requestedPort} was in use, switched to port ${result.port}`);
153
+ logger.portSwitching("server", ` Attempts: ${result.attempts}, Strategy: ${portManager.getConfig()?.strategy || "increment"}`);
154
+ }
155
+ if (!result.success) {
156
+ const maxAttempts = options.server?.autoPortSwitch?.maxAttempts || 10;
157
+ throw new Error(`Failed to find an available port after ${maxAttempts} attempts. ` +
158
+ `Original port: ${requestedPort}, Last attempted: ${result.port}`);
159
+ }
160
+ return result;
161
+ }
162
+ /**
163
+ * Get the current server state
164
+ */
165
+ getState() {
166
+ return { ...this.state };
167
+ }
168
+ /**
169
+ * Update the server state
170
+ */
171
+ updateState(updates) {
172
+ this.state = { ...this.state, ...updates };
173
+ }
174
+ /**
175
+ * Get the current running port
176
+ */
177
+ getCurrentPort() {
178
+ return this.state.currentPort;
179
+ }
180
+ /**
181
+ * Set the HTTP server instance
182
+ */
183
+ setHttpServer(server) {
184
+ this.state.httpServer = server;
185
+ }
186
+ /**
187
+ * Get the HTTP server instance
188
+ */
189
+ getHttpServer() {
190
+ return this.state.httpServer;
191
+ }
192
+ /**
193
+ * Mark the server as ready
194
+ */
195
+ markReady() {
196
+ this.state.ready = true;
197
+ }
198
+ /**
199
+ * Check if the server is ready
200
+ */
201
+ isReady() {
202
+ return this.state.ready;
203
+ }
204
+ /**
205
+ * Add start method to app with cluster support
206
+ */
207
+ addStartMethod(waitForReady) {
208
+ const { app, options, logger } = this.dependencies;
209
+ const start = async (port, callback) => {
210
+ // Wait for server to be ready before starting
211
+ if (!this.state.ready) {
212
+ logger.debug("server", "Waiting for initialization to complete...");
213
+ await waitForReady();
214
+ logger.info("server", "Initialization complete, starting server...");
215
+ }
216
+ const serverPort = port || options.server?.port || 3000;
217
+ const host = options.server?.host || "localhost";
218
+ // Handle different startup modes (hot reload, cluster, single process)
219
+ return await this.handleServerStartup(serverPort, host, callback);
220
+ };
221
+ // Add the start method to the app
222
+ app.start = start;
223
+ app.waitForReady = waitForReady;
224
+ // Add port management methods
225
+ app.getPort = () => this.getCurrentPort();
226
+ app.forceClosePort = async (port) => {
227
+ const { Port } = await Promise.resolve().then(function () { return require('../../utils/forceClosePort.js'); });
228
+ return await new Port(port).forceClosePort();
229
+ };
230
+ // Add redirect management methods if redirectManager is available
231
+ if (this.dependencies.redirectManager) {
232
+ app.redirectFromPort = (fromPort, toPort, options) => this.dependencies.redirectManager.redirectFromPort(fromPort, toPort, options);
233
+ app.getRedirectInstance = (fromPort) => this.dependencies.redirectManager.getRedirectInstance(fromPort);
234
+ app.getAllRedirectInstances = () => this.dependencies.redirectManager.getAllRedirectInstances();
235
+ app.disconnectRedirect = (fromPort) => this.dependencies.redirectManager.disconnectRedirect(fromPort);
236
+ app.disconnectAllRedirects = () => this.dependencies.redirectManager.disconnectAllRedirects();
237
+ app.getRedirectStats = (fromPort) => this.dependencies.redirectManager.getRedirectStats(fromPort);
238
+ }
239
+ }
240
+ /**
241
+ * Handle different server startup modes
242
+ */
243
+ async handleServerStartup(serverPort, host, callback) {
244
+ const { logger } = this.dependencies;
245
+ // Check for hot reload mode
246
+ if (this.dependencies.fileWatcherManager?.isInMainProcess() &&
247
+ this.dependencies.fileWatcherManager?.getHotReloader()) {
248
+ return await this.handleHotReloadStartup(serverPort, host, callback);
249
+ }
250
+ // Check for cluster mode
251
+ if (this.dependencies.clusterManager?.isClusterEnabled()) {
252
+ return await this.handleClusterStartup(serverPort, host, callback);
253
+ }
254
+ // Default single process mode
255
+ logger.debug("server", "Taking single process mode path");
256
+ return await this.handleSingleProcessStartup(serverPort, host, callback);
257
+ }
258
+ /**
259
+ * Handle hot reload startup
260
+ */
261
+ async handleHotReloadStartup(serverPort, host, callback) {
262
+ const { logger } = this.dependencies;
263
+ logger.debug("server", "Taking hot reload mode path");
264
+ logger.startup("fileWatcher", "Starting with hot reload support...");
265
+ try {
266
+ // Start the hot reloader (which will spawn child process)
267
+ await this.dependencies
268
+ .fileWatcherManager.getHotReloader()
269
+ .start();
270
+ // Start file watcher in main process to monitor changes
271
+ if (this.dependencies.fileWatcherManager.getFileWatcher()) {
272
+ await this.dependencies.fileWatcherManager.startFileWatcherWithHotReload();
273
+ }
274
+ // Start the actual HTTP server in the main process too
275
+ this.state.httpServer = await this.startServerWithPortHandling(serverPort, host, async () => {
276
+ this.dependencies.fileWatcherManager.setHttpServer(this.state.httpServer);
277
+ if (callback)
278
+ callback();
279
+ });
280
+ return this.state.httpServer;
281
+ }
282
+ catch (error) {
283
+ logger.error("fileWatcher", "Hot reload startup failed:", error.message);
284
+ // Fall through to regular startup
285
+ return await this.handleSingleProcessStartup(serverPort, host, callback);
286
+ }
287
+ }
288
+ /**
289
+ * Handle cluster startup
290
+ */
291
+ async handleClusterStartup(serverPort, host, callback) {
292
+ const { logger } = this.dependencies;
293
+ // Double-check we're not in worker mode
294
+ if (process.env.CLUSTER_MODE === "true" ||
295
+ process.env.NODE_ENV === "worker") {
296
+ logger.debug("server", "Worker mode detected - falling back to single process");
297
+ return await this.handleSingleProcessStartup(serverPort, host, callback);
298
+ }
299
+ logger.debug("server", "Taking cluster mode path");
300
+ try {
301
+ // Start cluster manager
302
+ await this.dependencies.clusterManager.startCluster();
303
+ // Check if we're in master or worker process
304
+ if (process.env.NODE_ENV !== "worker") {
305
+ return await this.handleClusterMasterStartup(serverPort, host, callback);
306
+ }
307
+ else {
308
+ return await this.handleClusterWorkerStartup(serverPort, host, callback);
309
+ }
310
+ }
311
+ catch (error) {
312
+ logger.error("cluster", "Failed to start cluster:", error.message);
313
+ logger.info("cluster", "Falling back to single process mode");
314
+ return await this.handleSingleProcessStartup(serverPort, host, callback);
315
+ }
316
+ }
317
+ /**
318
+ * Handle cluster master startup
319
+ */
320
+ async handleClusterMasterStartup(serverPort, host, callback) {
321
+ const { logger } = this.dependencies;
322
+ logger.startup("cluster", "Starting as cluster master process");
323
+ // Setup cluster event handlers
324
+ this.dependencies.clusterManager.setupClusterEventHandlers();
325
+ // Start HTTP server in master process
326
+ this.state.httpServer = await this.startServerWithPortHandling(serverPort, host, async () => {
327
+ // Set HTTP server reference for file watcher restarts
328
+ this.dependencies.fileWatcherManager.setHttpServer(this.state.httpServer);
329
+ const clusterStats = await this.dependencies.clusterManager.getClusterStats();
330
+ logger.debug("cluster", `Cluster master started with ${clusterStats.workers?.total || 0} workers`);
331
+ // Start file watcher if enabled
332
+ if (this.dependencies.fileWatcherManager.getFileWatcher()) {
333
+ if (this.dependencies.fileWatcherManager.isInMainProcess()) {
334
+ await this.dependencies.fileWatcherManager.startFileWatcherWithHotReload();
335
+ }
336
+ else {
337
+ await this.dependencies.fileWatcherManager.startFileWatcher();
338
+ }
339
+ }
340
+ if (callback)
341
+ callback();
342
+ });
343
+ return this.state.httpServer;
344
+ }
345
+ /**
346
+ * Handle cluster worker startup
347
+ */
348
+ async handleClusterWorkerStartup(serverPort, host, callback) {
349
+ const { logger } = this.dependencies;
350
+ logger.startup("cluster", `Worker ${process.pid} started`);
351
+ const httpServer = await this.startServerWithPortHandling(serverPort, host, () => {
352
+ logger.info("cluster", `Worker ${process.pid} listening on ${host}:${serverPort}`);
353
+ if (callback)
354
+ callback();
355
+ });
356
+ return httpServer;
357
+ }
358
+ /**
359
+ * Handle single process startup
360
+ */
361
+ async handleSingleProcessStartup(serverPort, host, callback) {
362
+ this.state.httpServer = await this.startServerWithPortHandling(serverPort, host, async () => {
363
+ // Set HTTP server reference for file watcher restarts
364
+ if (this.dependencies.fileWatcherManager) {
365
+ this.dependencies.fileWatcherManager.setHttpServer(this.state.httpServer);
366
+ // Start file watcher if enabled
367
+ if (this.dependencies.fileWatcherManager.getFileWatcher()) {
368
+ if (this.dependencies.fileWatcherManager.isInMainProcess()) {
369
+ await this.dependencies.fileWatcherManager.startFileWatcherWithHotReload();
370
+ }
371
+ else {
372
+ await this.dependencies.fileWatcherManager.startFileWatcher();
373
+ }
374
+ }
375
+ }
376
+ if (callback)
377
+ callback();
378
+ });
379
+ return this.state.httpServer;
380
+ }
381
+ }
382
+
383
+ exports.ServerLifecycleManager = ServerLifecycleManager;
384
+ //# sourceMappingURL=ServerLifecycleManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerLifecycleManager.js","sources":["../../../../../../src/server/components/lifecycle/ServerLifecycleManager.ts"],"sourcesContent":[null],"names":["RequestProcessor","RouteManager","MonitoringManager","RedirectManager","ConsoleInterceptor","createNotFoundHandler","PortManager"],"mappings":";;;;;;;;;;AAAA;;;;;;AAMG;AAoDH;;AAEG;MACU,sBAAsB,CAAA;AAI/B,IAAA,WAAA,CAAY,YAAyC,EAAA;AACjD,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG;AACT,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE;SACjC,CAAC;KACL;AAED;;AAEG;AACI,IAAA,MAAM,6BAA6B,GAAA;QACtC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;;AAGnD,QAAA,IACI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY;AAC/B,YAAA,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB;AACrC,YAAA,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAClC;AACE,YAAA,MAAM,IAAI,KAAK,CACX,uHAAuH,CAC1H,CAAC;SACL;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC;;AAGlE,QAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,IAAIA,iCAAgB,CAAC;YACtD,mBAAmB,EACf,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,sBAAsB,EAAE;YACjE,kBAAkB,EACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YAChE,kBAAkB,EACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YAChE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,EAAE;AAC/D,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;AAC/C,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAIC,yBAAY,CAAC;YAC9C,GAAG;AACH,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;AAC5C,YAAA,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,iBAAiB;YACtD,kBAAkB,EACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;AACnE,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAIC,mCAAiB,CACvD;YACI,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,EACD;YACI,GAAG;AACH,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;AAC5C,YAAA,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB;AAC3D,SAAA,CACJ,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,IAAIC,+BAAe,CAAC,MAAM,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,IAAIC,qCAAkB,CACzD,MAAM,EACN,OAAO,CAAC,OAAO,CAClB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,eAAe,GAAGC,qCAAqB,CAAC,OAAO,CAAC,CAAC;QAEnE,IAAI,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE;AAC/C,YAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC7C,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;SACnE;AAED,QAAA,MAAM,CAAC,KAAK,CACR,WAAW,EACX,+CAA+C,CAClD,CAAC;KACL;AAED;;AAEG;AACI,IAAA,MAAM,2BAA2B,CACpC,IAAY,EACZ,IAAY,EACZ,QAAqB,EAAA;QAErB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAEnD,QAAA,IAAI;;YAEA,IAAI,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE;AACzC,gBAAA,MAAM,WAAW,GAAG,IAAIC,uBAAW,CAC/B,IAAI,EACJ,OAAO,CAAC,MAAM,EAAE,cAAc,CACjC,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAEzD,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,oBAAA,MAAM,IAAI,KAAK,CACX,CAAA,uCAAA,EACI,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,IAAI,EACnD,CAAA,SAAA,CAAW,CACd,CAAC;iBACL;AAED,gBAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACjB,oBAAA,MAAM,CAAC,aAAa,CAChB,QAAQ,EACR,CAAA,QAAA,EAAW,IAAI,CAAA,8BAAA,EAAiC,MAAM,CAAC,IAAI,CAAA,CAAE,CAChE,CAAC;AACF,oBAAA,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;iBACtB;aACJ;iBAAM;;AAEH,gBAAA,MAAM,WAAW,GAAG,IAAIA,uBAAW,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAEzD,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,oBAAA,MAAM,IAAI,KAAK,CACX,CAAA,6BAAA,EAAgC,IAAI,CAAsB,oBAAA,CAAA;AACtD,wBAAA,CAAA,+EAAA,CAAiF,CACxF,CAAC;iBACL;aACJ;;YAGD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;gBACnC,MAAM,CAAC,KAAK,CACR,QAAQ,EACR,CAA8C,2CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,IAAI,CAAqB,mBAAA,CAAA,CAClF,CAAC;gBACF,MAAM,MAAM,GAAI,GAAW,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAK;oBAChD,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAqB,kBAAA,EAAA,IAAI,CAAI,CAAA,EAAA,IAAI,CAAE,CAAA,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CACR,QAAQ,EACR,CACI,OAAA,EAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,iBACjC,CAAE,CAAA,CACL,CAAC;AACF,oBAAA,IAAI,QAAQ;AAAE,wBAAA,QAAQ,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,CAAC;AACpB,iBAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAU,KAAI;AACpC,oBAAA,MAAM,CAAC,KAAK,CACR,QAAQ,EACR,wBAAwB,IAAI,CAAA,EAAA,EAAK,KAAK,CAAC,IAAI,CAAM,GAAA,EAAA,KAAK,CAAC,OAAO,CAAA,CAAE,CACnE,CAAC;AAEF,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;;wBAE7B,IAAI,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE;4BACzC,MAAM,CAAC,IAAI,CACP,QAAQ,EACR,CAAW,QAAA,EAAA,IAAI,CAA4C,0CAAA,CAAA,CAC9D,CAAC;AACF,4BAAA,IAAI;gCACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACzC,IAAI,EACJ,IAAI,CACP,CAAC;gCACF,MAAM,CAAC,IAAI,CACP,QAAQ,EACR,CAA2B,wBAAA,EAAA,MAAM,CAAC,IAAI,CAAE,CAAA,CAC3C,CAAC;;AAGF,gCAAA,MAAM,SAAS,GACX,MAAM,IAAI,CAAC,2BAA2B,CAClC,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,QAAQ,CACX,CAAC;gCACN,OAAO,CAAC,SAAS,CAAC,CAAC;6BACtB;4BAAC,OAAO,WAAW,EAAE;gCAClB,MAAM,CAAC,KAAK,CACR,QAAQ,EACR,CAA4B,yBAAA,EAAA,WAAW,CAAE,CAAA,CAC5C,CAAC;gCACF,MAAM,CAAC,WAAW,CAAC,CAAC;6BACvB;yBACJ;6BAAM;AACH,4BAAA,MAAM,CACF,IAAI,KAAK,CACL,CAAA,6BAAA,EAAgC,IAAI,CAAsB,oBAAA,CAAA;gCACtD,CAAiF,+EAAA,CAAA,CACxF,CACJ,CAAC;yBACL;qBACJ;yBAAM;wBACH,MAAM,CAAC,KAAK,CAAC,CAAC;qBACjB;AACL,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;AACZ,YAAA,MAAM,KAAK,CAAC;SACf;KACJ;AAED;;AAEG;AACK,IAAA,MAAM,mBAAmB,CAC7B,aAAqB,EACrB,OAAe,WAAW,EAAA;QAE1B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAE9C,QAAA,MAAM,WAAW,GAAG,IAAIA,uBAAW,CAC/B,aAAa,EACb,OAAO,CAAC,MAAM,EAAE,cAAc,CACjC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAEzD,QAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,CAAC,aAAa,CAChB,QAAQ,EACR,CAAA,QAAA,EAAW,aAAa,CAAA,8BAAA,EAAiC,MAAM,CAAC,IAAI,CAAA,CAAE,CACzE,CAAC;YACF,MAAM,CAAC,aAAa,CAChB,QAAQ,EACR,CAAgB,aAAA,EAAA,MAAM,CAAC,QAAQ,CAAA,YAAA,EAC3B,WAAW,CAAC,SAAS,EAAE,EAAE,QAAQ,IAAI,WACzC,CAAA,CAAE,CACL,CAAC;SACL;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACjB,MAAM,WAAW,GACb,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,IAAI,EAAE,CAAC;AACtD,YAAA,MAAM,IAAI,KAAK,CACX,CAAA,uCAAA,EAA0C,WAAW,CAAa,WAAA,CAAA;AAC9D,gBAAA,CAAA,eAAA,EAAkB,aAAa,CAAqB,kBAAA,EAAA,MAAM,CAAC,IAAI,CAAA,CAAE,CACxE,CAAC;SACL;AAED,QAAA,OAAO,MAAM,CAAC;KACjB;AAED;;AAEG;IACI,QAAQ,GAAA;AACX,QAAA,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;KAC5B;AAED;;AAEG;AACI,IAAA,WAAW,CAAC,OAAsC,EAAA;AACrD,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;KAC9C;AAED;;AAEG;IACI,cAAc,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;KACjC;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,MAAW,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;KAClC;AAED;;AAEG;IACI,aAAa,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;KAChC;AAED;;AAEG;IACI,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;KAC3B;AAED;;AAEG;IACI,OAAO,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;KAC3B;AAED;;AAEG;AACI,IAAA,cAAc,CAAC,YAAiC,EAAA;QACnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAEnD,MAAM,KAAK,GAAG,OAAO,IAAa,EAAE,QAAqB,KAAI;;AAEzD,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AACnB,gBAAA,MAAM,CAAC,KAAK,CACR,QAAQ,EACR,2CAA2C,CAC9C,CAAC;gBACF,MAAM,YAAY,EAAE,CAAC;AACrB,gBAAA,MAAM,CAAC,IAAI,CACP,QAAQ,EACR,6CAA6C,CAChD,CAAC;aACL;YAED,MAAM,UAAU,GAAG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;YACxD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC;;YAGjD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtE,SAAC,CAAC;;AAGF,QAAA,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;AAClB,QAAA,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;;QAGhC,GAAG,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAC1C,QAAA,GAAG,CAAC,cAAc,GAAG,OAAO,IAAY,KAAI;YACxC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,oDAAO,+BAA4B,KAAC,CAAC;YAC5D,OAAO,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;AACjD,SAAC,CAAC;;AAGF,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;YACnC,GAAG,CAAC,gBAAgB,GAAG,CACnB,QAAgB,EAChB,MAAc,EACd,OAAa,KAEb,IAAI,CAAC,YAAY,CAAC,eAAgB,CAAC,gBAAgB,CAC/C,QAAQ,EACR,MAAM,EACN,OAAO,CACV,CAAC;AACN,YAAA,GAAG,CAAC,mBAAmB,GAAG,CAAC,QAAgB,KACvC,IAAI,CAAC,YAAY,CAAC,eAAgB,CAAC,mBAAmB,CAClD,QAAQ,CACX,CAAC;AACN,YAAA,GAAG,CAAC,uBAAuB,GAAG,MAC1B,IAAI,CAAC,YAAY,CAAC,eAAgB,CAAC,uBAAuB,EAAE,CAAC;AACjE,YAAA,GAAG,CAAC,kBAAkB,GAAG,CAAC,QAAgB,KACtC,IAAI,CAAC,YAAY,CAAC,eAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACpE,YAAA,GAAG,CAAC,sBAAsB,GAAG,MACzB,IAAI,CAAC,YAAY,CAAC,eAAgB,CAAC,sBAAsB,EAAE,CAAC;AAChE,YAAA,GAAG,CAAC,gBAAgB,GAAG,CAAC,QAAgB,KACpC,IAAI,CAAC,YAAY,CAAC,eAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SACrE;KACJ;AAED;;AAEG;AACK,IAAA,MAAM,mBAAmB,CAC7B,UAAkB,EAClB,IAAY,EACZ,QAAqB,EAAA;AAErB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;;AAGrC,QAAA,IACI,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,eAAe,EAAE;YACvD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,cAAc,EAAE,EACxD;YACE,OAAO,MAAM,IAAI,CAAC,sBAAsB,CACpC,UAAU,EACV,IAAI,EACJ,QAAQ,CACX,CAAC;SACL;;QAGD,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,gBAAgB,EAAE,EAAE;YACtD,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;SACtE;;AAGD,QAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,iCAAiC,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAI,CAAC,0BAA0B,CACxC,UAAU,EACV,IAAI,EACJ,QAAQ,CACX,CAAC;KACL;AAED;;AAEG;AACK,IAAA,MAAM,sBAAsB,CAChC,UAAkB,EAClB,IAAY,EACZ,QAAqB,EAAA;AAErB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAErC,QAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;AACtD,QAAA,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,qCAAqC,CAAC,CAAC;AAErE,QAAA,IAAI;;YAEA,MAAM,IAAI,CAAC,YAAY;iBAClB,kBAAmB,CAAC,cAAc,EAAG;AACrC,iBAAA,KAAK,EAAE,CAAC;;YAGb,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAmB,CAAC,cAAc,EAAE,EAAE;gBACxD,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAmB,CAAC,6BAA6B,EAAE,CAAC;aAC/E;;AAGD,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAC1D,UAAU,EACV,IAAI,EACJ,YAAW;AACP,gBAAA,IAAI,CAAC,YAAY,CAAC,kBAAmB,CAAC,aAAa,CAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CACxB,CAAC;AACF,gBAAA,IAAI,QAAQ;AAAE,oBAAA,QAAQ,EAAE,CAAC;AAC7B,aAAC,CACJ,CAAC;AAEF,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;SAChC;QAAC,OAAO,KAAU,EAAE;YACjB,MAAM,CAAC,KAAK,CACR,aAAa,EACb,4BAA4B,EAC5B,KAAK,CAAC,OAAO,CAChB,CAAC;;YAEF,OAAO,MAAM,IAAI,CAAC,0BAA0B,CACxC,UAAU,EACV,IAAI,EACJ,QAAQ,CACX,CAAC;SACL;KACJ;AAED;;AAEG;AACK,IAAA,MAAM,oBAAoB,CAC9B,UAAkB,EAClB,IAAY,EACZ,QAAqB,EAAA;AAErB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;;AAGrC,QAAA,IACI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;AACnC,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,EACnC;AACE,YAAA,MAAM,CAAC,KAAK,CACR,QAAQ,EACR,uDAAuD,CAC1D,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,0BAA0B,CACxC,UAAU,EACV,IAAI,EACJ,QAAQ,CACX,CAAC;SACL;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;AAEnD,QAAA,IAAI;;YAEA,MAAM,IAAI,CAAC,YAAY,CAAC,cAAe,CAAC,YAAY,EAAE,CAAC;;YAGvD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACnC,OAAO,MAAM,IAAI,CAAC,0BAA0B,CACxC,UAAU,EACV,IAAI,EACJ,QAAQ,CACX,CAAC;aACL;iBAAM;gBACH,OAAO,MAAM,IAAI,CAAC,0BAA0B,CACxC,UAAU,EACV,IAAI,EACJ,QAAQ,CACX,CAAC;aACL;SACJ;QAAC,OAAO,KAAU,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACnE,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;YAC9D,OAAO,MAAM,IAAI,CAAC,0BAA0B,CACxC,UAAU,EACV,IAAI,EACJ,QAAQ,CACX,CAAC;SACL;KACJ;AAED;;AAEG;AACK,IAAA,MAAM,0BAA0B,CACpC,UAAkB,EAClB,IAAY,EACZ,QAAqB,EAAA;AAErB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAErC,QAAA,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;;AAGhE,QAAA,IAAI,CAAC,YAAY,CAAC,cAAe,CAAC,yBAAyB,EAAE,CAAC;;AAG9D,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAC1D,UAAU,EACV,IAAI,EACJ,YAAW;;AAEP,YAAA,IAAI,CAAC,YAAY,CAAC,kBAAmB,CAAC,aAAa,CAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CACxB,CAAC;YAEF,MAAM,YAAY,GACd,MAAM,IAAI,CAAC,YAAY,CAAC,cAAe,CAAC,eAAe,EAAE,CAAC;AAC9D,YAAA,MAAM,CAAC,KAAK,CACR,SAAS,EACT,CACI,4BAAA,EAAA,YAAY,CAAC,OAAO,EAAE,KAAK,IAAI,CACnC,CAAA,QAAA,CAAU,CACb,CAAC;;YAGF,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAmB,CAAC,cAAc,EAAE,EAAE;gBACxD,IACI,IAAI,CAAC,YAAY,CAAC,kBAAmB,CAAC,eAAe,EAAE,EACzD;oBACE,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAmB,CAAC,6BAA6B,EAAE,CAAC;iBAC/E;qBAAM;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAmB,CAAC,gBAAgB,EAAE,CAAC;iBAClE;aACJ;AAED,YAAA,IAAI,QAAQ;AAAE,gBAAA,QAAQ,EAAE,CAAC;AAC7B,SAAC,CACJ,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;KAChC;AAED;;AAEG;AACK,IAAA,MAAM,0BAA0B,CACpC,UAAkB,EAClB,IAAY,EACZ,QAAqB,EAAA;AAErB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAErC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAU,OAAA,EAAA,OAAO,CAAC,GAAG,CAAU,QAAA,CAAA,CAAC,CAAC;AAE3D,QAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACrD,UAAU,EACV,IAAI,EACJ,MAAK;AACD,YAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,CAAU,OAAA,EAAA,OAAO,CAAC,GAAG,iBAAiB,IAAI,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,CAC7D,CAAC;AACF,YAAA,IAAI,QAAQ;AAAE,gBAAA,QAAQ,EAAE,CAAC;AAC7B,SAAC,CACJ,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC;KACrB;AAED;;AAEG;AACK,IAAA,MAAM,0BAA0B,CACpC,UAAkB,EAClB,IAAY,EACZ,QAAqB,EAAA;AAErB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAC1D,UAAU,EACV,IAAI,EACJ,YAAW;;AAEP,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;AACtC,gBAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,aAAa,CAC9C,IAAI,CAAC,KAAK,CAAC,UAAU,CACxB,CAAC;;gBAGF,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE;oBACvD,IACI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,eAAe,EAAE,EACxD;wBACE,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,6BAA6B,EAAE,CAAC;qBAC9E;yBAAM;wBACH,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;qBACjE;iBACJ;aACJ;AAED,YAAA,IAAI,QAAQ;AAAE,gBAAA,QAAQ,EAAE,CAAC;AAC7B,SAAC,CACJ,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;KAChC;AACJ;;;;"}
@@ -20,14 +20,6 @@ const DEFAULT_OPTIONS = {
20
20
  algorithm: "lru",
21
21
  },
22
22
  },
23
- security: {
24
- encryption: true,
25
- accessMonitoring: true,
26
- sanitization: true,
27
- auditLogging: false,
28
- cors: true,
29
- helmet: true,
30
- },
31
23
  performance: {
32
24
  compression: true,
33
25
  batchSize: 100,
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["DEFAULT_FW_CONFIG","DEFAULT_CONSOLE_CONFIG","DEFAULT_CLUSTER_CONFIGS"],"mappings":";;;;;;AAAA;;;;AAIG;AAOH;AACa,MAAA,eAAe,GAAkB;AAC1C,IAAA,KAAK,EAAE;QACH,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,MAAM;AACX,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE;AACJ,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,SAAS,EAAE,KAAK;AACnB,SAAA;AACJ,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,MAAM,EAAE,IAAI;AACf,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,QAAQ,EAAE,IAAI;;AAEd,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,qBAAqB,EAAE,IAAI;AAC3B,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,kBAAkB,EAAE,IAAI;;AAExB,QAAA,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,KAAK;QACrB,qBAAqB,EAAE,CAAC;QACxB,sBAAsB,EAAE,IAAI;AAC5B,QAAA,iBAAiB,EAAE,IAAI;;AAEvB,QAAA,qBAAqB,EAAE,IAAI;AAC3B,QAAA,uBAAuB,EAAE,IAAI;AAC7B,QAAA,yBAAyB,EAAE,IAAI;;AAE/B,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,yBAAyB,EAAE,IAAI;AAClC,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,eAAe,EAAE;AACb,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,OAAO,EAAE,EAAE;AACd,SAAA;AACJ,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,IAAI;AACV,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,cAAc,EAAE;AACZ,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,QAAQ,EAAE,QAAQ;AACrB,SAAA;AACJ,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,GAAGA,oCAAiB;QACpB,OAAO,EAAE,KAAK;AACjB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,UAAU,EAAE;AACR,YAAA,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,KAAK;AACZ,YAAA,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;AACjB,SAAA;AACD,QAAA,KAAK,EAAE;AACH,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,aAAa,EAAE,IAAI;AACtB,SAAA;AACD,QAAA,MAAM,EAAE;AACJ,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,UAAU,EAAE,KAAK;AACpB,SAAA;;AAED,QAAA,mBAAmB,EAAE;AACjB,YAAA,GAAGC,4BAAsB;YACzB,OAAO,EAAE,KAAK;AACd,YAAA,gBAAgB,EAAE,IAAI;AACzB,SAAA;AACJ,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,eAAe,EAAE,KAAK;AACzB,KAAA;AACD,IAAA,OAAO,EAAE;QACL,OAAO,EAAE,KAAK;AACd,QAAA,MAAM,EAAEC,sCAAuB;AAClC,KAAA;;;;;"}
1
+ {"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["DEFAULT_FW_CONFIG","DEFAULT_CONSOLE_CONFIG","DEFAULT_CLUSTER_CONFIGS"],"mappings":"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"}