@scriptc/compiler 0.4.7 → 0.4.8

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 (776) hide show
  1. package/ambient/node-fallback/child_process.d.ts +71 -22
  2. package/ambient/node-fallback/crypto.d.ts +15 -7
  3. package/ambient/node-fallback/events.d.ts +23 -5
  4. package/ambient/node-fallback/fs.d.ts +3 -2
  5. package/ambient/node-fallback/http.d.ts +23 -17
  6. package/ambient/node-fallback/https.d.ts +5 -2
  7. package/ambient/node-fallback/net.d.ts +6 -0
  8. package/ambient/node-fallback/os.d.ts +11 -1
  9. package/ambient/node-fallback/path-posix.d.ts +6 -0
  10. package/ambient/node-fallback/path-win32.d.ts +5 -0
  11. package/ambient/node-fallback/path.d.ts +2 -0
  12. package/ambient/node-fallback/zlib.d.ts +31 -2
  13. package/ambient/scriptc-node-fallback.d.ts +37 -7
  14. package/ambient/scriptc.d.ts +7 -2
  15. package/dist/backend/executable-features.js +11 -3
  16. package/dist/backend/executable-features.js.map +1 -1
  17. package/dist/backend/library-pack.d.ts +6 -0
  18. package/dist/backend/library-pack.js +17 -6
  19. package/dist/backend/library-pack.js.map +1 -1
  20. package/dist/backend/library-pack.test.d.ts +1 -0
  21. package/dist/backend/library-pack.test.js +28 -0
  22. package/dist/backend/library-pack.test.js.map +1 -0
  23. package/dist/backend/linker.d.ts +9 -2
  24. package/dist/backend/linker.js +190 -32
  25. package/dist/backend/linker.js.map +1 -1
  26. package/dist/backend/lld.d.ts +8 -4
  27. package/dist/backend/lld.js +19 -13
  28. package/dist/backend/lld.js.map +1 -1
  29. package/dist/backend/lld.test.js +3 -1
  30. package/dist/backend/lld.test.js.map +1 -1
  31. package/dist/backend/llvm/alloc.d.ts +15 -2
  32. package/dist/backend/llvm/alloc.js +172 -36
  33. package/dist/backend/llvm/alloc.js.map +1 -1
  34. package/dist/backend/llvm/alloc.test.js +69 -1
  35. package/dist/backend/llvm/alloc.test.js.map +1 -1
  36. package/dist/backend/llvm/arenas.d.ts +17 -4
  37. package/dist/backend/llvm/arenas.js +105 -10
  38. package/dist/backend/llvm/arenas.js.map +1 -1
  39. package/dist/backend/llvm/arenas.test.js +229 -0
  40. package/dist/backend/llvm/arenas.test.js.map +1 -1
  41. package/dist/backend/llvm/bytes-alias.js +10 -1
  42. package/dist/backend/llvm/bytes-alias.js.map +1 -1
  43. package/dist/backend/llvm/bytes-headers.js +6 -0
  44. package/dist/backend/llvm/bytes-headers.js.map +1 -1
  45. package/dist/backend/llvm/bytes-loop-versions.test.js +25 -0
  46. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
  47. package/dist/backend/llvm/call-lifetimes.js +10 -0
  48. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  49. package/dist/backend/llvm/classes.d.ts +16 -9
  50. package/dist/backend/llvm/classes.js +142 -37
  51. package/dist/backend/llvm/classes.js.map +1 -1
  52. package/dist/backend/llvm/classes.test.js +42 -0
  53. package/dist/backend/llvm/classes.test.js.map +1 -1
  54. package/dist/backend/llvm/cpu-dispatch.d.ts +15 -5
  55. package/dist/backend/llvm/cpu-dispatch.js +31 -7
  56. package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
  57. package/dist/backend/llvm/dyn.d.ts +12 -3
  58. package/dist/backend/llvm/dyn.js +31 -7
  59. package/dist/backend/llvm/dyn.js.map +1 -1
  60. package/dist/backend/llvm/emit-function.js +67 -4
  61. package/dist/backend/llvm/emit-function.js.map +1 -1
  62. package/dist/backend/llvm/emit-module.js +90 -39
  63. package/dist/backend/llvm/emit-module.js.map +1 -1
  64. package/dist/backend/llvm/emit-module.test.d.ts +1 -0
  65. package/dist/backend/llvm/emit-module.test.js +52 -0
  66. package/dist/backend/llvm/emit-module.test.js.map +1 -0
  67. package/dist/backend/llvm/emit-statements.js +99 -15
  68. package/dist/backend/llvm/emit-statements.js.map +1 -1
  69. package/dist/backend/llvm/emitter.d.ts +113 -8
  70. package/dist/backend/llvm/emitter.js +438 -67
  71. package/dist/backend/llvm/emitter.js.map +1 -1
  72. package/dist/backend/llvm/emitter.test.js +31 -3
  73. package/dist/backend/llvm/emitter.test.js.map +1 -1
  74. package/dist/backend/llvm/expr-async.js +19 -1
  75. package/dist/backend/llvm/expr-async.js.map +1 -1
  76. package/dist/backend/llvm/expr-bytes.js +16 -1
  77. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  78. package/dist/backend/llvm/expr-calls.js +18 -2
  79. package/dist/backend/llvm/expr-calls.js.map +1 -1
  80. package/dist/backend/llvm/expr-dynamic.js +31 -10
  81. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  82. package/dist/backend/llvm/expr-primitives.js +31 -3
  83. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  84. package/dist/backend/llvm/expr-records.d.ts +1 -1
  85. package/dist/backend/llvm/expr-records.js +124 -56
  86. package/dist/backend/llvm/expr-records.js.map +1 -1
  87. package/dist/backend/llvm/expr-stream-bridges.js +17 -0
  88. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  89. package/dist/backend/llvm/js-groups.d.ts +21 -0
  90. package/dist/backend/llvm/js-groups.js +277 -0
  91. package/dist/backend/llvm/js-groups.js.map +1 -0
  92. package/dist/backend/llvm/js-ic.d.ts +19 -1
  93. package/dist/backend/llvm/js-ic.js +96 -23
  94. package/dist/backend/llvm/js-ic.js.map +1 -1
  95. package/dist/backend/llvm/lib-dispatch.js +132 -1
  96. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  97. package/dist/backend/llvm/lib-network.js +33 -6
  98. package/dist/backend/llvm/lib-network.js.map +1 -1
  99. package/dist/backend/llvm/lib-process.js +44 -3
  100. package/dist/backend/llvm/lib-process.js.map +1 -1
  101. package/dist/backend/llvm/lib-shared.js +69 -2
  102. package/dist/backend/llvm/lib-shared.js.map +1 -1
  103. package/dist/backend/llvm/local-union-storage.test.js +32 -0
  104. package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
  105. package/dist/backend/llvm/loop-state.js +7 -2
  106. package/dist/backend/llvm/loop-state.js.map +1 -1
  107. package/dist/backend/llvm/map-entry-fusion.d.ts +8 -0
  108. package/dist/backend/llvm/map-entry-fusion.js +3 -3
  109. package/dist/backend/llvm/map-entry-fusion.js.map +1 -1
  110. package/dist/backend/llvm/map-number-lookup.test.js +6 -6
  111. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  112. package/dist/backend/llvm/nullable-unions.js +7 -6
  113. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  114. package/dist/backend/llvm/nullable-unions.test.js +4 -1
  115. package/dist/backend/llvm/nullable-unions.test.js.map +1 -1
  116. package/dist/backend/llvm/receivers.js +3 -0
  117. package/dist/backend/llvm/receivers.js.map +1 -1
  118. package/dist/backend/llvm/record-entry-fusion.d.ts +32 -0
  119. package/dist/backend/llvm/record-entry-fusion.js +217 -0
  120. package/dist/backend/llvm/record-entry-fusion.js.map +1 -0
  121. package/dist/backend/llvm/record-results.d.ts +5 -2
  122. package/dist/backend/llvm/record-results.js +13 -12
  123. package/dist/backend/llvm/record-results.js.map +1 -1
  124. package/dist/backend/llvm/record-views.js +12 -6
  125. package/dist/backend/llvm/record-views.js.map +1 -1
  126. package/dist/backend/llvm/reference-effects.js +1 -0
  127. package/dist/backend/llvm/reference-effects.js.map +1 -1
  128. package/dist/backend/llvm/reference-writes.js +3 -0
  129. package/dist/backend/llvm/reference-writes.js.map +1 -1
  130. package/dist/backend/llvm/region-ir.js +1 -0
  131. package/dist/backend/llvm/region-ir.js.map +1 -1
  132. package/dist/backend/llvm/region-sites.d.ts +18 -0
  133. package/dist/backend/llvm/region-sites.js +79 -1
  134. package/dist/backend/llvm/region-sites.js.map +1 -1
  135. package/dist/backend/llvm/runtime-registries.test.js +53 -6
  136. package/dist/backend/llvm/runtime-registries.test.js.map +1 -1
  137. package/dist/backend/llvm/serialized-ir-emission.test.js +3 -1
  138. package/dist/backend/llvm/serialized-ir-emission.test.js.map +1 -1
  139. package/dist/backend/llvm/shapes.d.ts +33 -3
  140. package/dist/backend/llvm/shapes.js +183 -13
  141. package/dist/backend/llvm/shapes.js.map +1 -1
  142. package/dist/backend/llvm/stack-objects.d.ts +1 -2
  143. package/dist/backend/llvm/stack-objects.js +8 -5
  144. package/dist/backend/llvm/stack-objects.js.map +1 -1
  145. package/dist/backend/llvm/walkers.d.ts +12 -0
  146. package/dist/backend/llvm/walkers.js +46 -2
  147. package/dist/backend/llvm/walkers.js.map +1 -1
  148. package/dist/backend/may-throw.js +12 -2
  149. package/dist/backend/may-throw.js.map +1 -1
  150. package/dist/backend/may-throw.test.js +13 -0
  151. package/dist/backend/may-throw.test.js.map +1 -1
  152. package/dist/backend/native/contracts.d.ts +48 -8
  153. package/dist/backend/native/executable.js +55 -13
  154. package/dist/backend/native/executable.js.map +1 -1
  155. package/dist/backend/native/helper-identity-record.d.ts +11 -0
  156. package/dist/backend/native/helper-identity-record.js +76 -0
  157. package/dist/backend/native/helper-identity-record.js.map +1 -0
  158. package/dist/backend/native/helper-identity-record.test.d.ts +1 -0
  159. package/dist/backend/native/helper-identity-record.test.js +101 -0
  160. package/dist/backend/native/helper-identity-record.test.js.map +1 -0
  161. package/dist/backend/native/library.js +9 -1
  162. package/dist/backend/native/library.js.map +1 -1
  163. package/dist/backend/native/runtime-inputs.js +4 -1
  164. package/dist/backend/native/runtime-inputs.js.map +1 -1
  165. package/dist/backend/native/vendor.d.ts +1 -1
  166. package/dist/backend/native/vendor.js +1 -1
  167. package/dist/backend/native/vendor.js.map +1 -1
  168. package/dist/backend/native-codegen-core.d.ts +13 -10
  169. package/dist/backend/native-codegen-core.js +26 -13
  170. package/dist/backend/native-codegen-core.js.map +1 -1
  171. package/dist/backend/native-codegen.js +27 -8
  172. package/dist/backend/native-codegen.js.map +1 -1
  173. package/dist/backend/native-codegen.test.js +110 -14
  174. package/dist/backend/native-codegen.test.js.map +1 -1
  175. package/dist/backend/native-link-info-core.d.ts +37 -8
  176. package/dist/backend/native-link-info-core.js.map +1 -1
  177. package/dist/backend/runtime-pack-core.d.ts +17 -2
  178. package/dist/backend/runtime-pack-core.js +18 -3
  179. package/dist/backend/runtime-pack-core.js.map +1 -1
  180. package/dist/backend/runtime-pack-targets.test.js +1 -1
  181. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  182. package/dist/backend/runtime-pack.test.js +211 -2
  183. package/dist/backend/runtime-pack.test.js.map +1 -1
  184. package/dist/backend/tree-classes.d.ts +42 -0
  185. package/dist/backend/tree-classes.js +723 -0
  186. package/dist/backend/tree-classes.js.map +1 -0
  187. package/dist/backend/tree-classes.test.d.ts +1 -0
  188. package/dist/backend/tree-classes.test.js +338 -0
  189. package/dist/backend/tree-classes.test.js.map +1 -0
  190. package/dist/backend/vendor-archives.d.ts +5 -1
  191. package/dist/backend/vendor-archives.js +51 -7
  192. package/dist/backend/vendor-archives.js.map +1 -1
  193. package/dist/backend/vendor-inputs.d.ts +25 -4
  194. package/dist/backend/vendor-inputs.js +68 -4
  195. package/dist/backend/vendor-inputs.js.map +1 -1
  196. package/dist/backend/vendor-inputs.test.js +35 -1
  197. package/dist/backend/vendor-inputs.test.js.map +1 -1
  198. package/dist/backend/warm-cache.js +1 -1
  199. package/dist/backend/warm-cache.js.map +1 -1
  200. package/dist/compat/fetch-profile.js +2 -2
  201. package/dist/coverage/report.js +47 -0
  202. package/dist/coverage/report.js.map +1 -1
  203. package/dist/coverage/surface-manifest.js +1 -1
  204. package/dist/diagnostics/codes.d.ts +8 -0
  205. package/dist/diagnostics/codes.js +8 -0
  206. package/dist/diagnostics/codes.js.map +1 -1
  207. package/dist/diagnostics/diagnostic.d.ts +27 -9
  208. package/dist/diagnostics/diagnostic.js +60 -19
  209. package/dist/diagnostics/diagnostic.js.map +1 -1
  210. package/dist/diagnostics/envelope.d.ts +18 -0
  211. package/dist/diagnostics/envelope.js.map +1 -1
  212. package/dist/executable/executable-cache.d.ts +21 -2
  213. package/dist/executable/executable-cache.js +21 -1
  214. package/dist/executable/executable-cache.js.map +1 -1
  215. package/dist/executable/executable-cache.test.js +123 -1
  216. package/dist/executable/executable-cache.test.js.map +1 -1
  217. package/dist/executable/prepare.js +199 -248
  218. package/dist/executable/prepare.js.map +1 -1
  219. package/dist/frontend/analysis.js +200 -18
  220. package/dist/frontend/analysis.js.map +1 -1
  221. package/dist/frontend/builtin-modules.d.ts +4 -0
  222. package/dist/frontend/builtin-modules.js +10 -0
  223. package/dist/frontend/builtin-modules.js.map +1 -1
  224. package/dist/frontend/early-errors.d.ts +12 -2
  225. package/dist/frontend/early-errors.js +535 -4
  226. package/dist/frontend/early-errors.js.map +1 -1
  227. package/dist/frontend/early-errors.test.js +165 -0
  228. package/dist/frontend/early-errors.test.js.map +1 -1
  229. package/dist/frontend/inferred-js-diagnostics.test.js +65 -0
  230. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  231. package/dist/frontend/jsx-opinion-sites.test.d.ts +1 -0
  232. package/dist/frontend/jsx-opinion-sites.test.js +86 -0
  233. package/dist/frontend/jsx-opinion-sites.test.js.map +1 -0
  234. package/dist/frontend/lib-exports.d.ts +23 -4
  235. package/dist/frontend/lib-exports.js +98 -26
  236. package/dist/frontend/lib-exports.js.map +1 -1
  237. package/dist/frontend/lowering/binding-analysis.js +21 -3
  238. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  239. package/dist/frontend/lowering/buffers.d.ts +8 -0
  240. package/dist/frontend/lowering/buffers.js +43 -0
  241. package/dist/frontend/lowering/buffers.js.map +1 -0
  242. package/dist/frontend/lowering/builtin-calls.js +4 -0
  243. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  244. package/dist/frontend/lowering/builtin-namespaces.d.ts +3 -2
  245. package/dist/frontend/lowering/builtin-namespaces.js +24 -3
  246. package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
  247. package/dist/frontend/lowering/builtin-statics.d.ts +24 -0
  248. package/dist/frontend/lowering/builtin-statics.js +407 -0
  249. package/dist/frontend/lowering/builtin-statics.js.map +1 -0
  250. package/dist/frontend/lowering/builtins/arguments.d.ts +4 -0
  251. package/dist/frontend/lowering/builtins/arguments.js +12 -0
  252. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  253. package/dist/frontend/lowering/builtins/atomics.d.ts +6 -1
  254. package/dist/frontend/lowering/builtins/atomics.js +87 -1
  255. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  256. package/dist/frontend/lowering/builtins/child-process-methods.js +2 -2
  257. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  258. package/dist/frontend/lowering/builtins/child-process-sync.d.ts +13 -0
  259. package/dist/frontend/lowering/builtins/child-process-sync.js +1 -13
  260. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
  261. package/dist/frontend/lowering/builtins/child-process.d.ts +10 -4
  262. package/dist/frontend/lowering/builtins/child-process.js +560 -27
  263. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  264. package/dist/frontend/lowering/builtins/compression.d.ts +2 -2
  265. package/dist/frontend/lowering/builtins/compression.js +41 -21
  266. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  267. package/dist/frontend/lowering/builtins/constants.js +7 -2
  268. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  269. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +1 -0
  270. package/dist/frontend/lowering/builtins/filesystem-calls.js +28 -2
  271. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  272. package/dist/frontend/lowering/builtins/json.js +4 -0
  273. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  274. package/dist/frontend/lowering/builtins/module-calls.js +3 -1
  275. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  276. package/dist/frontend/lowering/builtins/numbers.d.ts +4 -1
  277. package/dist/frontend/lowering/builtins/numbers.js +10 -2
  278. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  279. package/dist/frontend/lowering/builtins/operating-system.d.ts +6 -3
  280. package/dist/frontend/lowering/builtins/operating-system.js +96 -16
  281. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  282. package/dist/frontend/lowering/builtins/process.d.ts +2 -2
  283. package/dist/frontend/lowering/builtins/process.js +103 -8
  284. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  285. package/dist/frontend/lowering/builtins/promises.js +169 -8
  286. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  287. package/dist/frontend/lowering/builtins/properties.js +6 -2
  288. package/dist/frontend/lowering/builtins/properties.js.map +1 -1
  289. package/dist/frontend/lowering/builtins/readline.d.ts +6 -4
  290. package/dist/frontend/lowering/builtins/readline.js +180 -36
  291. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  292. package/dist/frontend/lowering/builtins/url.js +35 -12
  293. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  294. package/dist/frontend/lowering/builtins/webassembly.js +2 -0
  295. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -1
  296. package/dist/frontend/lowering/call-arguments.d.ts +10 -0
  297. package/dist/frontend/lowering/call-arguments.js +37 -2
  298. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  299. package/dist/frontend/lowering/call-signatures.d.ts +10 -0
  300. package/dist/frontend/lowering/call-signatures.js +103 -0
  301. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  302. package/dist/frontend/lowering/class-construction.d.ts +14 -2
  303. package/dist/frontend/lowering/class-construction.js +99 -5
  304. package/dist/frontend/lowering/class-construction.js.map +1 -1
  305. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +9 -0
  306. package/dist/frontend/lowering/class-dynamic-dispatch.js +1283 -1030
  307. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  308. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +158 -0
  309. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  310. package/dist/frontend/lowering/class-prototypes.js +20 -15
  311. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  312. package/dist/frontend/lowering/class-runtime-statics.d.ts +8 -0
  313. package/dist/frontend/lowering/class-runtime-statics.js +20 -1
  314. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  315. package/dist/frontend/lowering/class-unions.js +21 -4
  316. package/dist/frontend/lowering/class-unions.js.map +1 -1
  317. package/dist/frontend/lowering/coercions/function-adapters.js +9 -0
  318. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  319. package/dist/frontend/lowering/coercions/state.d.ts +8 -0
  320. package/dist/frontend/lowering/coercions/state.js +17 -0
  321. package/dist/frontend/lowering/coercions/state.js.map +1 -1
  322. package/dist/frontend/lowering/coercions/structural-plans.js +20 -5
  323. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  324. package/dist/frontend/lowering/coercions/structural.js +10 -1
  325. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  326. package/dist/frontend/lowering/coercions/unions.d.ts +2 -1
  327. package/dist/frontend/lowering/coercions/unions.js +54 -10
  328. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  329. package/dist/frontend/lowering/constructor-returns.d.ts +23 -2
  330. package/dist/frontend/lowering/constructor-returns.js +284 -58
  331. package/dist/frontend/lowering/constructor-returns.js.map +1 -1
  332. package/dist/frontend/lowering/containers/array-callbacks.js +156 -62
  333. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  334. package/dist/frontend/lowering/containers/array-construction.js +21 -3
  335. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  336. package/dist/frontend/lowering/containers/array-from-async.js +139 -3
  337. package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
  338. package/dist/frontend/lowering/containers/array-iteration.d.ts +14 -4
  339. package/dist/frontend/lowering/containers/array-iteration.js +24 -7
  340. package/dist/frontend/lowering/containers/array-iteration.js.map +1 -1
  341. package/dist/frontend/lowering/containers/array-methods.js +14 -11
  342. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  343. package/dist/frontend/lowering/containers/bytes.d.ts +6 -0
  344. package/dist/frontend/lowering/containers/bytes.js +446 -86
  345. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  346. package/dist/frontend/lowering/containers/callback-arguments.d.ts +5 -0
  347. package/dist/frontend/lowering/containers/callback-arguments.js +21 -12
  348. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  349. package/dist/frontend/lowering/containers/collection-grouping.js +421 -2
  350. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  351. package/dist/frontend/lowering/containers/collection-methods.js +52 -17
  352. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  353. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +23 -0
  354. package/dist/frontend/lowering/containers/iterator-helpers.js +176 -10
  355. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  356. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +5 -2
  357. package/dist/frontend/lowering/containers/string-and-regexp.js +45 -11
  358. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  359. package/dist/frontend/lowering/crypto-tables.d.ts +3 -3
  360. package/dist/frontend/lowering/crypto-tables.js +5 -5
  361. package/dist/frontend/lowering/dispatch-sites.js +3 -0
  362. package/dist/frontend/lowering/dispatch-sites.js.map +1 -1
  363. package/dist/frontend/lowering/divergences.d.ts +40 -0
  364. package/dist/frontend/lowering/divergences.js +239 -20
  365. package/dist/frontend/lowering/divergences.js.map +1 -1
  366. package/dist/frontend/lowering/effect-free.d.ts +12 -0
  367. package/dist/frontend/lowering/effect-free.js +44 -0
  368. package/dist/frontend/lowering/effect-free.js.map +1 -0
  369. package/dist/frontend/lowering/expressions/array-literals.d.ts +10 -0
  370. package/dist/frontend/lowering/expressions/array-literals.js +62 -0
  371. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  372. package/dist/frontend/lowering/expressions/binary.js +115 -5
  373. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  374. package/dist/frontend/lowering/expressions/element-access.js +151 -7
  375. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  376. package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +15 -0
  377. package/dist/frontend/lowering/expressions/hosted-narrowing.js +54 -1
  378. package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -1
  379. package/dist/frontend/lowering/expressions/identifiers.js +31 -2
  380. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  381. package/dist/frontend/lowering/expressions/narrowing.d.ts +3 -0
  382. package/dist/frontend/lowering/expressions/narrowing.js +175 -22
  383. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  384. package/dist/frontend/lowering/expressions/object-literals.js +173 -11
  385. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  386. package/dist/frontend/lowering/expressions/optional-chains.js +5 -1
  387. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  388. package/dist/frontend/lowering/expressions/property-access.d.ts +8 -0
  389. package/dist/frontend/lowering/expressions/property-access.js +379 -109
  390. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  391. package/dist/frontend/lowering/expressions/relational.js +237 -7
  392. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  393. package/dist/frontend/lowering/expressions/typeof.js +8 -0
  394. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  395. package/dist/frontend/lowering/expressions/union-fields.d.ts +20 -1
  396. package/dist/frontend/lowering/expressions/union-fields.js +103 -13
  397. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  398. package/dist/frontend/lowering/expressions/updates.js +74 -55
  399. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  400. package/dist/frontend/lowering/function-returns.js +37 -10
  401. package/dist/frontend/lowering/function-returns.js.map +1 -1
  402. package/dist/frontend/lowering/general-streams.js +5 -0
  403. package/dist/frontend/lowering/general-streams.js.map +1 -1
  404. package/dist/frontend/lowering/generator-delegation.d.ts +15 -7
  405. package/dist/frontend/lowering/generator-delegation.js +301 -118
  406. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  407. package/dist/frontend/lowering/generic-functions.d.ts +27 -1
  408. package/dist/frontend/lowering/generic-functions.js +432 -18
  409. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  410. package/dist/frontend/lowering/global-function-values.d.ts +25 -0
  411. package/dist/frontend/lowering/global-function-values.js +193 -0
  412. package/dist/frontend/lowering/global-function-values.js.map +1 -0
  413. package/dist/frontend/lowering/global-values.d.ts +6 -4
  414. package/dist/frontend/lowering/global-values.js +24 -10
  415. package/dist/frontend/lowering/global-values.js.map +1 -1
  416. package/dist/frontend/lowering/host-global-values.d.ts +31 -0
  417. package/dist/frontend/lowering/host-global-values.js +121 -0
  418. package/dist/frontend/lowering/host-global-values.js.map +1 -0
  419. package/dist/frontend/lowering/host-globals.d.ts +74 -0
  420. package/dist/frontend/lowering/host-globals.js +344 -0
  421. package/dist/frontend/lowering/host-globals.js.map +1 -0
  422. package/dist/frontend/lowering/http2-constants.js +1 -1
  423. package/dist/frontend/lowering/iterator-adapters.js +46 -17
  424. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  425. package/dist/frontend/lowering/iterator-prototype.d.ts +30 -0
  426. package/dist/frontend/lowering/iterator-prototype.js +160 -0
  427. package/dist/frontend/lowering/iterator-prototype.js.map +1 -0
  428. package/dist/frontend/lowering/key-order-witness.js +43 -22
  429. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  430. package/dist/frontend/lowering/key-order-witness.test.js +1 -0
  431. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
  432. package/dist/frontend/lowering/lib-boundary.js +11 -3
  433. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  434. package/dist/frontend/lowering/lower-assert.js +30 -15
  435. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  436. package/dist/frontend/lowering/lower-async-iteration.d.ts +11 -0
  437. package/dist/frontend/lowering/lower-async-iteration.js +15 -0
  438. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  439. package/dist/frontend/lowering/lower-builtin-values.js +11 -1
  440. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  441. package/dist/frontend/lowering/lower-calls.d.ts +25 -0
  442. package/dist/frontend/lowering/lower-calls.js +929 -227
  443. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  444. package/dist/frontend/lowering/lower-calls.test.js +59 -16
  445. package/dist/frontend/lowering/lower-calls.test.js.map +1 -1
  446. package/dist/frontend/lowering/lower-classes.d.ts +20 -0
  447. package/dist/frontend/lowering/lower-classes.js +468 -44
  448. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  449. package/dist/frontend/lowering/lower-event-emitter.d.ts +6 -2
  450. package/dist/frontend/lowering/lower-event-emitter.js +253 -83
  451. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  452. package/dist/frontend/lowering/lower-exprs.d.ts +1 -1
  453. package/dist/frontend/lowering/lower-exprs.js +71 -20
  454. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  455. package/dist/frontend/lowering/lower-functions.js +25 -6
  456. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  457. package/dist/frontend/lowering/lower-generators.js +57 -10
  458. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  459. package/dist/frontend/lowering/lower-global-value.d.ts +6 -0
  460. package/dist/frontend/lowering/lower-global-value.js +14 -5
  461. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  462. package/dist/frontend/lowering/lower-inspect.d.ts +4 -0
  463. package/dist/frontend/lowering/lower-inspect.js +638 -64
  464. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  465. package/dist/frontend/lowering/lower-modules.js +48 -2
  466. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  467. package/dist/frontend/lowering/lower-namespaces.js +18 -0
  468. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  469. package/dist/frontend/lowering/lower-node-island.js +16 -6
  470. package/dist/frontend/lowering/lower-node-island.js.map +1 -1
  471. package/dist/frontend/lowering/lower-server.js +303 -87
  472. package/dist/frontend/lowering/lower-server.js.map +1 -1
  473. package/dist/frontend/lowering/lower-stdlib.js +45 -0
  474. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  475. package/dist/frontend/lowering/lower-stmts.d.ts +14 -11
  476. package/dist/frontend/lowering/lower-stmts.js +270 -52
  477. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  478. package/dist/frontend/lowering/lower-timers.js +110 -27
  479. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  480. package/dist/frontend/lowering/lower-url.js +6 -3
  481. package/dist/frontend/lowering/lower-url.js.map +1 -1
  482. package/dist/frontend/lowering/lowerer.d.ts +227 -21
  483. package/dist/frontend/lowering/lowerer.js +651 -92
  484. package/dist/frontend/lowering/lowerer.js.map +1 -1
  485. package/dist/frontend/lowering/lowerer.test.js +18 -0
  486. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  487. package/dist/frontend/lowering/lowering-facts.d.ts +110 -0
  488. package/dist/frontend/lowering/lowering-facts.js +323 -0
  489. package/dist/frontend/lowering/lowering-facts.js.map +1 -0
  490. package/dist/frontend/lowering/lowering-facts.test.d.ts +1 -0
  491. package/dist/frontend/lowering/lowering-facts.test.js +100 -0
  492. package/dist/frontend/lowering/lowering-facts.test.js.map +1 -0
  493. package/dist/frontend/lowering/nan-coded-reads.d.ts +27 -4
  494. package/dist/frontend/lowering/nan-coded-reads.js +112 -9
  495. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  496. package/dist/frontend/lowering/optional-arguments.d.ts +4 -0
  497. package/dist/frontend/lowering/optional-arguments.js +26 -2
  498. package/dist/frontend/lowering/optional-arguments.js.map +1 -1
  499. package/dist/frontend/lowering/partial-assertions.d.ts +0 -3
  500. package/dist/frontend/lowering/partial-assertions.js +9 -15
  501. package/dist/frontend/lowering/partial-assertions.js.map +1 -1
  502. package/dist/frontend/lowering/primitive-throws.d.ts +100 -0
  503. package/dist/frontend/lowering/primitive-throws.js +241 -0
  504. package/dist/frontend/lowering/primitive-throws.js.map +1 -0
  505. package/dist/frontend/lowering/primitive-wrappers.js +1 -0
  506. package/dist/frontend/lowering/primitive-wrappers.js.map +1 -1
  507. package/dist/frontend/lowering/record-inherited.d.ts +17 -1
  508. package/dist/frontend/lowering/record-inherited.js +16 -2
  509. package/dist/frontend/lowering/record-inherited.js.map +1 -1
  510. package/dist/frontend/lowering/record-links.d.ts +73 -0
  511. package/dist/frontend/lowering/record-links.js +797 -0
  512. package/dist/frontend/lowering/record-links.js.map +1 -0
  513. package/dist/frontend/lowering/runtime-optional-provenance.d.ts +27 -7
  514. package/dist/frontend/lowering/runtime-optional-provenance.js +25 -11
  515. package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
  516. package/dist/frontend/lowering/runtime-optional-report.d.ts +40 -0
  517. package/dist/frontend/lowering/runtime-optional-report.js +300 -0
  518. package/dist/frontend/lowering/runtime-optional-report.js.map +1 -0
  519. package/dist/frontend/lowering/scoped-type-memo.test.d.ts +1 -0
  520. package/dist/frontend/lowering/scoped-type-memo.test.js +86 -0
  521. package/dist/frontend/lowering/scoped-type-memo.test.js.map +1 -0
  522. package/dist/frontend/lowering/static-typeof.d.ts +3 -1
  523. package/dist/frontend/lowering/static-typeof.js +6 -1
  524. package/dist/frontend/lowering/static-typeof.js.map +1 -1
  525. package/dist/frontend/lowering/strict-mode.d.ts +1 -5
  526. package/dist/frontend/lowering/strict-mode.js +4 -30
  527. package/dist/frontend/lowering/strict-mode.js.map +1 -1
  528. package/dist/frontend/lowering/structural-instances.d.ts +7 -0
  529. package/dist/frontend/lowering/structural-instances.js +23 -0
  530. package/dist/frontend/lowering/structural-instances.js.map +1 -1
  531. package/dist/frontend/lowering/surfaces.d.ts +15 -1
  532. package/dist/frontend/lowering/surfaces.js +78 -10
  533. package/dist/frontend/lowering/surfaces.js.map +1 -1
  534. package/dist/frontend/lowering/union-retag.d.ts +13 -1
  535. package/dist/frontend/lowering/union-retag.js +55 -1
  536. package/dist/frontend/lowering/union-retag.js.map +1 -1
  537. package/dist/frontend/lowering/union-retag.test.js +51 -0
  538. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  539. package/dist/frontend/lowering/unit-journal.d.ts +8 -0
  540. package/dist/frontend/lowering/unit-journal.js +14 -0
  541. package/dist/frontend/lowering/unit-journal.js.map +1 -1
  542. package/dist/frontend/lowering/unit-journal.test.js +36 -1
  543. package/dist/frontend/lowering/unit-journal.test.js.map +1 -1
  544. package/dist/frontend/lowering/zlib-constants.js +3 -2
  545. package/dist/frontend/lowering/zlib-constants.js.map +1 -1
  546. package/dist/frontend/npm-static.js +78 -9
  547. package/dist/frontend/npm-static.js.map +1 -1
  548. package/dist/frontend/npm-static.test.js +95 -2
  549. package/dist/frontend/npm-static.test.js.map +1 -1
  550. package/dist/frontend/pipeline.d.ts +5 -4
  551. package/dist/frontend/pipeline.js +94 -31
  552. package/dist/frontend/pipeline.js.map +1 -1
  553. package/dist/frontend/pipeline.test.js +68 -11
  554. package/dist/frontend/pipeline.test.js.map +1 -1
  555. package/dist/frontend/program.d.ts +62 -2
  556. package/dist/frontend/program.js +695 -422
  557. package/dist/frontend/program.js.map +1 -1
  558. package/dist/frontend/program.test.js +37 -1
  559. package/dist/frontend/program.test.js.map +1 -1
  560. package/dist/frontend/services-node.d.ts +7 -0
  561. package/dist/frontend/services-node.js +32 -1
  562. package/dist/frontend/services-node.js.map +1 -1
  563. package/dist/frontend/services-node.test.js +51 -0
  564. package/dist/frontend/services-node.test.js.map +1 -1
  565. package/dist/frontend/shape-inference/overlay.js +68 -2
  566. package/dist/frontend/shape-inference/overlay.js.map +1 -1
  567. package/dist/frontend/tier-analysis.d.ts +9 -0
  568. package/dist/frontend/tier-analysis.js +1 -0
  569. package/dist/frontend/tier-analysis.js.map +1 -1
  570. package/dist/frontend/tsc-codes.d.ts +57 -3
  571. package/dist/frontend/tsc-codes.js +935 -150
  572. package/dist/frontend/tsc-codes.js.map +1 -1
  573. package/dist/frontend/tsc-codes.test.js +221 -12
  574. package/dist/frontend/tsc-codes.test.js.map +1 -1
  575. package/dist/frontend/type-mapper.d.ts +91 -9
  576. package/dist/frontend/type-mapper.js +622 -181
  577. package/dist/frontend/type-mapper.js.map +1 -1
  578. package/dist/index.d.ts +1 -1
  579. package/dist/index.js +80 -15
  580. package/dist/index.js.map +1 -1
  581. package/dist/index.test.d.ts +1 -0
  582. package/dist/index.test.js +60 -0
  583. package/dist/index.test.js.map +1 -0
  584. package/dist/ir/builtin-effects.js +43 -0
  585. package/dist/ir/builtin-effects.js.map +1 -1
  586. package/dist/ir/builtin-signatures.d.ts +1 -1
  587. package/dist/ir/builtin-signatures.js +242 -16
  588. package/dist/ir/builtin-signatures.js.map +1 -1
  589. package/dist/ir/callback-specialization.d.ts +3 -2
  590. package/dist/ir/callback-specialization.js +35 -25
  591. package/dist/ir/callback-specialization.js.map +1 -1
  592. package/dist/ir/capture-values.d.ts +8 -4
  593. package/dist/ir/capture-values.js +9 -6
  594. package/dist/ir/capture-values.js.map +1 -1
  595. package/dist/ir/char-unit-locals.d.ts +6 -2
  596. package/dist/ir/char-unit-locals.js +11 -2
  597. package/dist/ir/char-unit-locals.js.map +1 -1
  598. package/dist/ir/class-key-index.d.ts +18 -0
  599. package/dist/ir/class-key-index.js +29 -0
  600. package/dist/ir/class-key-index.js.map +1 -0
  601. package/dist/ir/class-key-index.test.d.ts +1 -0
  602. package/dist/ir/class-key-index.test.js +25 -0
  603. package/dist/ir/class-key-index.test.js.map +1 -0
  604. package/dist/ir/codec.generated.d.ts +1 -1
  605. package/dist/ir/codec.generated.js +724 -648
  606. package/dist/ir/codec.generated.js.map +1 -1
  607. package/dist/ir/constant-globals.d.ts +5 -2
  608. package/dist/ir/constant-globals.js +25 -27
  609. package/dist/ir/constant-globals.js.map +1 -1
  610. package/dist/ir/expression-inlining.d.ts +4 -2
  611. package/dist/ir/expression-inlining.js +8 -2
  612. package/dist/ir/expression-inlining.js.map +1 -1
  613. package/dist/ir/field-values.d.ts +5 -2
  614. package/dist/ir/field-values.js +32 -21
  615. package/dist/ir/field-values.js.map +1 -1
  616. package/dist/ir/fields.generated.d.ts +11 -2
  617. package/dist/ir/fields.generated.js +8 -0
  618. package/dist/ir/fields.generated.js.map +1 -1
  619. package/dist/ir/final-fields.js +1 -1
  620. package/dist/ir/final-fields.js.map +1 -1
  621. package/dist/ir/function-references.d.ts +5 -4
  622. package/dist/ir/function-references.js +7 -4
  623. package/dist/ir/function-references.js.map +1 -1
  624. package/dist/ir/function-references.test.js +7 -0
  625. package/dist/ir/function-references.test.js.map +1 -1
  626. package/dist/ir/init-only-globals.d.ts +4 -2
  627. package/dist/ir/init-only-globals.js +17 -18
  628. package/dist/ir/init-only-globals.js.map +1 -1
  629. package/dist/ir/inline-array-views.js +1 -0
  630. package/dist/ir/inline-array-views.js.map +1 -1
  631. package/dist/ir/int32-slots.js +7 -0
  632. package/dist/ir/int32-slots.js.map +1 -1
  633. package/dist/ir/ir.d.ts +59 -4
  634. package/dist/ir/ir.js +7 -0
  635. package/dist/ir/ir.js.map +1 -1
  636. package/dist/ir/js-groups.d.ts +51 -0
  637. package/dist/ir/js-groups.js +394 -0
  638. package/dist/ir/js-groups.js.map +1 -0
  639. package/dist/ir/js-groups.test.d.ts +1 -0
  640. package/dist/ir/js-groups.test.js +555 -0
  641. package/dist/ir/js-groups.test.js.map +1 -0
  642. package/dist/ir/js-ic.js +30 -5
  643. package/dist/ir/js-ic.js.map +1 -1
  644. package/dist/ir/js-ic.test.js +27 -1
  645. package/dist/ir/js-ic.test.js.map +1 -1
  646. package/dist/ir/node-index.d.ts +23 -6
  647. package/dist/ir/node-index.js +126 -49
  648. package/dist/ir/node-index.js.map +1 -1
  649. package/dist/ir/numeric-call-specialization.d.ts +4 -2
  650. package/dist/ir/numeric-call-specialization.js +40 -26
  651. package/dist/ir/numeric-call-specialization.js.map +1 -1
  652. package/dist/ir/paired-while-loops.d.ts +4 -2
  653. package/dist/ir/paired-while-loops.js +8 -2
  654. package/dist/ir/paired-while-loops.js.map +1 -1
  655. package/dist/ir/parameter-versions.d.ts +13 -4
  656. package/dist/ir/parameter-versions.js +63 -42
  657. package/dist/ir/parameter-versions.js.map +1 -1
  658. package/dist/ir/property-bags.d.ts +4 -2
  659. package/dist/ir/property-bags.js +22 -17
  660. package/dist/ir/property-bags.js.map +1 -1
  661. package/dist/ir/row-pairs.d.ts +4 -2
  662. package/dist/ir/row-pairs.js +12 -11
  663. package/dist/ir/row-pairs.js.map +1 -1
  664. package/dist/ir/runtime-features.d.ts +87 -12
  665. package/dist/ir/runtime-features.js +263 -160
  666. package/dist/ir/runtime-features.js.map +1 -1
  667. package/dist/ir/runtime-features.test.js +109 -139
  668. package/dist/ir/runtime-features.test.js.map +1 -1
  669. package/dist/ir/runtime-jam-loops.d.ts +35 -0
  670. package/dist/ir/runtime-jam-loops.js +604 -0
  671. package/dist/ir/runtime-jam-loops.js.map +1 -0
  672. package/dist/ir/runtime-jam-loops.test.d.ts +1 -0
  673. package/dist/ir/runtime-jam-loops.test.js +565 -0
  674. package/dist/ir/runtime-jam-loops.test.js.map +1 -0
  675. package/dist/ir/saturating-loop-jams.d.ts +4 -2
  676. package/dist/ir/saturating-loop-jams.js +11 -10
  677. package/dist/ir/saturating-loop-jams.js.map +1 -1
  678. package/dist/ir/scalar-records.d.ts +5 -2
  679. package/dist/ir/scalar-records.js +12 -2
  680. package/dist/ir/scalar-records.js.map +1 -1
  681. package/dist/ir/self-captures.d.ts +4 -2
  682. package/dist/ir/self-captures.js +32 -27
  683. package/dist/ir/self-captures.js.map +1 -1
  684. package/dist/ir/serialize.d.ts +6 -1
  685. package/dist/ir/serialize.js +87 -23
  686. package/dist/ir/serialize.js.map +1 -1
  687. package/dist/ir/serialize.test.js +26 -0
  688. package/dist/ir/serialize.test.js.map +1 -1
  689. package/dist/ir/tiers.js +1 -0
  690. package/dist/ir/tiers.js.map +1 -1
  691. package/dist/ir/traverse.js +4 -0
  692. package/dist/ir/traverse.js.map +1 -1
  693. package/dist/ir/typed-argument-clones.d.ts +30 -0
  694. package/dist/ir/typed-argument-clones.js +789 -0
  695. package/dist/ir/typed-argument-clones.js.map +1 -0
  696. package/dist/ir/union-arm-loops.d.ts +3 -0
  697. package/dist/ir/union-arm-loops.js +373 -0
  698. package/dist/ir/union-arm-loops.js.map +1 -0
  699. package/dist/ir/union-arm-loops.test.d.ts +1 -0
  700. package/dist/ir/union-arm-loops.test.js +230 -0
  701. package/dist/ir/union-arm-loops.test.js.map +1 -0
  702. package/dist/ir/validate.js +88 -18
  703. package/dist/ir/validate.js.map +1 -1
  704. package/dist/library/compiler-self-identity.d.ts +8 -2
  705. package/dist/library/compiler-self-identity.js +92 -18
  706. package/dist/library/compiler-self-identity.js.map +1 -1
  707. package/dist/library/compiler-self-identity.test.js +150 -3
  708. package/dist/library/compiler-self-identity.test.js.map +1 -1
  709. package/dist/library/int-infer.d.ts +5 -0
  710. package/dist/library/int-infer.js +15 -3
  711. package/dist/library/int-infer.js.map +1 -1
  712. package/dist/library/ir-policy.js +1 -0
  713. package/dist/library/ir-policy.js.map +1 -1
  714. package/dist/library/library-cache.d.ts +4 -0
  715. package/dist/library/library-cache.js +2 -0
  716. package/dist/library/library-cache.js.map +1 -1
  717. package/dist/library/library-cache.test.js +26 -0
  718. package/dist/library/library-cache.test.js.map +1 -1
  719. package/dist/library/prepare.js +99 -31
  720. package/dist/library/prepare.js.map +1 -1
  721. package/dist/native/cache.d.ts +7 -0
  722. package/dist/native/cache.js +47 -0
  723. package/dist/native/cache.js.map +1 -1
  724. package/dist/native/cache.test.js +13 -1
  725. package/dist/native/cache.test.js.map +1 -1
  726. package/dist/native/cli.js +1 -1
  727. package/dist/native/cli.js.map +1 -1
  728. package/dist/native/compiler.js +18 -3
  729. package/dist/native/compiler.js.map +1 -1
  730. package/dist/native/executable-cache-open.test.js +31 -5
  731. package/dist/native/executable-cache-open.test.js.map +1 -1
  732. package/dist/native/executable-cache.d.ts +6 -1
  733. package/dist/native/executable-cache.js +7 -1
  734. package/dist/native/executable-cache.js.map +1 -1
  735. package/dist/native/prepare.d.ts +3 -0
  736. package/dist/native/prepare.js +43 -26
  737. package/dist/native/prepare.js.map +1 -1
  738. package/dist/native/prepare.test.js +25 -3
  739. package/dist/native/prepare.test.js.map +1 -1
  740. package/dist/native/sanitizer.js +10 -1
  741. package/dist/native/sanitizer.js.map +1 -1
  742. package/dist/native/sanitizer.test.js +7 -2
  743. package/dist/native/sanitizer.test.js.map +1 -1
  744. package/dist/node-islands/boundary.d.ts +12 -0
  745. package/dist/node-islands/boundary.js +38 -6
  746. package/dist/node-islands/boundary.js.map +1 -1
  747. package/dist/node-islands/boundary.test.d.ts +1 -0
  748. package/dist/node-islands/boundary.test.js +76 -0
  749. package/dist/node-islands/boundary.test.js.map +1 -0
  750. package/dist/node-islands/detect.d.ts +9 -0
  751. package/dist/node-islands/detect.js +110 -0
  752. package/dist/node-islands/detect.js.map +1 -1
  753. package/dist/node-islands/detect.test.js +24 -0
  754. package/dist/node-islands/detect.test.js.map +1 -1
  755. package/dist/node-islands/graph-islands.d.ts +40 -0
  756. package/dist/node-islands/graph-islands.js +128 -0
  757. package/dist/node-islands/graph-islands.js.map +1 -0
  758. package/dist/node-islands/growth.d.ts +57 -0
  759. package/dist/node-islands/growth.js +205 -0
  760. package/dist/node-islands/growth.js.map +1 -0
  761. package/dist/node-islands/report.d.ts +12 -0
  762. package/dist/node-islands/report.js +28 -0
  763. package/dist/node-islands/report.js.map +1 -1
  764. package/dist/node-islands/report.test.js +2 -0
  765. package/dist/node-islands/report.test.js.map +1 -1
  766. package/dist/node-islands/rules.js +5 -0
  767. package/dist/node-islands/rules.js.map +1 -1
  768. package/dist/node-islands/scan.d.ts +11 -2
  769. package/dist/node-islands/scan.js +61 -9
  770. package/dist/node-islands/scan.js.map +1 -1
  771. package/dist/wasm/translate.js +11 -5
  772. package/dist/wasm/translate.js.map +1 -1
  773. package/dist/wasm/translate.test.js +35 -0
  774. package/dist/wasm/translate.test.js.map +1 -1
  775. package/package.json +20 -20
  776. package/surface-manifest.json +184 -117
@@ -0,0 +1,101 @@
1
+ import { chmod, mkdir, mkdtemp, readFile, rename, rm, utimes, writeFile } from "node:fs/promises";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+ import { afterEach, expect, test } from "vitest";
5
+ import { snapshotNativeArtifactDependencies } from "./artifact-stamps.js";
6
+ import { readHelperIdentityDigest, writeHelperIdentity } from "./helper-identity-record.js";
7
+ const dirs = [];
8
+ afterEach(async () => {
9
+ await Promise.all(dirs.splice(0).map((dir) => rm(dir, { recursive: true, force: true })));
10
+ });
11
+ const DIGEST = "0".repeat(64);
12
+ async function installedHelper() {
13
+ const root = await mkdtemp(join(tmpdir(), "scriptc-helper-record-test-"));
14
+ dirs.push(root);
15
+ const packageJson = join(root, "package.json");
16
+ const binaryPath = join(root, "bin", "scriptc-llvm-codegen");
17
+ await mkdir(join(root, "bin"));
18
+ await writeFile(packageJson, JSON.stringify({ name: "@scriptc/llvm-test" }));
19
+ await writeFile(binaryPath, "#!/bin/sh\nexit 0\n");
20
+ await chmod(binaryPath, 0o755);
21
+ const dependencies = await snapshotNativeArtifactDependencies([packageJson, binaryPath]);
22
+ const record = join(root, ".scriptc", "identity.json");
23
+ const read = () => readHelperIdentityDigest(packageJson, binaryPath, dependencies);
24
+ return { root, packageJson, binaryPath, dependencies, record, read };
25
+ }
26
+ test("records the helper digest beside the installed package and reads it back", async () => {
27
+ const helper = await installedHelper();
28
+ await writeHelperIdentity(helper.packageJson, helper.binaryPath, DIGEST, helper.dependencies);
29
+ expect(await helper.read()).toBe(DIGEST);
30
+ expect(JSON.parse(await readFile(helper.record, "utf8"))).toEqual({
31
+ version: 1,
32
+ binary: "bin/scriptc-llvm-codegen",
33
+ digest: DIGEST,
34
+ dependencies: helper.dependencies,
35
+ });
36
+ });
37
+ test("a missing record leaves the caller to hash", async () => {
38
+ const helper = await installedHelper();
39
+ expect(await helper.read()).toBeNull();
40
+ });
41
+ test("a changed binary invalidates the record", async () => {
42
+ const helper = await installedHelper();
43
+ await writeHelperIdentity(helper.packageJson, helper.binaryPath, DIGEST, helper.dependencies);
44
+ await writeFile(helper.binaryPath, "#!/bin/sh\nexit 1\n");
45
+ expect(await helper.read()).toBeNull();
46
+ });
47
+ test("a touched binary invalidates the record", async () => {
48
+ const helper = await installedHelper();
49
+ await writeHelperIdentity(helper.packageJson, helper.binaryPath, DIGEST, helper.dependencies);
50
+ const when = new Date(2020, 0, 1);
51
+ await utimes(helper.binaryPath, when, when);
52
+ expect(await helper.read()).toBeNull();
53
+ });
54
+ test("a replaced binary invalidates the record", async () => {
55
+ const helper = await installedHelper();
56
+ await writeHelperIdentity(helper.packageJson, helper.binaryPath, DIGEST, helper.dependencies);
57
+ const replacement = join(helper.root, "bin", "replacement");
58
+ await writeFile(replacement, "#!/bin/sh\nexit 2\n");
59
+ await chmod(replacement, 0o755);
60
+ await rename(replacement, helper.binaryPath);
61
+ expect(await helper.read()).toBeNull();
62
+ });
63
+ test("a record taken before the package metadata changed is ignored", async () => {
64
+ const helper = await installedHelper();
65
+ await writeHelperIdentity(helper.packageJson, helper.binaryPath, DIGEST, helper.dependencies);
66
+ await writeFile(helper.packageJson, JSON.stringify({ name: "@scriptc/llvm-test", extra: 1 }));
67
+ const dependencies = await snapshotNativeArtifactDependencies([
68
+ helper.packageJson,
69
+ helper.binaryPath,
70
+ ]);
71
+ expect(await readHelperIdentityDigest(helper.packageJson, helper.binaryPath, dependencies)).toBeNull();
72
+ });
73
+ test("a corrupt or unrelated record is ignored", async () => {
74
+ for (const text of [
75
+ "{",
76
+ JSON.stringify({
77
+ version: 2,
78
+ binary: "bin/scriptc-llvm-codegen",
79
+ digest: DIGEST,
80
+ dependencies: [],
81
+ }),
82
+ JSON.stringify({ version: 1, binary: "bin/other", digest: DIGEST, dependencies: [] }),
83
+ JSON.stringify({
84
+ version: 1,
85
+ binary: "bin/scriptc-llvm-codegen",
86
+ digest: "abc",
87
+ dependencies: [],
88
+ }),
89
+ ]) {
90
+ const helper = await installedHelper();
91
+ await mkdir(join(helper.root, ".scriptc"), { recursive: true });
92
+ await writeFile(helper.record, text);
93
+ expect(await helper.read()).toBeNull();
94
+ }
95
+ });
96
+ test("a record that cannot be written rejects so the caller can ignore it", async () => {
97
+ const helper = await installedHelper();
98
+ await writeFile(join(helper.root, ".scriptc"), "not a directory\n");
99
+ await expect(writeHelperIdentity(helper.packageJson, helper.binaryPath, DIGEST, helper.dependencies)).rejects.toBeTruthy();
100
+ });
101
+ //# sourceMappingURL=helper-identity-record.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper-identity-record.test.js","sourceRoot":"","sources":["../../../src/backend/native/helper-identity-record.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE5F,MAAM,IAAI,GAAa,EAAE,CAAC;AAC1B,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE9B,KAAK,UAAU,eAAe;IAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC7D,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/B,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,SAAS,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACnD,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,kCAAkC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACnF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAE9F,MAAM,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAChE,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9F,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IAC1D,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,SAAS,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IACpD,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;IAC/E,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9F,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,MAAM,YAAY,GAAG,MAAM,kCAAkC,CAAC;QAC5D,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,UAAU;KAClB,CAAC,CAAC;IACH,MAAM,CACJ,MAAM,wBAAwB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CACpF,CAAC,QAAQ,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IAC1D,KAAK,MAAM,IAAI,IAAI;QACjB,GAAG;QACH,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,0BAA0B;YAClC,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QACrF,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,0BAA0B;YAClC,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,EAAE;SACjB,CAAC;KACH,EAAE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACpE,MAAM,MAAM,CACV,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CACxF,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
@@ -70,6 +70,9 @@ export async function compileLibArchive(opts) {
70
70
  ...(opts.dynInvoke ? ["scr_dyn_invoke.c"] : []),
71
71
  ...(opts.dynInvoke && opts.dynBuffer ? ["scr_bytes_dyn.c"] : []),
72
72
  ...(opts.dynTier === true ? ["scr_js_value.c", "scr_js_object.c"] : []),
73
+ // The buffer views registry: only a program that resizes, grows or
74
+ // detaches a buffer installs its ops table.
75
+ ...(opts.mutableBuffers === true ? ["scr_js_buffers.c"] : []),
73
76
  ...(opts.zlib ? ["scr_zlib.c"] : []),
74
77
  ...(opts.x509 ? ["scr_x509.c"] : []),
75
78
  ...(opts.copying ? ["scr_copying.c"] : []),
@@ -87,7 +90,12 @@ export async function compileLibArchive(opts) {
87
90
  "-DSCR_LIB",
88
91
  ...(opts.threadInstances ? ["-DSCR_THREAD_INSTANCES"] : []),
89
92
  ...(opts.textDecoderLegacy ? ["-DSCR_TEXT_DECODER_LEGACY"] : []),
90
- ...(opts.dynTier === true ? ["-DSCR_JS_TIER"] : []),
93
+ // The program's unit reads the JavaScript object model build
94
+ // (t262-da §J): the archive's bytes and json units must carry it too, so
95
+ // the program names the same build the pack matrix selects.
96
+ ...(opts.jsObjectModel || opts.bigintBytes || opts.mutableBuffers
97
+ ? ["-DSCR_JS_OBJECT_MODEL"]
98
+ : []),
91
99
  "-I",
92
100
  rtDir,
93
101
  ...(regex ? ["-I", vendorEngineDir()] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/backend/native/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/backend/native/library.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA0B,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,iCAAiC,EACjC,WAAW,EACX,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gCAAgC,EAChC,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,aAAa,EACb,+BAA+B,EAC/B,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qCAAqC,EACrC,+BAA+B,EAC/B,SAAS,EACT,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,6BAA6B,EAC7B,sCAAsC,EACtC,oCAAoC,EACpC,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;sBAuBsB;AAEtB,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAuB;IAC7D,aAAa,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,GACtE,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG;QACd,GAAG,mBAAmB;QACtB,mEAAmE;QACnE,uEAAuE;QACvE,wEAAwE;QACxE,+DAA+D;QAC/D,oEAAoE;QACpE,uEAAuE;QACvE,iEAAiE;QACjE,2BAA2B;QAC3B,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,wEAAwE;QACxE,wEAAwE;QACxE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,mEAAmE;QACnE,4CAA4C;QAC5C,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;IACF,MAAM,MAAM,GAAG;QACb,UAAU;QACV,GAAG,MAAM,CAAC,UAAU;QACpB,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;YACjD,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7C,GAAG,iCAAiC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QACpE,iBAAiB;QACjB,sBAAsB,EAAE,gEAAgE;QACxF,8BAA8B;QAC9B,WAAW;QACX,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,6DAA6D;QAC7D,yEAAyE;QACzE,4DAA4D;QAC5D,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc;YAC/D,CAAC,CAAC,CAAC,uBAAuB,CAAC;YAC3B,CAAC,CAAC,EAAE,CAAC;QACP,IAAI;QACJ,KAAK;QACL,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpD,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,sBAAsB,CAAC;QACrC,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,+BAA+B,EAAE,CAAC;IACtD,MAAM,mBAAmB,GAAG,YAAY,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,+BAA+B,EAAE,CAAC;IACvD,MAAM,qBAAqB,GACzB,WAAW,CAAC,cAAc;QAC1B,mBAAmB,KAAK,IAAI;QAC5B,CAAC,MAAM,qCAAqC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACtE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,IAAI,eAAe,GACjB,aAAa,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI,IAAI,CAAC,qBAAqB;QACnF,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC7D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,sBAAsB,CAC1B,eAAe,CAAC,IAAI,EACpB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,SAAS,CAC/C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,IAAI,wBAAwB,GAAkB,IAAI,CAAC;IACnD,IAAI,yBAAyB,GAAkB,IAAI,CAAC;IACpD,IAAI,yBAAyB,GAAkB,IAAI,CAAC;IACpD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,6BAA6B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC/E,iBAAiB,GAAG,YAAY,CAAC,QAAQ,CAAC;YAC1C,wBAAwB,GAAG,YAAY,CAAC,OAAO,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;YACtE,0EAA0E;YAC1E,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,yBAAyB,GAAG,MAAM,sCAAsC,CACtE,MAAM,EACN,YAAY,EACZ,MAAM,CACP,CAAC;YACF,yBAAyB;gBACvB,sBAAsB,KAAK,KAAK;oBAC9B,CAAC,CAAC,MAAM,sCAAsC,CAC1C,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,CACvB;oBACH,CAAC,CAAC,yBAAyB,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,mEAAmE;YACnE,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IACD,MAAM,mBAAmB,GAAG,MAAM,+BAA+B,CAC/D,MAAM,EACN,GAAG,YAAY,KAAK,iBAAiB,IAAI,YAAY,EAAE,CACxD,CAAC;IACF,0EAA0E;IAC1E,yEAAyE;IACzE,qEAAqE;IACrE,uEAAuE;IACvE,yCAAyC;IACzC,MAAM,oBAAoB,GACxB,IAAI,CAAC,eAAe,KAAK,SAAS;QAClC,eAAe,KAAK,IAAI;QACxB,CAAC,MAAM,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,qBAAqB,GAAG,EAAE,CAAC;IAC/B,IAAI,kBAAkB,GACpB,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACpF,MAAM,aAAa,GACjB,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9F,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACxD,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC;gBAC1C,kBAAkB,CAAC,KAAK,CAAC;gBACzB,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;aACzF,CAAC,CAAC;YACH,eAAe,GAAG,EAAE,CAAC;YACrB,WAAW,GAAG,WAAW,CAAC;YAC1B,kBAAkB,GAAG,YAAY,CAAC;YAClC,qBAAqB,GAAG,MAAM,oCAAoC,CAChE,MAAM,EACN,MAAM,EACN,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,YAAY,CACb,CAAC;YACF,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;gBAC7D,eAAe,GAAG,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;oBAC9B,6DAA6D;oBAC7D,mEAAmE;oBACnE,gEAAgE;oBAChE,mEAAmE;qBAClE,MAAM,CAAC,WAAW,CAAC;qBACnB,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;qBACnC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,YAAY,CAAC;qBACpB,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,iBAAkB,CAAC;qBAC1B,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,yBAA0B,CAAC;qBAClC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,yBAA0B,CAAC;qBAClC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,qBAAqB,CAAC;qBAC7B,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;qBAChC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAChC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,EAAE,CAAC;qBACV,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,WAAW,CAAC;qBACnB,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,EAAE,CAAC;qBACV,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC5B,MAAM,CAAC,IAAI,CAAC;oBACb,uEAAuE;oBACvE,mEAAmE;oBACnE,0DAA0D;qBACzD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;qBAClB,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAC3B,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxB,+BAA+B,CAC7B,GAAG,EACH,aAAa,IAAI,SAAS,EAC1B,oBAAoB,EACpB,yBAAyB,IAAI,SAAS,CACvC,CAAC;gBACF,MAAM,MAAM,GAAG,GAAG;qBACf,MAAM,CAAC,cAAc,CAAC;qBACtB,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;qBACzD,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACxC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjB,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC3D,IAAI,CAAC;oBACH,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxD,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;wBACxD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACpD,CAAC;oBACD,oEAAoE;oBACpE,+DAA+D;oBAC/D,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC9C,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnC,OAAO;gBACT,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACzD,qEAAqE;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,sDAAsD;YACtD,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GACvB,eAAe,KAAK,IAAI,IAAI,iBAAiB,KAAK,IAAI;QACpD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,mBAAmB,IAAI,oBAAoB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC3F,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,KAAK;gBACtB,CAAC,CAAC,MAAM,iBAAiB,CACrB,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,CAAC,EAC9E,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAC7B;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI;gBAC3B,CAAC,CAAC,MAAM,iBAAiB,CACrB,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,CAAC,EAC/E,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAC9B;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,UAAU,GAAG,KAAK,EACtB,GAAW,EACX,OAAe,EACf,qBAA8B,EACb,EAAE;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG;oBACX,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvB,GAAG,MAAM;oBACT,GAAG,CAAC,qBAAqB,KAAK,SAAS;wBACrC,CAAC,CAAC;4BACE,qBAAqB,GAAG,IAAI,qBAAqB,EAAE;4BACnD,SAAS;4BACT,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;yBACxC;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,IAAI;oBACJ,GAAG;oBACH,IAAI;oBACJ,GAAG;iBACJ,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;oBAC5C,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,6BAA6B;wBAC3E,sHAAsH,MAAM,EAAE,CACjI,CAAC;gBACJ,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,aAAa,GACjB,kBAAkB,KAAK,IAAI;gBACzB,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5E,IAAI,kBAAkB,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,SAAS,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,mBAAmB,GAAkB,IAAI,CAAC;YAC9C,IACE,eAAe,KAAK,IAAI;gBACxB,kBAAkB,KAAK,IAAI;gBAC3B,eAAe,KAAK,EAAE;gBACtB,iBAAiB,KAAK,IAAI;gBAC1B,yBAAyB,KAAK,IAAI,EAClC,CAAC;gBACD,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;qBACpC,MAAM,CAAC,sBAAsB,CAAC;qBAC9B,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;qBACnC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,YAAY,CAAC;qBACpB,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,iBAAiB,CAAC;qBACzB,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,yBAAyB,CAAC;qBACjC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;qBAChC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAChC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,eAAe,CAAC;qBACvB,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,WAAW,CAAC;qBACnB,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,qBAAqB,CAAC;qBAC7B,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBACxC,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;qBAClB,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAC3B,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAC9B,+BAA+B,CAC7B,UAAU,EACV,aAAa,IAAI,SAAS,EAC1B,oBAAoB,EACpB,yBAAyB,IAAI,SAAS,CACvC,CAAC;gBACF,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/C,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;YAChE,IAAI,aAAqB,CAAC;YAC1B,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,IACE,mBAAmB,KAAK,IAAI;gBAC5B,CAAC,MAAM,mBAAmB,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,EACrE,CAAC;gBACD,aAAa,GAAG,mBAAmB,CAAC;YACtC,CAAC;iBAAM,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;wBACxF,IAAI,SAAS,GAAkB,IAAI,CAAC;wBACpC,IACE,eAAe,KAAK,IAAI;4BACxB,eAAe,KAAK,EAAE;4BACtB,wBAAwB,KAAK,IAAI;4BACjC,yBAAyB,KAAK,IAAI,EAClC,CAAC;4BACD,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;gCAC9B,0DAA0D;gCAC1D,4DAA4D;gCAC5D,+DAA+D;gCAC/D,4DAA4D;gCAC5D,8DAA8D;gCAC9D,4DAA4D;gCAC5D,2BAA2B;iCAC1B,MAAM,CAAC,wBAAwB,CAAC;iCAChC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;iCACnC,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,YAAY,CAAC;iCACpB,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,wBAAwB,CAAC;iCAChC,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,yBAAyB,CAAC;iCACjC,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;iCAChC,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iCAChC,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,eAAe,CAAC;iCACvB,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,WAAW,CAAC;iCACnB,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,qBAAqB,CAAC;iCAC7B,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iCACxC,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iCAClB,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iCAC3B,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;iCAClB,MAAM,CAAC,IAAI,CAAC;iCACZ,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iCACtB,MAAM,CAAC,KAAK,CAAC,CAAC;4BACjB,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;wBAC/D,CAAC;wBACD,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBACpE,CAAC,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;wBACzD,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;4BACxD,MAAM,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;4BAClD,IACE,KAAK,CAAC,SAAS,KAAK,IAAI;gCACxB,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gCAE1D,OAAO;4BACT,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;4BACpB,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBACzE,CAAC,CAAC,CACH,CAAC;oBACJ,CAAC;oBACD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CACpD,CAAC;oBACF,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CACtD,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,EAAE,EACF,oBAAqB,EACrB,GAAG,IAAI,UAAU,EACjB,SAAS,EACT,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;oBACF,mEAAmE;oBACnE,qEAAqE;oBACrE,gEAAgE;oBAChE,MAAM,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;oBACvD,aAAa,GAAG,mBAAmB,CAAC;oBACpC,IAAI,mBAAmB,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3D,IAAI,CAAC;4BACH,MAAM,CAAC,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,CAAC,GAC7E,MAAM,OAAO,CAAC,GAAG,CAAC;gCAChB,kBAAkB,CAAC,KAAK,CAAC;gCACzB,sCAAsC,CACpC,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,CACvB;gCACD,oCAAoC,CAClC,MAAM,EACN,MAAM,EACN,IAAI,CAAC,KAAK,EACV,kBAAmB,EACnB,YAAY,CACb;gCACD,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC;6BAC3C,CAAC,CAAC;4BACL,MAAM,qBAAqB,GACzB,cAAc,KAAK,WAAW;gCAC9B,iBAAiB,KAAK,yBAAyB;gCAC/C,mBAAmB,KAAK,qBAAqB;gCAC7C,eAAe,KAAK,eAAe,CAAC;4BACtC,MAAM,mBAAmB,GAAG,qBAAqB;gCAC/C,CAAC,CAAC,MAAM,6BAA6B,CAAC,MAAM,EAAE,YAAY,CAAC;gCAC3D,CAAC,CAAC,IAAI,CAAC;4BACT,MAAM,uBAAuB,GAC3B,qBAAqB,IAAI,mBAAmB,EAAE,OAAO,KAAK,wBAAwB,CAAC;4BACrF,IAAI,sBAAsB,GAAG,KAAK,CAAC;4BACnC,IAAI,uBAAuB,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;gCAC5D,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,MAAM,CAAC,CAAC,KAAK,CACvE,GAAG,EAAE,CAAC,IAAI,CACX,CAAC;gCACF,sBAAsB;oCACpB,mBAAmB,EAAE,QAAQ,KAAK,iBAAiB;wCACnD,YAAY,KAAK,yBAAyB,CAAC;4BAC/C,CAAC;4BACD,IAAI,uBAAuB,EAAE,CAAC;gCAC5B,MAAM,OAAO,CAAC,GAAG,CAAC;oCAChB,GAAG,CAAC,sBAAsB;wCACxB,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,EAAE,mBAAoB,CAAC,CAAC;wCAC1D,CAAC,CAAC,EAAE,CAAC;oCACP,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAU,CAAC,CAAC;iCACjF,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,2DAA2D;wBAC7D,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,kEAAkE;oBAClE,iEAAiE;oBACjE,qEAAqE;oBACrE,oEAAoE;oBACpE,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,IAAI,kBAAkB,KAAK,IAAI;wBAAE,MAAM,SAAS,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;oBACpF,aAAa,GAAG,MAAM,UAAU,CAC9B,aAAa,EACb,GAAG,IAAI,YAAY,EACnB,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,MAAM,UAAU,CAC9B,aAAa,EACb,GAAG,IAAI,YAAY,EACnB,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CACrD,CAAC;gBACF,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACH,MAAM,CACJ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EAChB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;4BACpB,kBAAkB,CAAC,KAAK,CAAC;4BACzB,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC;4BAClD,sCAAsC,CACpC,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,CACvB;4BACD,oCAAoC,CAClC,MAAM,EACN,MAAM,EACN,IAAI,CAAC,KAAK,EACV,kBAAmB,EACnB,YAAY,CACb;4BACD,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC;yBAC3C,CAAC,CAAC;wBACH,IACE,cAAc,KAAK,WAAW;4BAC9B,eAAe,KAAK,iBAAiB;4BACrC,iBAAiB,KAAK,yBAAyB;4BAC/C,mBAAmB,KAAK,qBAAqB;4BAC7C,eAAe,KAAK,eAAe,EACnC,CAAC;4BACD,MAAM,iBAAiB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,8DAA8D;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,cAAc,GAClB,aAAa,KAAK,IAAI;gBACpB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;oBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAC7C,MAAM,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;oBACvC,OAAO,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;gBAClD,CAAC,CAAC,EAAE,CAAC;YACX,IAAI,cAAc,GAAoB,IAAI,CAAC;YAC3C,IAAI,iBAAiB,GAAG,IAAI,CAAC;YAC7B,IAAI,0BAA0B,GAA4B,IAAI,CAAC;YAC/D,MAAM,mCAAmC,GAAG,GAAqB,EAAE;gBACjE,0BAA0B,KAAK,OAAO,CAAC,GAAG,CAAC;oBACzC,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC;oBAClD,sCAAsC,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;iBACrE,CAAC,CAAC,IAAI,CACL,CAAC,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAAE,EAAE,CACvC,eAAe,KAAK,iBAAiB;oBACrC,iBAAiB,KAAK,yBAAyB,EACjD,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;gBACF,OAAO,0BAA0B,CAAC;YACpC,CAAC,CAAC;YACF,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBAC7E,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,eAAe,CAAC,IAAI,EACpB,MAAM,CAAC,IAAI,EACX,MAAM,EACN,WAAW,EACX,eAAe,mBAAmB,CAAC,MAAM,CAAC,KAAK,YAAY,KAAK,iBAAiB,KAAK,yBAAyB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,eAAe,KAAK,WAAW,IAAI,EACjL,KAAK,IAAI,EAAE,CACT,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,WAAW;wBACjD,CAAC,MAAM,mCAAmC,EAAE,CAAC,CAChD,CAAC;oBACF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;oBACnF,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;gBAChE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,uBAAuB;wBAAE,iBAAiB,GAAG,KAAK,CAAC;oBACtE,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,cAAc,GAAG,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;oBAC/C,cAAc,CAAC,IAAI,CACjB,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CACnB,OAAO;yBACJ,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;yBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CACnE,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG;gBACd,aAAa;gBACb,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACpD,GAAG,cAAc;gBACjB,GAAG,UAAU;gBACb,GAAG,WAAW;aACf,CAAC;YACF,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,MAAM,cAAc,GAClB,IAAI,CAAC,eAAe,KAAK,SAAS;gBAChC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC;oBACE,MAAM,sBAAsB,CAC1B,MAAM,EACN,MAAM,EACN,QAAQ,EACR,CAAC,aAAa,EAAE,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EACrE,CAAC,GAAG,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,EAClD,IAAI,CAAC,eAAe,EACpB,IAAI,CACL;iBACF,CAAC;YACR,qEAAqE;YACrE,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,aAAa;YACb,MAAM,aAAa,GACjB,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;gBAC1D,CAAC,CAAC,IAAI,CAAC,OAAO;gBACd,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,2CAA2C;YACrF,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBACrC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,KAAK;gBACL,aAAa;gBACb,GAAG,cAAc;aAClB,CAAC,CAAC;YACH,IAAI,aAAa,KAAK,IAAI,CAAC,OAAO;gBAAE,MAAM,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACvF,IAAI,sBAAsB,GAAG,KAAK,CAAC;YACnC,IACE,aAAa,KAAK,IAAI;gBACtB,eAAe,KAAK,IAAI;gBACxB,WAAW,KAAK,EAAE;gBAClB,qBAAqB,KAAK,EAAE;gBAC5B,eAAe,KAAK,EAAE;gBACtB,eAAe,KAAK,EAAE,EACtB,CAAC;gBACD,MAAM,CACJ,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,wBAAwB,EACzB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACpB,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;oBAC3C,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;oBACpE,sCAAsC,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;oBACtF,sCAAsC,CACpC,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,CACvB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;oBACnB,oCAAoC,CAClC,MAAM,EACN,MAAM,EACN,IAAI,CAAC,KAAK,EACV,kBAAmB,EACnB,YAAY,CACb,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;oBACnB,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;oBAC5D,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;oBAC7D,aAAa,KAAK,IAAI;wBACpB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;wBACvB,CAAC,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;iBAC/D,CAAC,CAAC;gBACH,sBAAsB;oBACpB,iBAAiB;wBACjB,CAAC,oBAAoB;wBACrB,cAAc,KAAK,WAAW;wBAC9B,eAAe,KAAK,iBAAiB;wBACrC,wBAAwB,KAAK,yBAAyB;wBACtD,wBAAwB,KAAK,yBAAyB;wBACtD,0BAA0B,KAAK,qBAAqB;wBACpD,eAAe,KAAK,eAAe;wBACnC,eAAe,KAAK,eAAe;wBACnC,wBAAwB,KAAK,yBAAyB,CAAC;YAC3D,CAAC;YACD,IAAI,aAAa,KAAK,IAAI,IAAI,eAAe,KAAK,IAAI,IAAI,sBAAsB,EAAE,CAAC;gBACjF,IAAI,CAAC;oBACH,MAAM,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;oBACP,qEAAqE;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IACD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -3,7 +3,7 @@ import { createRequire } from "node:module";
3
3
  import { readdir, readFile, realpath, stat } from "node:fs/promises";
4
4
  import { basename, dirname, extname, join, relative, resolve } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
- import { BROTLI_VERSION, ICU_VERSION, MBEDTLS_VERSION, QJS_COMMIT, ZLIB_VERSION, } from "../vendor-inputs.js";
6
+ import { BROTLI_VERSION, ICU_VERSION, MBEDTLS_VERSION, QJS_COMMIT, ZLIB_VERSION, ZSTD_VERSION, } from "../vendor-inputs.js";
7
7
  import { stableTestMemo } from "./session.js";
8
8
  const implementationPath = fileURLToPath(import.meta.url);
9
9
  const backendDir = dirname(dirname(implementationPath));
@@ -30,6 +30,7 @@ export const NATIVE_RECIPE_IMPLEMENTATION_PATHS = [
30
30
  "native/runtime-objects",
31
31
  "native/vendor",
32
32
  "native/artifact-stamps",
33
+ "native/helper-identity-record",
33
34
  "native/executable",
34
35
  "native/cache-warm",
35
36
  ].map((stem) => join(backendDir, `${stem}${extname(implementationPath)}`));
@@ -131,6 +132,7 @@ async function runtimeFingerprintFresh(rtDir) {
131
132
  .update(MBEDTLS_VERSION)
132
133
  .update(ZLIB_VERSION)
133
134
  .update(BROTLI_VERSION)
135
+ .update(ZSTD_VERSION)
134
136
  .update(ICU_VERSION)
135
137
  .update("\0backend-recipe\0");
136
138
  for (const path of NATIVE_RECIPE_IMPLEMENTATION_PATHS) {
@@ -159,6 +161,7 @@ async function runtimeFingerprintInputGroups(rtDir) {
159
161
  { label: "mbedtls", dir: join(rtDir, "..", "vendor", "mbedtls") },
160
162
  { label: "zlib", dir: join(rtDir, "..", "vendor", "zlib") },
161
163
  { label: "brotli", dir: join(rtDir, "..", "vendor", "brotli", "c") },
164
+ { label: "zstd", dir: join(rtDir, "..", "vendor", "zstd", "lib") },
162
165
  // ICU is fetched, not vendored: its pinned version and sha256 key the
163
166
  // archive's cache path (vendor-archives.ts icuArchivePath), so it is
164
167
  // not part of the runtime tree's fingerprint.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-inputs.js","sourceRoot":"","sources":["../../../src/backend/native/runtime-inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-inputs.js","sourceRoot":"","sources":["../../../src/backend/native/runtime-inputs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const vendorEngineDir: () => string, vendorTlsDir: () => string, vendorBrotliDir: () => string, brotliArchivePath: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string, ensureBrotliArchive: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string>, ensureIcuSources: (cacheRoot?: string) => Promise<string>, icuArchivePath: (driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string, ensureIcuArchive: (driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string>, vendorBuildCacheRoot: (buildRoot?: string) => string, vendorCacheTargetFlavor: (driver: Pick<import("./driver.js").CcDriver, "target">, hostPlatform?: NodeJS.Platform, hostArch?: string) => string, vendorCacheBuildIdentity: (environmentFingerprint: string, compilerIdentity: string, nativeSourceIdentity: string) => string, currentVendorCacheBuildIdentity: (driver: Pick<import("./driver.js").CcDriver, "argv" | "target">, environmentFingerprint: string) => Promise<string>, stageVendorInputs: (materialize: () => Promise<string[]>, stageDir: string) => Promise<string[]>, lreObjectPaths: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string[], ensureLreObjects: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string[]>, vendorZlibDir: () => string, zlibObjectPaths: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string[], ensureZlibObjects: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string[]>, tlsArchivePath: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string, ensureTlsArchive: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string>, LRE_SOURCES: readonly ["libregexp.c", "libunicode.c"], ZLIB_SOURCES: readonly ["adler32.c", "compress.c", "cpu_features.c", "crc32.c", "deflate.c", "infback.c", "inffast.c", "inftrees.c", "trees.c", "uncompr.c", "zutil.c", "adler32_simd.c", "crc32_simd.c", "inflate.c", "contrib/optimizations/inffast_chunk.c", "contrib/optimizations/inflate.c"];
1
+ export declare const vendorEngineDir: () => string, vendorTlsDir: () => string, vendorBrotliDir: () => string, brotliArchivePath: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string, ensureBrotliArchive: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string>, ensureIcuSources: (cacheRoot?: string) => Promise<string>, icuArchivePath: (driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string, ensureIcuArchive: (driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string>, vendorBuildCacheRoot: (buildRoot?: string) => string, vendorCacheTargetFlavor: (driver: Pick<import("./driver.js").CcDriver, "target">, hostPlatform?: NodeJS.Platform, hostArch?: string) => string, vendorCacheBuildIdentity: (environmentFingerprint: string, compilerIdentity: string, nativeSourceIdentity: string) => string, currentVendorCacheBuildIdentity: (driver: Pick<import("./driver.js").CcDriver, "argv" | "target">, environmentFingerprint: string) => Promise<string>, stageVendorInputs: (materialize: () => Promise<string[]>, stageDir: string) => Promise<string[]>, lreObjectPaths: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string[], ensureLreObjects: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string[]>, vendorZlibDir: () => string, zlibObjectPaths: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string[], ensureZlibObjects: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string[]>, vendorZstdDir: () => string, zstdObjectPaths: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string[], ensureZstdObjects: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string[]>, tlsArchivePath: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => string, ensureTlsArchive: (sanitize: boolean, driver: import("./driver.js").CcDriver, buildIdentity: string, cacheRoot?: string) => Promise<string>, LRE_SOURCES: readonly ["libregexp.c", "libunicode.c"], ZLIB_SOURCES: readonly ["adler32.c", "compress.c", "cpu_features.c", "crc32.c", "deflate.c", "infback.c", "inffast.c", "inftrees.c", "trees.c", "uncompr.c", "zutil.c", "adler32_simd.c", "crc32_simd.c", "inflate.c", "contrib/optimizations/inffast_chunk.c", "contrib/optimizations/inflate.c"], ZSTD_SOURCES: readonly ["common/debug.c", "common/entropy_common.c", "common/error_private.c", "common/fse_decompress.c", "common/pool.c", "common/threading.c", "common/xxhash.c", "common/zstd_common.c", "compress/fse_compress.c", "compress/hist.c", "compress/huf_compress.c", "compress/zstd_compress.c", "compress/zstd_compress_literals.c", "compress/zstd_compress_sequences.c", "compress/zstd_compress_superblock.c", "compress/zstd_double_fast.c", "compress/zstd_fast.c", "compress/zstd_lazy.c", "compress/zstd_ldm.c", "compress/zstd_opt.c", "compress/zstd_preSplit.c", "compress/zstdmt_compress.c", "decompress/huf_decompress.c", "decompress/zstd_ddict.c", "decompress/zstd_decompress.c", "decompress/zstd_decompress_block.c"];
@@ -2,7 +2,7 @@ import { createVendorArchives } from "../vendor-archives.js";
2
2
  import { runtimeSrcDir, runtimeFingerprint } from "./runtime-inputs.js";
3
3
  import { targetPlatform, isZigDriver } from "./driver.js";
4
4
  import { resolvedToolIdentity } from "./tool-identity.js";
5
- export const { vendorEngineDir, vendorTlsDir, vendorBrotliDir, brotliArchivePath, ensureBrotliArchive, ensureIcuSources, icuArchivePath, ensureIcuArchive, vendorBuildCacheRoot, vendorCacheTargetFlavor, vendorCacheBuildIdentity, currentVendorCacheBuildIdentity, stageVendorInputs, lreObjectPaths, ensureLreObjects, vendorZlibDir, zlibObjectPaths, ensureZlibObjects, tlsArchivePath, ensureTlsArchive, LRE_SOURCES, ZLIB_SOURCES, } = createVendorArchives({
5
+ export const { vendorEngineDir, vendorTlsDir, vendorBrotliDir, brotliArchivePath, ensureBrotliArchive, ensureIcuSources, icuArchivePath, ensureIcuArchive, vendorBuildCacheRoot, vendorCacheTargetFlavor, vendorCacheBuildIdentity, currentVendorCacheBuildIdentity, stageVendorInputs, lreObjectPaths, ensureLreObjects, vendorZlibDir, zlibObjectPaths, ensureZlibObjects, vendorZstdDir, zstdObjectPaths, ensureZstdObjects, tlsArchivePath, ensureTlsArchive, LRE_SOURCES, ZLIB_SOURCES, ZSTD_SOURCES, } = createVendorArchives({
6
6
  runtimeSrcDir,
7
7
  targetPlatform,
8
8
  isZigDriver,
@@ -1 +1 @@
1
- {"version":3,"file":"vendor.js","sourceRoot":"","sources":["../../../src/backend/native/vendor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,+BAA+B,EAC/B,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,YAAY,GACb,GAAG,oBAAoB,CAAC;IACvB,aAAa;IACb,cAAc;IACd,WAAW;IACX,oBAAoB;IACpB,kBAAkB;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"vendor.js","sourceRoot":"","sources":["../../../src/backend/native/vendor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,+BAA+B,EAC/B,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,GAAG,oBAAoB,CAAC;IACvB,aAAa;IACb,cAAc;IACd,WAAW;IACX,oBAAoB;IACpB,kBAAkB;CACnB,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
- /** Native codegen helper protocol shared by compiler hosts. */
2
1
  import type { NativeHelperSpec, NativeTargetSpec } from "./targets.js";
3
2
  export declare const NATIVE_CODEGEN_PROTOCOL_VERSION = "1";
4
3
  export declare const NATIVE_CODEGEN_LLVM_VERSION = "22.1.8";
@@ -7,20 +6,24 @@ export type NativeCodegenOutputKind = "asm" | "obj";
7
6
  * partitions that the helper simplifies, optimizes and compiles concurrently,
8
7
  * importing small functions across partitions for inlining, and reuses
9
8
  * individually across builds, so an edit optimizes again only the partitions
10
- * it affects. A divided module gets at least MIN_PROGRAM_PARTITIONS so that
11
- * small and mid-size programs use several cores. The count is a power of two
12
- * that depends only on the module's size and whether it is optimized, on
13
- * every target, so artifacts never vary with the host and ordinary edits keep
14
- * every function in its partition. An optimized module whose largest
15
- * partition would hold more than two thirds of its function text is
16
- * optimized whole by the helper instead (as for one partition), and its code
17
- * is generated in parts.
9
+ * it affects. The helper compiles partitions on one thread per hardware thread
10
+ * of the host, so a divided module gets at least PARTITIONS_PER_THREAD
11
+ * partitions for each of them, up to MAX_PROGRAM_PARTITIONS, and fewer when
12
+ * its text cannot fill each with MIN_PARTITION_BYTES: a module of a few
13
+ * hundred kilobytes gets MIN_PROGRAM_PARTITIONS partitions whatever the host.
14
+ * A module larger than PARTITIONS_PER_THREAD of the host's threads can fill at
15
+ * MIN_PARTITION_BYTES each keeps one partition per PROGRAM_PARTITION_BYTES on
16
+ * every host, so a host with few threads divides it as finely as before. The
17
+ * count is a power of two, so ordinary edits keep every function in its
18
+ * partition. An optimized module whose largest partition would hold more than
19
+ * two thirds of its function text is optimized whole by the helper instead (as
20
+ * for one partition), and its code is generated in parts.
18
21
  *
19
22
  * Unoptimized (dev) partitions are compiled on their own with nothing
20
23
  * imported, so they cost no run time and an edit compiles only the partitions
21
24
  * whose functions it changes: dev executables are divided from
22
25
  * UNOPTIMIZED_SINGLE_PARTITION_BYTES. */
23
- export declare function nativeProgramPartitions(llvmBytes: number, unoptimized?: boolean): number;
26
+ export declare function nativeProgramPartitions(llvmBytes: number, unoptimized?: boolean, parallelism?: number): number;
24
27
  /** Output paths for each partition; the first is the requested path. */
25
28
  export declare function nativePartitionPaths(path: string, count: number): string[];
26
29
  export declare class NativeCodegenError extends Error {
@@ -1,36 +1,49 @@
1
+ /** Native codegen helper protocol shared by compiler hosts. */
2
+ import { availableParallelism } from "node:os";
1
3
  export const NATIVE_CODEGEN_PROTOCOL_VERSION = "1";
2
4
  export const NATIVE_CODEGEN_LLVM_VERSION = "22.1.8";
3
- /** LLVM text that stays one module, LLVM text per partition, the fewest
4
- * partitions (MIN_PROGRAM_PARTITIONS, of at least MIN_PARTITION_BYTES each)
5
- * a divided module gets, and the most one executable uses. */
5
+ /** LLVM text that stays one module, LLVM text per partition when the module
6
+ * is divided by size, the fewest partitions (MIN_PROGRAM_PARTITIONS, of at
7
+ * least MIN_PARTITION_BYTES each) a divided module gets, the most one
8
+ * executable uses, and the partitions a divided module is sized for per
9
+ * hardware thread. */
6
10
  const SINGLE_PARTITION_BYTES = 128 * 1024;
7
11
  const PROGRAM_PARTITION_BYTES = 4 * 1024 * 1024;
8
12
  const MIN_PARTITION_BYTES = 32 * 1024;
9
13
  const MIN_PROGRAM_PARTITIONS = 8;
10
14
  const MAX_PROGRAM_PARTITIONS = 64;
15
+ const PARTITIONS_PER_THREAD = 2;
11
16
  /** SINGLE_PARTITION_BYTES of unoptimized (dev) executables. */
12
17
  const UNOPTIMIZED_SINGLE_PARTITION_BYTES = 64 * 1024;
13
18
  /** Executable objects larger than SINGLE_PARTITION_BYTES are divided into
14
19
  * partitions that the helper simplifies, optimizes and compiles concurrently,
15
20
  * importing small functions across partitions for inlining, and reuses
16
21
  * individually across builds, so an edit optimizes again only the partitions
17
- * it affects. A divided module gets at least MIN_PROGRAM_PARTITIONS so that
18
- * small and mid-size programs use several cores. The count is a power of two
19
- * that depends only on the module's size and whether it is optimized, on
20
- * every target, so artifacts never vary with the host and ordinary edits keep
21
- * every function in its partition. An optimized module whose largest
22
- * partition would hold more than two thirds of its function text is
23
- * optimized whole by the helper instead (as for one partition), and its code
24
- * is generated in parts.
22
+ * it affects. The helper compiles partitions on one thread per hardware thread
23
+ * of the host, so a divided module gets at least PARTITIONS_PER_THREAD
24
+ * partitions for each of them, up to MAX_PROGRAM_PARTITIONS, and fewer when
25
+ * its text cannot fill each with MIN_PARTITION_BYTES: a module of a few
26
+ * hundred kilobytes gets MIN_PROGRAM_PARTITIONS partitions whatever the host.
27
+ * A module larger than PARTITIONS_PER_THREAD of the host's threads can fill at
28
+ * MIN_PARTITION_BYTES each keeps one partition per PROGRAM_PARTITION_BYTES on
29
+ * every host, so a host with few threads divides it as finely as before. The
30
+ * count is a power of two, so ordinary edits keep every function in its
31
+ * partition. An optimized module whose largest partition would hold more than
32
+ * two thirds of its function text is optimized whole by the helper instead (as
33
+ * for one partition), and its code is generated in parts.
25
34
  *
26
35
  * Unoptimized (dev) partitions are compiled on their own with nothing
27
36
  * imported, so they cost no run time and an edit compiles only the partitions
28
37
  * whose functions it changes: dev executables are divided from
29
38
  * UNOPTIMIZED_SINGLE_PARTITION_BYTES. */
30
- export function nativeProgramPartitions(llvmBytes, unoptimized = false) {
39
+ export function nativeProgramPartitions(llvmBytes, unoptimized = false, parallelism = availableParallelism()) {
31
40
  if (llvmBytes <= (unoptimized ? UNOPTIMIZED_SINGLE_PARTITION_BYTES : SINGLE_PARTITION_BYTES))
32
41
  return 1;
33
- const required = Math.max(Math.ceil(llvmBytes / PROGRAM_PARTITION_BYTES), Math.min(MIN_PROGRAM_PARTITIONS, Math.ceil(llvmBytes / MIN_PARTITION_BYTES)));
42
+ // The largest power of two of MIN_PARTITION_BYTES partitions the module can
43
+ // fill, and the smallest divided module's count: enough partitions for the
44
+ // host's threads, but never more than the module has text for.
45
+ const fillable = 2 ** Math.floor(Math.log2(Math.max(1, llvmBytes / MIN_PARTITION_BYTES)));
46
+ const required = Math.max(Math.ceil(llvmBytes / PROGRAM_PARTITION_BYTES), Math.min(MIN_PROGRAM_PARTITIONS, Math.ceil(llvmBytes / MIN_PARTITION_BYTES)), Math.min(Math.max(1, parallelism) * PARTITIONS_PER_THREAD, fillable));
34
47
  return Math.min(MAX_PROGRAM_PARTITIONS, 2 ** Math.ceil(Math.log2(required)));
35
48
  }
36
49
  /** Output paths for each partition; the first is the requested path. */
@@ -1 +1 @@
1
- {"version":3,"file":"native-codegen-core.js","sourceRoot":"","sources":["../../src/backend/native-codegen-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-codegen-core.js","sourceRoot":"","sources":["../../src/backend/native-codegen-core.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { promisify } from "node:util";
8
8
  import { buildCacheRoot, copyValidCachedFile, privateSiblingPath, prepareBuildCacheRoot, publishCachedFile, pruneBuildCache, validCachedFile, } from "./build-cache.js";
9
9
  import { nativeArtifactDependenciesStillMatch, snapshotNativeArtifactDependencies, } from "./native/artifact-stamps.js";
10
10
  import {} from "./native/contracts.js";
11
+ import { readHelperIdentityDigest, writeHelperIdentity } from "./native/helper-identity-record.js";
11
12
  import { nativeCodegenTarget, nativeCodegenTargetRefusal, nativeHelperForTarget, } from "./targets.js";
12
13
  import { compilerReleaseVersion } from "../library/sidecar.js";
13
14
  import { nativeProfileHelperArgs, nativeProfileKey, parseNativeProfileMatch, } from "./native-profile.js";
@@ -110,16 +111,28 @@ async function resolveHelper(target, resolver, host) {
110
111
  // bless a later WASI request against an older X86-only package.
111
112
  const cacheKey = JSON.stringify({ dependencies, targetTriple: target.llvmTriple });
112
113
  const load = async () => {
114
+ // An install records its helper digest once; later builds prove the
115
+ // recorded files are unchanged with a stat of each, instead of reading and
116
+ // hashing the whole binary for a digest that cannot have changed.
117
+ const recordedDigest = await readHelperIdentityDigest(packageJsonPath, binaryPath, dependencies);
113
118
  let stdout;
114
- let binary;
119
+ let binaryDigest;
115
120
  try {
116
- [{ stdout }, binary] = await Promise.all([
117
- invoke(binaryPath, ["version", "--format=json"]),
118
- readFile(binaryPath),
119
- ]);
121
+ if (recordedDigest !== null) {
122
+ ({ stdout } = await invoke(binaryPath, ["version", "--format=json"]));
123
+ binaryDigest = recordedDigest;
124
+ }
125
+ else {
126
+ let binary;
127
+ [{ stdout }, binary] = await Promise.all([
128
+ invoke(binaryPath, ["version", "--format=json"]),
129
+ readFile(binaryPath),
130
+ ]);
131
+ binaryDigest = createHash("sha256").update(binary).digest("hex");
132
+ }
120
133
  }
121
134
  catch (error) {
122
- throw new NativeCodegenError("SC3003", `LLVM native helper package ${helper.packageName} could not be read and executed for its identity check: ${error instanceof Error ? error.message : String(error)}; reinstall scriptc`, "identity_probe_failed");
135
+ throw new NativeCodegenError("SC3003", `LLVM native helper package ${helper.packageName} could not be ${recordedDigest === null ? "read and executed" : "executed"} for its identity check: ${error instanceof Error ? error.message : String(error)}; reinstall scriptc`, "identity_probe_failed");
123
136
  }
124
137
  const rawVersion = parseJsonObject(stdout.trim());
125
138
  if (rawVersion === null) {
@@ -128,14 +141,20 @@ async function resolveHelper(target, resolver, host) {
128
141
  if (!(await nativeArtifactDependenciesStillMatch(dependencies).catch(() => false))) {
129
142
  throw new NativeCodegenError("SC3003", `LLVM native helper package ${helper.packageName} changed during its identity check; retry the build or reinstall scriptc`, "helper_changed");
130
143
  }
144
+ const version = validateNativeCodegenVersion(rawVersion, target, helper);
145
+ if (recordedDigest === null) {
146
+ // The record only saves work on later builds; an install that cannot
147
+ // hold it, such as a read-only package, builds exactly as before.
148
+ await writeHelperIdentity(packageJsonPath, binaryPath, binaryDigest, dependencies).catch(() => undefined);
149
+ }
131
150
  return {
132
151
  packageJsonPath,
133
152
  binaryPath,
134
153
  dependencies,
135
154
  identity: {
136
155
  packageName: helper.packageName,
137
- binaryDigest: createHash("sha256").update(binary).digest("hex"),
138
- version: validateNativeCodegenVersion(rawVersion, target, helper),
156
+ binaryDigest,
157
+ version,
139
158
  },
140
159
  };
141
160
  };