@angular/build 22.2.0-next.4 → 22.2.0-next.5

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 (58) hide show
  1. package/package.json +10 -10
  2. package/src/builders/application/i18n.js +15 -3
  3. package/src/builders/application/i18n.js.map +1 -1
  4. package/src/builders/application/setup-bundling.js +3 -1
  5. package/src/builders/application/setup-bundling.js.map +1 -1
  6. package/src/tools/angular/compilation/parallel-compilation.js +43 -19
  7. package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
  8. package/src/tools/angular/compilation/parallel-worker.js +86 -61
  9. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  10. package/src/tools/angular/linker/oxc-linker.d.ts +13 -17
  11. package/src/tools/angular/linker/oxc-linker.js +27 -89
  12. package/src/tools/angular/linker/oxc-linker.js.map +1 -1
  13. package/src/tools/esbuild/angular/component-stylesheets.d.ts +3 -3
  14. package/src/tools/esbuild/angular/component-stylesheets.js +42 -15
  15. package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
  16. package/src/tools/esbuild/application-code-bundle.js +5 -9
  17. package/src/tools/esbuild/application-code-bundle.js.map +1 -1
  18. package/src/tools/esbuild/bundler-context.d.ts +4 -4
  19. package/src/tools/esbuild/bundler-context.js +93 -27
  20. package/src/tools/esbuild/bundler-context.js.map +1 -1
  21. package/src/tools/esbuild/cache.d.ts +10 -0
  22. package/src/tools/esbuild/cache.js +18 -0
  23. package/src/tools/esbuild/cache.js.map +1 -1
  24. package/src/tools/esbuild/i18n-inliner-worker.d.ts +59 -6
  25. package/src/tools/esbuild/i18n-inliner-worker.js +96 -28
  26. package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
  27. package/src/tools/esbuild/i18n-inliner.d.ts +37 -5
  28. package/src/tools/esbuild/i18n-inliner.js +209 -90
  29. package/src/tools/esbuild/i18n-inliner.js.map +1 -1
  30. package/src/tools/esbuild/i18n-locale-plugin.d.ts +32 -0
  31. package/src/tools/esbuild/i18n-locale-plugin.js +112 -103
  32. package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -1
  33. package/src/tools/esbuild/i18n-translation-encoder.d.ts +20 -0
  34. package/src/tools/esbuild/i18n-translation-encoder.js +92 -0
  35. package/src/tools/esbuild/i18n-translation-encoder.js.map +1 -0
  36. package/src/tools/esbuild/i18n-translation-reader.d.ts +40 -0
  37. package/src/tools/esbuild/i18n-translation-reader.js +164 -0
  38. package/src/tools/esbuild/i18n-translation-reader.js.map +1 -0
  39. package/src/tools/esbuild/javascript-transformer-worker.js +36 -46
  40. package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -1
  41. package/src/tools/esbuild/load-result-cache.d.ts +1 -0
  42. package/src/tools/esbuild/load-result-cache.js +24 -11
  43. package/src/tools/esbuild/load-result-cache.js.map +1 -1
  44. package/src/tools/oxc/oxc-transform.d.ts +3 -0
  45. package/src/tools/oxc/oxc-transform.js +53 -32
  46. package/src/tools/oxc/oxc-transform.js.map +1 -1
  47. package/src/utils/normalize-cache.js +1 -1
  48. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.d.ts +1 -1
  49. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +12 -9
  50. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js.map +1 -1
  51. package/src/utils/server-rendering/esm-in-memory-loader/utils.d.ts +8 -0
  52. package/src/utils/server-rendering/esm-in-memory-loader/utils.js +30 -0
  53. package/src/utils/server-rendering/esm-in-memory-loader/utils.js.map +1 -1
  54. package/src/utils/server-rendering/prerender.js +70 -30
  55. package/src/utils/server-rendering/prerender.js.map +1 -1
  56. package/src/utils/server-rendering/render-worker.d.ts +7 -4
  57. package/src/utils/server-rendering/render-worker.js +29 -7
  58. package/src/utils/server-rendering/render-worker.js.map +1 -1
@@ -6,3 +6,11 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  export declare const IMPORT_EXEC_ARGV: string;
9
+ /**
10
+ * Creates a shared zero-copy `Uint8Array` backed by a `SharedArrayBuffer` for the given file content.
11
+ */
12
+ export declare function createSharedFile(content: string | Uint8Array): Uint8Array;
13
+ /**
14
+ * Creates shared zero-copy `Uint8Array` views backed by `SharedArrayBuffer` for all output files.
15
+ */
16
+ export declare function createSharedServerFiles(outputFiles: Record<string, string | Uint8Array>): Record<string, Uint8Array>;
@@ -8,7 +8,37 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.IMPORT_EXEC_ARGV = void 0;
11
+ exports.createSharedFile = createSharedFile;
12
+ exports.createSharedServerFiles = createSharedServerFiles;
11
13
  const node_path_1 = require("node:path");
12
14
  const node_url_1 = require("node:url");
13
15
  exports.IMPORT_EXEC_ARGV = '--import=' + (0, node_url_1.pathToFileURL)((0, node_path_1.join)(__dirname, 'register-hooks.js')).href;
16
+ /**
17
+ * Creates a shared zero-copy `Uint8Array` backed by a `SharedArrayBuffer` for the given file content.
18
+ */
19
+ function createSharedFile(content) {
20
+ if (typeof content === 'string') {
21
+ const byteLength = Buffer.byteLength(content, 'utf-8');
22
+ const sab = new SharedArrayBuffer(byteLength);
23
+ Buffer.from(sab).write(content, 'utf-8');
24
+ return new Uint8Array(sab);
25
+ }
26
+ if (content.buffer instanceof SharedArrayBuffer) {
27
+ return content;
28
+ }
29
+ const sab = new SharedArrayBuffer(content.byteLength);
30
+ const view = new Uint8Array(sab);
31
+ view.set(content);
32
+ return view;
33
+ }
34
+ /**
35
+ * Creates shared zero-copy `Uint8Array` views backed by `SharedArrayBuffer` for all output files.
36
+ */
37
+ function createSharedServerFiles(outputFiles) {
38
+ const sharedFiles = {};
39
+ for (const [key, value] of Object.entries(outputFiles)) {
40
+ sharedFiles[key] = createSharedFile(value);
41
+ }
42
+ return sharedFiles;
43
+ }
14
44
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,yCAAiC;AACjC,uCAAyC;AAE5B,QAAA,gBAAgB,GAC3B,WAAW,GAAG,IAAA,wBAAa,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAWH,4CAkBC;AAKD,0DAUC;AA1CD,yCAAiC;AACjC,uCAAyC;AAE5B,QAAA,gBAAgB,GAC3B,WAAW,GAAG,IAAA,wBAAa,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;AAEzE;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAA4B;IAC3D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,YAAY,iBAAiB,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAElB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,WAAgD;IAEhD,MAAM,WAAW,GAA+B,EAAE,CAAC;IAEnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,WAAW,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -21,7 +21,7 @@ const manifest_1 = require("./manifest");
21
21
  const models_1 = require("./models");
22
22
  const utils_2 = require("./utils");
23
23
  async function prerenderPages(workspaceRoot, baseHref, appShellOptions, prerenderOptions, outputFiles, assets, outputMode, sourcemap = false, maxThreads = 1) {
24
- const outputFilesForWorker = {};
24
+ const rawOutputFiles = {};
25
25
  const serverBundlesSourceMaps = new Map();
26
26
  const warnings = [];
27
27
  const errors = [];
@@ -34,21 +34,22 @@ async function prerenderPages(workspaceRoot, baseHref, appShellOptions, prerende
34
34
  serverBundlesSourceMaps.set(path.slice(0, -4), text);
35
35
  }
36
36
  else {
37
- outputFilesForWorker[path] = text;
37
+ rawOutputFiles[path] = text;
38
38
  }
39
39
  }
40
40
  // Inline sourcemap into JS file. This is needed to make Node.js resolve sourcemaps
41
41
  // when using `--enable-source-maps` when using in memory files.
42
42
  for (const [filePath, map] of serverBundlesSourceMaps) {
43
- const jsContent = outputFilesForWorker[filePath];
43
+ const jsContent = rawOutputFiles[filePath];
44
44
  if (jsContent) {
45
- outputFilesForWorker[filePath] =
45
+ rawOutputFiles[filePath] =
46
46
  jsContent +
47
- `\n//# sourceMappingURL=` +
47
+ '\n//# sourceMappingURL=' +
48
48
  `data:application/json;base64,${Buffer.from(map).toString('base64')}`;
49
49
  }
50
50
  }
51
51
  serverBundlesSourceMaps.clear();
52
+ const outputFilesForWorker = (0, utils_1.createSharedServerFiles)(rawOutputFiles);
52
53
  const assetsReversed = {};
53
54
  for (const { source, destination } of assets) {
54
55
  // Assets are not stored with baseHref when using i18n,
@@ -101,7 +102,8 @@ async function prerenderPages(workspaceRoot, baseHref, appShellOptions, prerende
101
102
  // We could re-generate it from the start, but that would require a number of options to be passed down.
102
103
  const manifest = outputFilesForWorker[manifest_1.SERVER_APP_MANIFEST_FILENAME];
103
104
  if (manifest) {
104
- outputFilesForWorker[manifest_1.SERVER_APP_MANIFEST_FILENAME] = manifest.replace('routes: undefined,', `routes: ${JSON.stringify(serializableRouteTreeNodeForPrerender, undefined, 2)},`);
105
+ const manifestText = new TextDecoder().decode(manifest);
106
+ outputFilesForWorker[manifest_1.SERVER_APP_MANIFEST_FILENAME] = (0, utils_1.createSharedFile)(manifestText.replace('routes: undefined,', `routes: ${JSON.stringify(serializableRouteTreeNodeForPrerender, undefined, 2)},`));
105
107
  }
106
108
  // Render routes
107
109
  const { errors: renderingErrors, output } = await renderPages(baseHref, sourcemap, serializableRouteTreeNodeForPrerender, maxThreads, workspaceRoot, outputFilesForWorker, assetsReversed, outputMode, appShellRoute ?? appShellOptions?.route);
@@ -116,13 +118,46 @@ async function prerenderPages(workspaceRoot, baseHref, appShellOptions, prerende
116
118
  async function renderPages(baseHref, sourcemap, serializableRouteTreeNode, maxThreads, workspaceRoot, outputFilesForWorker, assetFilesForWorker, outputMode, appShellRoute) {
117
119
  const output = {};
118
120
  const errors = [];
121
+ const baseHrefPathnameWithLeadingSlash = new URL(baseHref, 'http://localhost').pathname;
122
+ const appShellRouteWithoutBaseHref = appShellRoute
123
+ ? (0, url_1.addTrailingSlash)(appShellRoute).startsWith(baseHrefPathnameWithLeadingSlash)
124
+ ? (0, url_1.addLeadingSlash)(appShellRoute.slice(baseHrefPathnameWithLeadingSlash.length))
125
+ : (0, url_1.addLeadingSlash)(appShellRoute)
126
+ : undefined;
127
+ const routesToRender = [];
128
+ for (const { route, redirectTo } of serializableRouteTreeNode) {
129
+ // Remove the base href from the file output path.
130
+ const routeWithoutBaseHref = (0, url_1.addTrailingSlash)(route).startsWith(baseHrefPathnameWithLeadingSlash)
131
+ ? (0, url_1.addLeadingSlash)(route.slice(baseHrefPathnameWithLeadingSlash.length))
132
+ : route;
133
+ const outPath = (0, url_1.stripLeadingSlash)(node_path_1.posix.join(routeWithoutBaseHref, 'index.html'));
134
+ if (typeof redirectTo === 'string') {
135
+ output[outPath] = { content: (0, utils_2.generateRedirectStaticPage)(redirectTo), appShellRoute: false };
136
+ continue;
137
+ }
138
+ routesToRender.push({
139
+ route,
140
+ outPath,
141
+ isAppShell: appShellRouteWithoutBaseHref === routeWithoutBaseHref,
142
+ });
143
+ }
144
+ if (routesToRender.length === 0) {
145
+ return {
146
+ errors,
147
+ output,
148
+ };
149
+ }
150
+ // Batch routes to reduce IPC overhead while ensuring enough batches exist for load balancing across worker threads.
151
+ const batchSize = Math.max(1, Math.min(50, Math.ceil(routesToRender.length / (maxThreads * 4))));
152
+ const numBatches = Math.ceil(routesToRender.length / batchSize);
153
+ const effectiveMaxThreads = Math.min(numBatches, maxThreads);
119
154
  const workerExecArgv = [utils_1.IMPORT_EXEC_ARGV];
120
155
  if (sourcemap) {
121
156
  workerExecArgv.push('--enable-source-maps');
122
157
  }
123
158
  const renderWorker = new worker_pool_1.WorkerPool({
124
159
  filename: require.resolve('./render-worker'),
125
- maxThreads: Math.min(serializableRouteTreeNode.length, maxThreads),
160
+ maxThreads: effectiveMaxThreads,
126
161
  workerData: {
127
162
  workspaceRoot,
128
163
  outputFiles: outputFilesForWorker,
@@ -137,35 +172,40 @@ async function renderPages(baseHref, sourcemap, serializableRouteTreeNode, maxTh
137
172
  },
138
173
  });
139
174
  try {
175
+ const routeOutPathMap = new Map();
176
+ for (const item of routesToRender) {
177
+ routeOutPathMap.set(item.route, item);
178
+ }
140
179
  const renderingPromises = [];
141
- const appShellRouteWithLeadingSlash = appShellRoute && (0, url_1.addLeadingSlash)(appShellRoute);
142
- const baseHrefPathnameWithLeadingSlash = new URL(baseHref, 'http://localhost').pathname;
143
- for (const { route, redirectTo } of serializableRouteTreeNode) {
144
- // Remove the base href from the file output path.
145
- const routeWithoutBaseHref = (0, url_1.addTrailingSlash)(route).startsWith(baseHrefPathnameWithLeadingSlash)
146
- ? (0, url_1.addLeadingSlash)(route.slice(baseHrefPathnameWithLeadingSlash.length))
147
- : route;
148
- const outPath = (0, url_1.stripLeadingSlash)(node_path_1.posix.join(routeWithoutBaseHref, 'index.html'));
149
- if (typeof redirectTo === 'string') {
150
- output[outPath] = { content: (0, utils_2.generateRedirectStaticPage)(redirectTo), appShellRoute: false };
151
- continue;
152
- }
153
- const render = renderWorker.run({ url: route });
154
- const renderResult = render
155
- .then((content) => {
156
- if (content !== null) {
157
- output[outPath] = {
158
- content,
159
- appShellRoute: appShellRouteWithLeadingSlash === routeWithoutBaseHref,
160
- };
180
+ for (let i = 0; i < routesToRender.length; i += batchSize) {
181
+ const batch = routesToRender.slice(i, i + batchSize);
182
+ const urls = batch.map((item) => item.route);
183
+ const renderBatchPromise = renderWorker.run(urls);
184
+ const batchResultPromise = renderBatchPromise
185
+ .then((results) => {
186
+ for (const { url, content, error } of results) {
187
+ if (error) {
188
+ errors.push(`An error occurred while prerendering route '${url}'.\n\n${error}`);
189
+ continue;
190
+ }
191
+ if (content !== null) {
192
+ const routeInfo = routeOutPathMap.get(url);
193
+ if (routeInfo) {
194
+ output[routeInfo.outPath] = {
195
+ content,
196
+ appShellRoute: routeInfo.isAppShell,
197
+ };
198
+ }
199
+ }
161
200
  }
162
201
  })
163
202
  .catch((err) => {
164
203
  (0, error_1.assertIsError)(err);
165
- errors.push(`An error occurred while prerendering route '${route}'.\n\n${err.stack ?? err.message ?? err.code ?? err}`);
166
- void renderWorker.destroy();
204
+ for (const url of urls) {
205
+ errors.push(`An error occurred while prerendering route '${url}'.\n\n${err.stack ?? err.message ?? err.code ?? err}`);
206
+ }
167
207
  });
168
- renderingPromises.push(renderResult);
208
+ renderingPromises.push(batchResultPromise);
169
209
  }
170
210
  await Promise.all(renderingPromises);
171
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prerender.js","sourceRoot":"","sources":["prerender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prerender.js","sourceRoot":"","sources":["prerender.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,15 @@ export interface RenderWorkerData extends ESMInMemoryFileLoaderWorkerData {
12
12
  outputMode: OutputMode | undefined;
13
13
  hasSsrEntry: boolean;
14
14
  }
15
- export interface RenderOptions {
15
+ export interface RenderResultItem {
16
16
  url: string;
17
+ content: string | null;
18
+ error?: string;
17
19
  }
20
+ export type RenderResult = RenderResultItem[];
18
21
  /**
19
- * Renders each route in routes and writes them to <outputPath>/<route>/index.html.
22
+ * Renders routes in batch or individual URL.
20
23
  */
21
- declare function renderPage({ url }: RenderOptions): Promise<string | null>;
22
- declare const _default: Promise<typeof renderPage>;
24
+ declare function renderPages(urls: string[]): Promise<RenderResult>;
25
+ declare const _default: Promise<typeof renderPages>;
23
26
  export default _default;
@@ -41,6 +41,7 @@ var __importStar = (this && this.__importStar) || (function () {
41
41
  })();
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
43
  const node_worker_threads_1 = require("node:worker_threads");
44
+ const error_1 = require("../error");
44
45
  const fetch_patch_1 = require("./fetch-patch");
45
46
  const launch_server_1 = require("./launch-server");
46
47
  const load_esm_from_memory_1 = require("./load-esm-from-memory");
@@ -51,13 +52,9 @@ const utils_1 = require("./utils");
51
52
  const { outputMode, hasSsrEntry } = node_worker_threads_1.workerData;
52
53
  let serverURL = launch_server_1.DEFAULT_URL;
53
54
  /**
54
- * Renders each route in routes and writes them to <outputPath>/<route>/index.html.
55
+ * Renders a single route URL.
55
56
  */
56
- async function renderPage({ url }) {
57
- const { ɵgetOrCreateAngularServerApp: getOrCreateAngularServerApp } = await (0, load_esm_from_memory_1.loadEsmModuleFromMemory)('./main.server.mjs');
58
- const angularServerApp = getOrCreateAngularServerApp({
59
- allowStaticRouteRender: true,
60
- });
57
+ async function renderPage(url, angularServerApp) {
61
58
  const response = await angularServerApp.handle(new Request(new URL(url, serverURL), { signal: AbortSignal.timeout(30_000) }));
62
59
  if (!response) {
63
60
  return null;
@@ -65,6 +62,31 @@ async function renderPage({ url }) {
65
62
  const location = response.headers.get('Location');
66
63
  return location ? (0, utils_1.generateRedirectStaticPage)(location) : response.text();
67
64
  }
65
+ /**
66
+ * Renders routes in batch or individual URL.
67
+ */
68
+ async function renderPages(urls) {
69
+ const { ɵgetOrCreateAngularServerApp: getOrCreateAngularServerApp } = await (0, load_esm_from_memory_1.loadEsmModuleFromMemory)('./main.server.mjs');
70
+ const angularServerApp = getOrCreateAngularServerApp({
71
+ allowStaticRouteRender: true,
72
+ });
73
+ const results = [];
74
+ for (const currentUrl of urls) {
75
+ try {
76
+ const content = await renderPage(currentUrl, angularServerApp);
77
+ results.push({ url: currentUrl, content });
78
+ }
79
+ catch (err) {
80
+ (0, error_1.assertIsError)(err);
81
+ results.push({
82
+ url: currentUrl,
83
+ content: null,
84
+ error: err.stack ?? err.message ?? err.code ?? `${err}`,
85
+ });
86
+ }
87
+ }
88
+ return results;
89
+ }
68
90
  async function initialize() {
69
91
  // Load the compiler because `@angular/ssr/node` depends on `@angular/` packages,
70
92
  // which must be processed by the runtime linker, even if they are not used.
@@ -73,7 +95,7 @@ async function initialize() {
73
95
  serverURL = await (0, launch_server_1.launchServer)();
74
96
  }
75
97
  (0, fetch_patch_1.patchFetchToLoadInMemoryAssets)(serverURL);
76
- return renderPage;
98
+ return renderPages;
77
99
  }
78
100
  exports.default = initialize();
79
101
  //# sourceMappingURL=render-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-worker.js","sourceRoot":"","sources":["render-worker.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6DAAiD;AAGjD,+CAA+D;AAC/D,mDAA4D;AAC5D,iEAAiE;AACjE,mCAAqD;AAYrD;;GAEG;AACH,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,gCAGnC,CAAC;AAEF,IAAI,SAAS,GAAG,2BAAW,CAAC;AAE5B;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,EAAE,GAAG,EAAiB;IAC9C,MAAM,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,GACjE,MAAM,IAAA,8CAAuB,EAAC,mBAAmB,CAAC,CAAC;IAErD,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;QACnD,sBAAsB,EAAE,IAAI;KAC7B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAC5C,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAC9E,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAElD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,kCAA0B,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,iFAAiF;IACjF,4EAA4E;IAC5E,wDAAa,mBAAmB,GAAC,CAAC;IAElC,IAAI,UAAU,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;QAC5C,SAAS,GAAG,MAAM,IAAA,4BAAY,GAAE,CAAC;IACnC,CAAC;IAED,IAAA,4CAA8B,EAAC,SAAS,CAAC,CAAC;IAE1C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,kBAAe,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"render-worker.js","sourceRoot":"","sources":["render-worker.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6DAAiD;AAEjD,oCAAyC;AAEzC,+CAA+D;AAC/D,mDAA4D;AAC5D,iEAAiE;AACjE,mCAAqD;AAgBrD;;GAEG;AACH,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,gCAGnC,CAAC;AAEF,IAAI,SAAS,GAAG,2BAAW,CAAC;AAE5B;;GAEG;AACH,KAAK,UAAU,UAAU,CACvB,GAAW,EACX,gBAA4E;IAE5E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAC5C,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAC9E,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAElD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,kCAA0B,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,IAAc;IACvC,MAAM,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,GACjE,MAAM,IAAA,8CAAuB,EAAC,mBAAmB,CAAC,CAAC;IAErD,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;QACnD,sBAAsB,EAAE,IAAI;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,UAAU;gBACf,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,EAAE;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,iFAAiF;IACjF,4EAA4E;IAC5E,wDAAa,mBAAmB,GAAC,CAAC;IAElC,IAAI,UAAU,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;QAC5C,SAAS,GAAG,MAAM,IAAA,4BAAY,GAAE,CAAC;IACnC,CAAC;IAED,IAAA,4CAA8B,EAAC,SAAS,CAAC,CAAC;IAE1C,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,kBAAe,UAAU,EAAE,CAAC"}