@mlx-bun/inference 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1475 -2
  3. package/THIRD_PARTY_NOTICES.md +3404 -0
  4. package/dist/native/libmlx_bun_ane.dylib +0 -0
  5. package/dist/native/libmlx_bun_expert_io.dylib +0 -0
  6. package/dist/native/mlx-bun-frame-extract +0 -0
  7. package/examples/fit-model.ts +25 -0
  8. package/examples/qwen3-forward.ts +42 -0
  9. package/examples/qwen3-generate.ts +28 -0
  10. package/examples/trellis-expand.ts +23 -0
  11. package/package.json +129 -4
  12. package/src/adapters/available.ts +110 -0
  13. package/src/adapters/index.ts +3 -0
  14. package/src/adapters/manager.ts +316 -0
  15. package/src/artifacts/auxiliary-files.ts +45 -0
  16. package/src/artifacts/config-dialects.ts +94 -0
  17. package/src/artifacts/config.ts +341 -0
  18. package/src/artifacts/draft-vocabulary.ts +30 -0
  19. package/src/artifacts/expert-offload-build.ts +75 -0
  20. package/src/artifacts/expert-offload.ts +89 -0
  21. package/src/artifacts/experts/index.ts +3 -0
  22. package/src/artifacts/experts/io.ts +386 -0
  23. package/src/artifacts/experts/residency.ts +1134 -0
  24. package/src/artifacts/experts/usage.ts +415 -0
  25. package/src/artifacts/fingerprint.ts +44 -0
  26. package/src/artifacts/glm52/container.ts +305 -0
  27. package/src/artifacts/glm52/expert-layout.ts +249 -0
  28. package/src/artifacts/glm52/index.ts +7 -0
  29. package/src/artifacts/glm52/kernel-layout.ts +124 -0
  30. package/src/artifacts/glm52/layout.ts +152 -0
  31. package/src/artifacts/glm52/memory.ts +500 -0
  32. package/src/artifacts/glm52/resident-weights.ts +135 -0
  33. package/src/artifacts/glm52/weights.ts +503 -0
  34. package/src/artifacts/glm52-config.ts +262 -0
  35. package/src/artifacts/identity.ts +94 -0
  36. package/src/artifacts/index.ts +15 -0
  37. package/src/artifacts/mmap.ts +90 -0
  38. package/src/artifacts/safetensors-writer.ts +249 -0
  39. package/src/artifacts/safetensors.ts +164 -0
  40. package/src/artifacts/turboquant-fold.ts +42 -0
  41. package/src/artifacts/weight-audit.ts +43 -0
  42. package/src/artifacts/weights.ts +255 -0
  43. package/src/contracts/index.ts +2 -0
  44. package/src/contracts/mlx/attention.ts +8 -0
  45. package/src/contracts/mlx/cache.ts +510 -0
  46. package/src/contracts/mlx/checkpoint.ts +10 -0
  47. package/src/contracts/mlx/draft-checkpoint.ts +14 -0
  48. package/src/contracts/mlx/draft-projection.ts +27 -0
  49. package/src/contracts/mlx/draft-target.ts +84 -0
  50. package/src/contracts/mlx/drafter.ts +176 -0
  51. package/src/contracts/mlx/forward-work.ts +23 -0
  52. package/src/contracts/mlx/glm52-weights.ts +25 -0
  53. package/src/contracts/mlx/graph.ts +309 -0
  54. package/src/contracts/mlx/head.ts +6 -0
  55. package/src/contracts/mlx/index.ts +15 -0
  56. package/src/contracts/mlx/kv-codec.ts +9 -0
  57. package/src/contracts/mlx/media.ts +113 -0
  58. package/src/contracts/mlx/positions.ts +16 -0
  59. package/src/contracts/mlx/row-table.ts +2 -0
  60. package/src/contracts/mlx/trainable.ts +103 -0
  61. package/src/contracts/mlx/whisper.ts +96 -0
  62. package/src/contracts/portable/composition.ts +106 -0
  63. package/src/contracts/portable/denoising.ts +17 -0
  64. package/src/contracts/portable/execution.ts +79 -0
  65. package/src/contracts/portable/generation.ts +103 -0
  66. package/src/contracts/portable/graph.ts +80 -0
  67. package/src/contracts/portable/index.ts +15 -0
  68. package/src/contracts/portable/memory-plan.ts +26 -0
  69. package/src/contracts/portable/object-cache.ts +8 -0
  70. package/src/contracts/portable/prefill.ts +63 -0
  71. package/src/contracts/portable/prefix-cache.ts +33 -0
  72. package/src/contracts/portable/prompt.ts +2 -0
  73. package/src/contracts/portable/resources.ts +25 -0
  74. package/src/contracts/portable/rollback.ts +7 -0
  75. package/src/contracts/portable/sampling.ts +44 -0
  76. package/src/contracts/portable/scheduling.ts +54 -0
  77. package/src/contracts/portable/token-delivery.ts +4 -0
  78. package/src/contracts/portable/tsconfig.json +14 -0
  79. package/src/embeddings/index.ts +1 -0
  80. package/src/embeddings/text.ts +85 -0
  81. package/src/execution/admission.ts +59 -0
  82. package/src/execution/batch-group.ts +1240 -0
  83. package/src/execution/batch-types.ts +225 -0
  84. package/src/execution/cancellation.ts +38 -0
  85. package/src/execution/continuation-request.ts +45 -0
  86. package/src/execution/continuation-types.ts +10 -0
  87. package/src/execution/coordinator.ts +70 -0
  88. package/src/execution/denoising-group.ts +180 -0
  89. package/src/execution/engine.ts +56 -0
  90. package/src/execution/fill-group.ts +505 -0
  91. package/src/execution/fit.ts +184 -0
  92. package/src/execution/gateway-binding.ts +178 -0
  93. package/src/execution/grammar-group.ts +224 -0
  94. package/src/execution/index.ts +18 -0
  95. package/src/execution/methods.ts +75 -0
  96. package/src/execution/mixed-iteration.ts +96 -0
  97. package/src/execution/plan.ts +65 -0
  98. package/src/execution/prefill-cohort.ts +100 -0
  99. package/src/execution/prefill-rows.ts +263 -0
  100. package/src/execution/request-policy.ts +19 -0
  101. package/src/execution/row-sampling.ts +49 -0
  102. package/src/execution/scheduler.ts +92 -0
  103. package/src/execution/session.ts +247 -0
  104. package/src/execution/speculative-group.ts +797 -0
  105. package/src/execution/tasks.ts +44 -0
  106. package/src/generation/autoregressive.ts +840 -0
  107. package/src/generation/bindings/autoregressive.ts +104 -0
  108. package/src/generation/bindings/denoising.ts +60 -0
  109. package/src/generation/bindings/prefill-policy.ts +36 -0
  110. package/src/generation/checkpoint-identity.ts +60 -0
  111. package/src/generation/denoising.ts +85 -0
  112. package/src/generation/diffusion.ts +583 -0
  113. package/src/generation/fill/echo-index.ts +188 -0
  114. package/src/generation/fill/index.ts +3 -0
  115. package/src/generation/fill/proposal.ts +69 -0
  116. package/src/generation/fill/schema-rows.ts +506 -0
  117. package/src/generation/fill/session.ts +464 -0
  118. package/src/generation/fill/tool-boundary.ts +103 -0
  119. package/src/generation/fill-append.ts +58 -0
  120. package/src/generation/generate.ts +44 -0
  121. package/src/generation/grammar-step.ts +39 -0
  122. package/src/generation/index.ts +14 -0
  123. package/src/generation/phase-dispatch.ts +115 -0
  124. package/src/generation/prefill.ts +33 -0
  125. package/src/generation/result.ts +49 -0
  126. package/src/generation/scopes.ts +157 -0
  127. package/src/generation/speculative/acceptance.ts +41 -0
  128. package/src/generation/speculative/adaptive-draft-gate.ts +166 -0
  129. package/src/generation/speculative/bindings/assistant-rows.ts +102 -0
  130. package/src/generation/speculative/bindings/autoregressive-rows.ts +124 -0
  131. package/src/generation/speculative/bindings/binding.ts +106 -0
  132. package/src/generation/speculative/bindings/deepspec-rows.ts +33 -0
  133. package/src/generation/speculative/bindings/draft-target.ts +10 -0
  134. package/src/generation/speculative/bindings/glm52-mtp-rows.ts +128 -0
  135. package/src/generation/speculative/bindings/projected-context-rows.ts +78 -0
  136. package/src/generation/speculative/bindings/projected-draft-rows.ts +95 -0
  137. package/src/generation/speculative/bindings/qwen-mtp-rows.ts +336 -0
  138. package/src/generation/speculative/bindings/two-model-rows.ts +63 -0
  139. package/src/generation/speculative/cache-identity.ts +16 -0
  140. package/src/generation/speculative/draft-kind.ts +149 -0
  141. package/src/generation/speculative/draft-policy.ts +41 -0
  142. package/src/generation/speculative/draft-registry.ts +118 -0
  143. package/src/generation/speculative/draft-vocab.ts +110 -0
  144. package/src/generation/speculative/index.ts +17 -0
  145. package/src/generation/speculative/output.ts +49 -0
  146. package/src/generation/speculative/round.ts +307 -0
  147. package/src/generation/speculative/source.ts +144 -0
  148. package/src/generation/speculative/sources/assistant-source.ts +64 -0
  149. package/src/generation/speculative/sources/deepspec-source.ts +70 -0
  150. package/src/generation/speculative/sources/dflash-source.ts +84 -0
  151. package/src/generation/speculative/sources/dflash2-source.ts +86 -0
  152. package/src/generation/speculative/sources/glm52-mtp-source.ts +66 -0
  153. package/src/generation/speculative/sources/ngram-source.ts +165 -0
  154. package/src/generation/speculative/sources/qwen-mtp-source.ts +154 -0
  155. package/src/generation/speculative/sources/two-model.ts +75 -0
  156. package/src/generation/types.ts +194 -0
  157. package/src/index.ts +20 -0
  158. package/src/input/audio/audiotoolbox.ts +112 -0
  159. package/src/input/audio/decode.ts +133 -0
  160. package/src/input/audio/features.ts +202 -0
  161. package/src/input/audio/index.ts +6 -0
  162. package/src/input/audio/transcode.ts +67 -0
  163. package/src/input/audio/whisper-mel.ts +185 -0
  164. package/src/input/audio/whisper-tokenizer.ts +238 -0
  165. package/src/input/chat-template.ts +389 -0
  166. package/src/input/index.ts +6 -0
  167. package/src/input/media-fetch.ts +439 -0
  168. package/src/input/packed-mixed.ts +43 -0
  169. package/src/input/special-tokens.ts +75 -0
  170. package/src/input/token-groups.ts +49 -0
  171. package/src/input/tokenizer.ts +336 -0
  172. package/src/input/tool-call.ts +689 -0
  173. package/src/input/vision/index.ts +3 -0
  174. package/src/input/vision/preprocess.ts +247 -0
  175. package/src/input/vision/prompt.ts +398 -0
  176. package/src/input/vision/qwen3vl-preprocess.ts +409 -0
  177. package/src/input/vision/qwen3vl-prompt.ts +237 -0
  178. package/src/input/vision/video-frames.ts +100 -0
  179. package/src/kernels/ane/fill.ts +101 -0
  180. package/src/kernels/ane/linear.ts +416 -0
  181. package/src/kernels/attention/flash.ts +694 -0
  182. package/src/kernels/attention/kvq4-decode.ts +155 -0
  183. package/src/kernels/attention/masks.ts +40 -0
  184. package/src/kernels/attention/multi-query.ts +193 -0
  185. package/src/kernels/attention/paged.ts +130 -0
  186. package/src/kernels/delta/gated.ts +306 -0
  187. package/src/kernels/delta/index.ts +3 -0
  188. package/src/kernels/delta/silu-rms-heads.ts +69 -0
  189. package/src/kernels/delta/state.ts +74 -0
  190. package/src/kernels/gated-rms-norm.ts +64 -0
  191. package/src/kernels/glm52/layout.ts +37 -0
  192. package/src/kernels/glm52/streamed-experts.ts +360 -0
  193. package/src/kernels/logits.ts +38 -0
  194. package/src/kernels/quantization/affine-row.ts +154 -0
  195. package/src/kernels/quantization/affine-rows.ts +36 -0
  196. package/src/kernels/quantization/affine-split-mma.ts +144 -0
  197. package/src/kernels/quantization/affine3-mma.ts +117 -0
  198. package/src/kernels/quantization/affine3-rows.ts +103 -0
  199. package/src/kernels/quantization/affine4-mma.ts +113 -0
  200. package/src/kernels/quantization/affine4-rows.ts +102 -0
  201. package/src/kernels/residual-rms-norm.ts +65 -0
  202. package/src/kernels/sampling/index.ts +2 -0
  203. package/src/kernels/sampling/normalized-argmax.ts +116 -0
  204. package/src/kernels/sampling/token-bitmask.ts +52 -0
  205. package/src/kernels/softcap.ts +35 -0
  206. package/src/kernels/trellis/codebook.ts +123 -0
  207. package/src/kernels/trellis/down-codebook.ts +184 -0
  208. package/src/kernels/trellis/down-factored.ts +180 -0
  209. package/src/kernels/trellis/down-k3-interleaved-factored.ts +146 -0
  210. package/src/kernels/trellis/down-mma-wide.ts +195 -0
  211. package/src/kernels/trellis/down-mma.ts +145 -0
  212. package/src/kernels/trellis/expand.ts +42 -0
  213. package/src/kernels/trellis/gate-up-codebook-mma.ts +141 -0
  214. package/src/kernels/trellis/gate-up-codebook.ts +137 -0
  215. package/src/kernels/trellis/gate-up-factored.ts +197 -0
  216. package/src/kernels/trellis/gate-up-mma-wide.ts +147 -0
  217. package/src/kernels/trellis/gate-up-mma.ts +148 -0
  218. package/src/kernels/trellis/gate-up.ts +248 -0
  219. package/src/kernels/trellis/geometry.ts +22 -0
  220. package/src/kernels/trellis/index.ts +103 -0
  221. package/src/kernels/trellis/launch.ts +12 -0
  222. package/src/kernels/trellis/mixed-gate-up-factored.ts +119 -0
  223. package/src/kernels/trellis/mixed-gate-up.ts +146 -0
  224. package/src/kernels/trellis/qualified.ts +34 -0
  225. package/src/kernels/trellis/reduce.ts +150 -0
  226. package/src/kernels/trellis/scatter.ts +407 -0
  227. package/src/kernels/trellis/splitk-prefill.ts +152 -0
  228. package/src/kernels/trellis/tiled-prefill.ts +131 -0
  229. package/src/kernels/trellis/vector-expand.ts +58 -0
  230. package/src/kernels/trellis/wide-prefill.ts +89 -0
  231. package/src/kernels/turboquant/decode.ts +82 -0
  232. package/src/kernels/turboquant/index.ts +5 -0
  233. package/src/kernels/turboquant/inverse.ts +122 -0
  234. package/src/kernels/turboquant/ops.ts +860 -0
  235. package/src/kernels/turboquant/signs.ts +130 -0
  236. package/src/kernels/turboquant/tables.ts +124 -0
  237. package/src/layers/affine-verify-linear.ts +75 -0
  238. package/src/layers/ane-prefill-split.ts +283 -0
  239. package/src/layers/compiled-normalization.ts +41 -0
  240. package/src/layers/delta-heads.ts +23 -0
  241. package/src/layers/dense-embedding.ts +29 -0
  242. package/src/layers/dense-linear.ts +32 -0
  243. package/src/layers/dequantized-linear.ts +72 -0
  244. package/src/layers/folded-attention.ts +42 -0
  245. package/src/layers/geglu.ts +130 -0
  246. package/src/layers/helpers.ts +7 -0
  247. package/src/layers/index.ts +36 -0
  248. package/src/layers/kv4-decode-attention.ts +15 -0
  249. package/src/layers/layer-norm.ts +24 -0
  250. package/src/layers/loading.ts +92 -0
  251. package/src/layers/lora.ts +150 -0
  252. package/src/layers/normalization.ts +9 -0
  253. package/src/layers/prefix-layout.ts +33 -0
  254. package/src/layers/quantized-append-attention.ts +32 -0
  255. package/src/layers/quantized-attention.ts +353 -0
  256. package/src/layers/quantized-embedding.ts +39 -0
  257. package/src/layers/quantized-linear.ts +137 -0
  258. package/src/layers/quantized-switch-linear.ts +37 -0
  259. package/src/layers/qwen-append.ts +12 -0
  260. package/src/layers/qwen-mrope.ts +238 -0
  261. package/src/layers/rope-2d.ts +110 -0
  262. package/src/layers/rope.ts +389 -0
  263. package/src/layers/swiglu.ts +23 -0
  264. package/src/layers/trellis-codebook-down.ts +52 -0
  265. package/src/layers/trellis-codebook-gate-up.ts +42 -0
  266. package/src/layers/trellis-down.ts +117 -0
  267. package/src/layers/trellis-gate-up.ts +71 -0
  268. package/src/layers/trellis-linear.ts +211 -0
  269. package/src/layers/trellis-prompt.ts +102 -0
  270. package/src/layers/trellis-reduce-gate-up.ts +73 -0
  271. package/src/layers/trellis-scatter-down.ts +98 -0
  272. package/src/models/ane-install.ts +74 -0
  273. package/src/models/audio/conformer.ts +656 -0
  274. package/src/models/cache-composition.ts +44 -0
  275. package/src/models/capabilities.ts +89 -0
  276. package/src/models/chat-template.ts +10 -0
  277. package/src/models/composition.ts +107 -0
  278. package/src/models/diffusion-gemma/experts.ts +59 -0
  279. package/src/models/diffusion-gemma/family.ts +21 -0
  280. package/src/models/diffusion-gemma/model.ts +900 -0
  281. package/src/models/diffusion-gemma/vision.ts +549 -0
  282. package/src/models/drafter-loaders.ts +49 -0
  283. package/src/models/drafters.ts +39 -0
  284. package/src/models/factory.ts +351 -0
  285. package/src/models/families.ts +70 -0
  286. package/src/models/family.ts +125 -0
  287. package/src/models/gemma4/assistant-target.ts +46 -0
  288. package/src/models/gemma4/assistant.ts +327 -0
  289. package/src/models/gemma4/blocks.ts +755 -0
  290. package/src/models/gemma4/compiled-decode.ts +452 -0
  291. package/src/models/gemma4/family.ts +39 -0
  292. package/src/models/gemma4/gemma4-12b.ts +677 -0
  293. package/src/models/gemma4/gemma4-26b.ts +544 -0
  294. package/src/models/gemma4/gemma4-e4b.ts +599 -0
  295. package/src/models/gemma4/graphs.ts +147 -0
  296. package/src/models/gemma4/media.ts +88 -0
  297. package/src/models/gemma4/model.ts +860 -0
  298. package/src/models/gemma4/serving-blocks.ts +72 -0
  299. package/src/models/gemma4/trainable.ts +186 -0
  300. package/src/models/gemma4/written-blocks.ts +232 -0
  301. package/src/models/gemma4/written-forward.ts +159 -0
  302. package/src/models/gemma4/written-input.ts +29 -0
  303. package/src/models/glm52/atlas.ts +507 -0
  304. package/src/models/glm52/coupling.ts +388 -0
  305. package/src/models/glm52/dsa.ts +601 -0
  306. package/src/models/glm52/family.ts +20 -0
  307. package/src/models/glm52/mla.ts +812 -0
  308. package/src/models/glm52/model.ts +1127 -0
  309. package/src/models/glm52/moe.ts +223 -0
  310. package/src/models/glm52/mtp.ts +60 -0
  311. package/src/models/glm52/pilot.ts +537 -0
  312. package/src/models/glm52/reference.ts +445 -0
  313. package/src/models/glm52/residency.ts +557 -0
  314. package/src/models/glm52/streamed-experts.ts +447 -0
  315. package/src/models/graph.ts +59 -0
  316. package/src/models/implementation.ts +230 -0
  317. package/src/models/index.ts +15 -0
  318. package/src/models/media-input.ts +15 -0
  319. package/src/models/memory-plan.ts +39 -0
  320. package/src/models/minicpm5/family.ts +29 -0
  321. package/src/models/minicpm5/model.ts +394 -0
  322. package/src/models/minicpm5/trainable.ts +90 -0
  323. package/src/models/profile.ts +337 -0
  324. package/src/models/qwen/blocks.ts +658 -0
  325. package/src/models/qwen/checkpoint.ts +190 -0
  326. package/src/models/qwen/families.ts +57 -0
  327. package/src/models/qwen/media-input.ts +161 -0
  328. package/src/models/qwen/mtp.ts +101 -0
  329. package/src/models/qwen/qwen3-moe.ts +355 -0
  330. package/src/models/qwen/qwen3.ts +323 -0
  331. package/src/models/qwen/qwen38-27b-trellis-m1max.ts +1532 -0
  332. package/src/models/qwen/qwen38-27b-trellis-m4pro.ts +1092 -0
  333. package/src/models/qwen/qwen3_5.ts +433 -0
  334. package/src/models/qwen/written-layers.ts +285 -0
  335. package/src/models/row-table.ts +1 -0
  336. package/src/models/runtime.ts +73 -0
  337. package/src/models/speculative/deepspec-artifact.ts +10 -0
  338. package/src/models/speculative/deepspec.ts +744 -0
  339. package/src/models/speculative/dflash.ts +553 -0
  340. package/src/models/speculative/dflash2-artifact.ts +9 -0
  341. package/src/models/speculative/dflash2-operations.ts +1 -0
  342. package/src/models/speculative/dflash2.ts +576 -0
  343. package/src/models/speculative/loader.ts +29 -0
  344. package/src/models/support.ts +79 -0
  345. package/src/models/universal/archs.ts +365 -0
  346. package/src/models/universal/blocks.ts +479 -0
  347. package/src/models/universal/dense.ts +255 -0
  348. package/src/models/universal/family.ts +17 -0
  349. package/src/models/vision/qwen3vl.ts +566 -0
  350. package/src/models/vision/siglip.ts +520 -0
  351. package/src/models/vision/unified.ts +176 -0
  352. package/src/models/whisper/family.ts +19 -0
  353. package/src/models/whisper/fast.ts +734 -0
  354. package/src/models/whisper/model.ts +430 -0
  355. package/src/runtime/compiled-trace.ts +16 -0
  356. package/src/runtime/config.ts +77 -0
  357. package/src/runtime/expert-trace.ts +71 -0
  358. package/src/runtime/graph-forward.ts +65 -0
  359. package/src/runtime/integers.ts +6 -0
  360. package/src/runtime/native.ts +16 -0
  361. package/src/runtime/resources.ts +53 -0
  362. package/src/runtime/row-operations.ts +42 -0
  363. package/src/runtime/trace.ts +161 -0
  364. package/src/sampling/curve.ts +122 -0
  365. package/src/sampling/draft.ts +55 -0
  366. package/src/sampling/extras.ts +45 -0
  367. package/src/sampling/filters.ts +134 -0
  368. package/src/sampling/grammar.ts +630 -0
  369. package/src/sampling/hlg.ts +290 -0
  370. package/src/sampling/index.ts +9 -0
  371. package/src/sampling/processors.ts +142 -0
  372. package/src/sampling/sampler.ts +120 -0
  373. package/src/sampling/step.ts +343 -0
  374. package/src/sampling/types.ts +161 -0
  375. package/src/sampling/window-filters.ts +46 -0
  376. package/src/scoring/decisions.ts +96 -0
  377. package/src/scoring/full-sequence.ts +103 -0
  378. package/src/scoring/index.ts +9 -0
  379. package/src/scoring/kl.ts +29 -0
  380. package/src/scoring/perplexity.ts +165 -0
  381. package/src/scoring/response-logps.ts +65 -0
  382. package/src/state/affine-attention.ts +180 -0
  383. package/src/state/attachment.ts +68 -0
  384. package/src/state/attention-read.ts +215 -0
  385. package/src/state/batched-kv.ts +294 -0
  386. package/src/state/batched-mask.ts +445 -0
  387. package/src/state/batched-quant.ts +389 -0
  388. package/src/state/batched-quantized-kv.ts +209 -0
  389. package/src/state/batched-rotating-quant.ts +457 -0
  390. package/src/state/batched-rotating-state.ts +149 -0
  391. package/src/state/batched-rotating.ts +430 -0
  392. package/src/state/batched-row-storage.ts +179 -0
  393. package/src/state/batched-ssm.ts +54 -0
  394. package/src/state/batched-turboquant-kv.ts +144 -0
  395. package/src/state/bf16-first-kv.ts +663 -0
  396. package/src/state/cache-service.ts +592 -0
  397. package/src/state/capabilities.ts +65 -0
  398. package/src/state/checkpoint.ts +46 -0
  399. package/src/state/continuation-persistence.ts +126 -0
  400. package/src/state/decode-step-inputs.ts +31 -0
  401. package/src/state/decoded-kv-donor.ts +12 -0
  402. package/src/state/delayed-quantized-kv.ts +141 -0
  403. package/src/state/delayed-rotating-quantized-kv.ts +178 -0
  404. package/src/state/delayed-turboquant-kv.ts +123 -0
  405. package/src/state/durability.ts +214 -0
  406. package/src/state/encoder-cache.ts +26 -0
  407. package/src/state/full-kv-row-append.ts +33 -0
  408. package/src/state/full-kv-row-donor.ts +54 -0
  409. package/src/state/full-prefill-padding.ts +56 -0
  410. package/src/state/full-prefill-row.ts +112 -0
  411. package/src/state/full-transitioning-kv-rows.ts +70 -0
  412. package/src/state/glm52-cache.ts +783 -0
  413. package/src/state/grouped-heads-kv4-cache.ts +26 -0
  414. package/src/state/index.ts +38 -0
  415. package/src/state/kv-attention-view.ts +77 -0
  416. package/src/state/kv-budget.ts +14 -0
  417. package/src/state/kv-scheme.ts +315 -0
  418. package/src/state/kv-storage.ts +57 -0
  419. package/src/state/kv-tensor-rows.ts +212 -0
  420. package/src/state/kv.ts +324 -0
  421. package/src/state/kv4-head256-cache.ts +46 -0
  422. package/src/state/latent-legos.ts +895 -0
  423. package/src/state/layout.ts +277 -0
  424. package/src/state/leases.ts +26 -0
  425. package/src/state/paged/cache.ts +689 -0
  426. package/src/state/paged/codec.ts +36 -0
  427. package/src/state/paged/rows.ts +223 -0
  428. package/src/state/persistence-types.ts +173 -0
  429. package/src/state/persistence-worker.ts +83 -0
  430. package/src/state/persistence.ts +1036 -0
  431. package/src/state/persistence.worker.d.ts +3 -0
  432. package/src/state/persistence.worker.js +264 -0
  433. package/src/state/prefix-cache.ts +685 -0
  434. package/src/state/quantized-kv.ts +369 -0
  435. package/src/state/quantized-tensor.ts +26 -0
  436. package/src/state/request-policy.ts +48 -0
  437. package/src/state/retention-policy.ts +37 -0
  438. package/src/state/rollback.ts +131 -0
  439. package/src/state/rotating-kv-donor.ts +35 -0
  440. package/src/state/rotating-kv-layout.ts +341 -0
  441. package/src/state/rotating-kv.ts +529 -0
  442. package/src/state/rotating-quantized-kv.ts +616 -0
  443. package/src/state/rotating-row-transaction.ts +35 -0
  444. package/src/state/rows.ts +104 -0
  445. package/src/state/softcap-attention.ts +118 -0
  446. package/src/state/speculative/glm52-mtp-state.ts +38 -0
  447. package/src/state/speculative/qwen-mtp-state.ts +34 -0
  448. package/src/state/speculative-rotating-kv.ts +113 -0
  449. package/src/state/ssd-cache.ts +434 -0
  450. package/src/state/ssm-prefill-padding.ts +39 -0
  451. package/src/state/ssm.ts +422 -0
  452. package/src/state/target-layout.ts +7 -0
  453. package/src/state/tiered-prefix-cache.ts +45 -0
  454. package/src/state/training-cache.ts +300 -0
  455. package/src/state/transitioning-kv-rows.ts +267 -0
  456. package/src/state/turboquant-attention.ts +97 -0
  457. package/src/state/turboquant-codec.ts +90 -0
  458. package/src/state/turboquant-kv.ts +442 -0
  459. package/src/state/views.ts +26 -0
  460. package/src/transcription/index.ts +3 -0
  461. package/src/transcription/silero-vad.ts +379 -0
  462. package/src/transcription/whisper/decode.ts +773 -0
  463. package/src/transcription/whisper/format.ts +74 -0
  464. package/src/transcription/whisper/index.ts +4 -0
  465. package/src/transcription/whisper/timing.ts +274 -0
  466. package/src/transcription/whisper/transcribe.ts +394 -0
  467. package/src/transcription/whisper/types.ts +22 -0
@@ -0,0 +1,1092 @@
1
+ import type { MlxArray } from "@mlx-bun/mlx/array";
2
+ import * as ops from "@mlx-bun/mlx/ops";
3
+ import type { ModelConfig } from "../../artifacts/config";
4
+ import type { Weights } from "../../artifacts/weights";
5
+ import type { Cache } from "../../contracts/mlx/cache";
6
+ import type { ResidualBasis, TargetView } from "../../contracts/mlx/draft-target";
7
+ import type { MlxDeclaredGraph, MlxTokenPhases, MlxLayerCapture, MlxHeadForward, MlxRowTable, MlxPromptRange, MlxCacheLayer, MlxPhaseForward, MlxSequenceRange, MlxSeparateMixed, MlxKnownRange } from "../../contracts/mlx/graph";
8
+ import type { MediaEncoders, MlxPromptInput, Vision, MlxPositionedForward, MlxPositionedRange, MlxPositionedEmbeddingsRange, MlxEmbeddingsRange } from "../../contracts/mlx/media";
9
+ import type { MropeForwardState } from "../../contracts/mlx/positions";
10
+ import type { GraphDeclaration } from "../../contracts/portable/graph";
11
+ import type { AneProgramSpec } from "../../kernels/ane/linear";
12
+ import { Affine3MmaLinear as Affine3Mma, Affine3RowsLinear as Affine3Rows, Affine4MmaLinear as Affine4Mma, Affine4RowsLinear as Affine4Rows } from "../../layers/affine-verify-linear";
13
+ import { AneAffineSplit, AneTrellisExpandedMlpSplit as AneMlp, AneTrellisExpandedMlpSplitK3i as AneMlpK3i, aneAffineSplitProgram, aneMlpSplitProgram } from "../../layers/ane-prefill-split";
14
+ import { LoraState } from "../../layers/lora";
15
+ import { RMSNorm } from "../../layers/normalization";
16
+ import { QuantizedEmbedding } from "../../layers/quantized-embedding";
17
+ import { QuantizedLinear, QuantizedLinearPlain as Plain, QuantizedLinearRows as SeparateRows } from "../../layers/quantized-linear";
18
+ import { qwenAppendChunkSize } from "../../layers/qwen-append";
19
+ import { mropeInvFreq } from "../../layers/qwen-mrope";
20
+ import { FactoredDownK3iRow as DownK3iRow, FactoredDownK3iRows as DownK3iRows, FactoredDownRow as DownRow, FactoredDownRows as DownRows, MmaDown, MmaDownK3i } from "../../layers/trellis-down";
21
+ import { FactoredGateUpRow as GateRow, FactoredGateUpRows as GateRows, FactoredMixedGateUp as MixedGate, MmaGateUp as MmaGate } from "../../layers/trellis-gate-up";
22
+ import { TrellisFusedMLP, TrellisUnfusedMLP, TrellisReducePrompt as Reduce, TrellisScatterPrompt as Scatter, TrellisSplitKPrompt as SplitK, TrellisWidePrompt as Wide, TrellisTiledPrompt as Tiled, TrellisExpandReducePrompt as ExpandGate, TrellisExpandScatterPrompt as ExpandDown } from "../../layers/trellis-prompt";
23
+ import { GraphForwardScope, BoundedGraphForwardScope, SubmittedGraphForwardScope } from "../../runtime/graph-forward";
24
+ import { disposeResources } from "../../runtime/resources";
25
+ import { declareGraph } from "../capabilities";
26
+ import type { ReadPhase } from "../graph";
27
+ import { QwenDeltaLayer as Delta, QwenAttentionLayer as Attention } from "./blocks";
28
+ import { bindQwenMediaInput, qwenDraftTarget, qwenMediaEncoders, qwenResidualBasis } from "./media-input";
29
+ import { DeltaWeights, AttentionWeights, GateDownMLP, AneBoundMlp, AneWeightShares, canonicalQwenWeights, type QwenProjectionTarget } from "./written-layers";
30
+
31
+ export const QWEN38_TRELLIS_M4PRO_GRAPH = "qwen3.8-27b-trellis-3.2bpw-m4pro";
32
+ export const DECODE_ROWS = 8;
33
+ /** Exact entries through64 rows; larger rows use this file's expanded operation. */
34
+ export const VERIFY_ROWS = 64;
35
+ const PREFIX = "language_model.model";
36
+ const REPRESENTATIONS = { gateUpCodebook: false, mixedExactBits: false,
37
+ scatter: { bits: false, genericBits: false, floatCodebook: false }, widePrefill: true };
38
+ const ANE_FRACTION = 0.55;
39
+ export interface AneWidths { readonly hidden:number; readonly intermediate:number; readonly projections:readonly [readonly [number,number],readonly [number,number]] }
40
+ export const ANE_WIDTHS: AneWidths = {hidden:5120,intermediate:17408,projections:[[5120,6144],[6144,5120]]};
41
+ /** The install step fills these programs' cache; this file only loads them. */
42
+ export function anePrograms(widths:AneWidths=ANE_WIDTHS):AneProgramSpec[] {
43
+ const [[zi,zo],[oi,oo]]=widths.projections;
44
+ return [
45
+ aneMlpSplitProgram(widths.hidden,widths.intermediate,ANE_FRACTION,1024),aneAffineSplitProgram(zi,zo,ANE_FRACTION,1024),aneAffineSplitProgram(oi,oo,ANE_FRACTION,1024),
46
+ aneMlpSplitProgram(widths.hidden,widths.intermediate,ANE_FRACTION,1536),aneAffineSplitProgram(zi,zo,ANE_FRACTION,1536),aneAffineSplitProgram(oi,oo,ANE_FRACTION,1536),
47
+ aneMlpSplitProgram(widths.hidden,widths.intermediate,ANE_FRACTION,2048),aneAffineSplitProgram(zi,zo,ANE_FRACTION,2048),aneAffineSplitProgram(oi,oo,ANE_FRACTION,2048),
48
+ ];
49
+ }
50
+ type Layers=readonly [
51
+ Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,
52
+ Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,
53
+ Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,
54
+ Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,Delta,Delta,Delta,Attention,
55
+ ];
56
+ export type RowsForward=(ids:MlxArray,state:Cache[],capture:MlxLayerCapture|null)=>MlxArray;
57
+
58
+ /** A written arrangement qualified on M4 Pro. The loader recommends it;
59
+ * explicit selection remains the caller's choice on any machine. */
60
+ export class Qwen38TrellisM4Pro implements MlxDeclaredGraph,MlxTokenPhases {
61
+ readonly graph=QWEN38_TRELLIS_M4PRO_GRAPH;
62
+ readonly prefixBase=PREFIX;
63
+ readonly loraState=new LoraState();
64
+ readonly faIdx=3;
65
+ readonly weightsBytes:number;
66
+ readonly embed:QuantizedEmbedding;
67
+ readonly finalNorm:RMSNorm;
68
+ readonly lmHead:QuantizedLinear;
69
+ readonly graphCapabilities:GraphDeclaration=declareGraph({media:{input:"embeddings+positions",video:true},hiddenLayerTaps:true,prefill:{boundedWorkspace:true}});
70
+ readonly verifyRoundCosts=new Map([[1,1],[2,1.3],[3,1.46],[4,1.68],[5,1.82],[6,1.92],[7,1.93],[8,1.94]]);
71
+ readonly knownSpans={maxChunkSize:(state:readonly Cache[])=>qwenAppendChunkSize(state[0]!.offset)};
72
+ readonly cacheLayers:readonly MlxCacheLayer[]=[
73
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
74
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
75
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
76
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
77
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
78
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
79
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
80
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
81
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
82
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
83
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
84
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
85
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
86
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
87
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
88
+ {kind:"recurrent"},{kind:"recurrent"},{kind:"recurrent"},{kind:"full",turboQuant:"dense",kv4Head256:true},
89
+ ];
90
+ readonly prompt:readonly MlxPromptRange[];
91
+ readonly promptChunk:readonly MlxPromptRange[];
92
+ readonly multiSequencePrompt:readonly MlxPromptRange[];
93
+ readonly multiSequencePromptChunk:readonly MlxPromptRange[];
94
+ readonly decode:MlxRowTable<RowsForward>;
95
+ readonly verify:MlxRowTable<RowsForward>;
96
+ readonly appendKnown:readonly MlxKnownRange[];
97
+ readonly logits:MlxRowTable<MlxHeadForward>;
98
+ readonly sequence:readonly MlxSequenceRange[];
99
+ readonly mediaPrefill:readonly MlxPositionedEmbeddingsRange[];
100
+ readonly mediaPrompt:readonly MlxPositionedRange[];
101
+ readonly mediaDecode:MlxRowTable<MlxPositionedForward>;
102
+ readonly embeddingPrompt:readonly MlxEmbeddingsRange[];
103
+ readonly mixedSeparate:MlxSeparateMixed;
104
+ readonly #head:Plain;
105
+ readonly #targets:Map<string,QwenProjectionTarget>;
106
+ readonly #owned:{dispose():void}[];
107
+ readonly #residualBasis:ResidualBasis|undefined;
108
+ readonly #mrope:{invFreq:MlxArray;rotaryDims:number};
109
+ readonly #one:Layers;
110
+ readonly #rows:Layers;
111
+ readonly #four:Layers;
112
+ readonly #mma:Layers;
113
+ readonly #wide:Layers;
114
+ readonly #tiled:Layers;
115
+ readonly #expanded:Layers;
116
+ readonly #ane1024:Layers;
117
+ readonly #ane1536:Layers;
118
+ readonly #ane2048:Layers;
119
+ readonly #stockNarrow:Layers;
120
+ readonly #stockFiveToEight:Layers;
121
+ readonly #knownNarrow:Layers;
122
+ readonly #knownFiveToEight:Layers;
123
+ readonly #knownWide:Layers;
124
+ readonly #knownTiled:Layers;
125
+ readonly #knownExpanded:Layers;
126
+
127
+ constructor(weights:Weights,readonly config:ModelConfig) {
128
+ const w=canonicalQwenWeights(weights),c=config,t=config.text;
129
+ this.weightsBytes=[...weights.shards.files.values()].reduce((bytes,file)=>bytes+file.mmap.size,0);
130
+ this.#residualBasis=qwenResidualBasis(this.graph,config.modelDir);
131
+ this.embed=QuantizedEmbedding.load(w,`${PREFIX}.embed_tokens`,c);
132
+ this.finalNorm=new RMSNorm(w.tensor(`${PREFIX}.norm.weight`),t.rmsNormEps);
133
+ this.lmHead=QuantizedLinear.load(w,"language_model.lm_head",c);
134
+ this.#head=new Plain(this.lmHead);
135
+ const invScale=Math.pow(t.linearKeyHeadDim,-0.5),qk={q:ops.filledBf16(invScale*invScale,t.linearKeyHeadDim),k:ops.filledBf16(invScale,t.linearKeyHeadDim)};
136
+ const rotaryDims=Math.trunc(t.headDim*t.partialRotaryFactor);
137
+ this.#mrope={invFreq:mropeInvFreq(rotaryDims,t.ropeParameters.full_attention!.ropeTheta),rotaryDims};
138
+ const shares=new AneWeightShares();
139
+ this.#owned=[qk.q,qk.k,this.#mrope.invFreq,{dispose:()=>shares[Symbol.dispose]()}];
140
+ const state=this.loraState;
141
+ const d0=new DeltaWeights(w,c,`${PREFIX}.layers.0`,REPRESENTATIONS,state);
142
+ const d1=new DeltaWeights(w,c,`${PREFIX}.layers.1`,REPRESENTATIONS,state);
143
+ const d2=new DeltaWeights(w,c,`${PREFIX}.layers.2`,REPRESENTATIONS,state);
144
+ const a3=new AttentionWeights(w,c,`${PREFIX}.layers.3`,REPRESENTATIONS,state);
145
+ const d4=new DeltaWeights(w,c,`${PREFIX}.layers.4`,REPRESENTATIONS,state);
146
+ const d5=new DeltaWeights(w,c,`${PREFIX}.layers.5`,REPRESENTATIONS,state);
147
+ const d6=new DeltaWeights(w,c,`${PREFIX}.layers.6`,REPRESENTATIONS,state);
148
+ const a7=new AttentionWeights(w,c,`${PREFIX}.layers.7`,REPRESENTATIONS,state);
149
+ const d8=new DeltaWeights(w,c,`${PREFIX}.layers.8`,REPRESENTATIONS,state);
150
+ const d9=new DeltaWeights(w,c,`${PREFIX}.layers.9`,REPRESENTATIONS,state);
151
+ const d10=new DeltaWeights(w,c,`${PREFIX}.layers.10`,REPRESENTATIONS,state);
152
+ const a11=new AttentionWeights(w,c,`${PREFIX}.layers.11`,REPRESENTATIONS,state);
153
+ const d12=new DeltaWeights(w,c,`${PREFIX}.layers.12`,REPRESENTATIONS,state);
154
+ const d13=new DeltaWeights(w,c,`${PREFIX}.layers.13`,REPRESENTATIONS,state);
155
+ const d14=new DeltaWeights(w,c,`${PREFIX}.layers.14`,REPRESENTATIONS,state);
156
+ const a15=new AttentionWeights(w,c,`${PREFIX}.layers.15`,REPRESENTATIONS,state);
157
+ const d16=new DeltaWeights(w,c,`${PREFIX}.layers.16`,REPRESENTATIONS,state);
158
+ const d17=new DeltaWeights(w,c,`${PREFIX}.layers.17`,REPRESENTATIONS,state);
159
+ const d18=new DeltaWeights(w,c,`${PREFIX}.layers.18`,REPRESENTATIONS,state);
160
+ const a19=new AttentionWeights(w,c,`${PREFIX}.layers.19`,REPRESENTATIONS,state);
161
+ const d20=new DeltaWeights(w,c,`${PREFIX}.layers.20`,REPRESENTATIONS,state);
162
+ const d21=new DeltaWeights(w,c,`${PREFIX}.layers.21`,REPRESENTATIONS,state);
163
+ const d22=new DeltaWeights(w,c,`${PREFIX}.layers.22`,REPRESENTATIONS,state);
164
+ const a23=new AttentionWeights(w,c,`${PREFIX}.layers.23`,REPRESENTATIONS,state);
165
+ const d24=new DeltaWeights(w,c,`${PREFIX}.layers.24`,REPRESENTATIONS,state);
166
+ const d25=new DeltaWeights(w,c,`${PREFIX}.layers.25`,REPRESENTATIONS,state);
167
+ const d26=new DeltaWeights(w,c,`${PREFIX}.layers.26`,REPRESENTATIONS,state);
168
+ const a27=new AttentionWeights(w,c,`${PREFIX}.layers.27`,REPRESENTATIONS,state);
169
+ const d28=new DeltaWeights(w,c,`${PREFIX}.layers.28`,REPRESENTATIONS,state);
170
+ const d29=new DeltaWeights(w,c,`${PREFIX}.layers.29`,REPRESENTATIONS,state);
171
+ const d30=new DeltaWeights(w,c,`${PREFIX}.layers.30`,REPRESENTATIONS,state);
172
+ const a31=new AttentionWeights(w,c,`${PREFIX}.layers.31`,REPRESENTATIONS,state);
173
+ const d32=new DeltaWeights(w,c,`${PREFIX}.layers.32`,REPRESENTATIONS,state);
174
+ const d33=new DeltaWeights(w,c,`${PREFIX}.layers.33`,REPRESENTATIONS,state);
175
+ const d34=new DeltaWeights(w,c,`${PREFIX}.layers.34`,REPRESENTATIONS,state);
176
+ const a35=new AttentionWeights(w,c,`${PREFIX}.layers.35`,REPRESENTATIONS,state);
177
+ const d36=new DeltaWeights(w,c,`${PREFIX}.layers.36`,REPRESENTATIONS,state);
178
+ const d37=new DeltaWeights(w,c,`${PREFIX}.layers.37`,REPRESENTATIONS,state);
179
+ const d38=new DeltaWeights(w,c,`${PREFIX}.layers.38`,REPRESENTATIONS,state);
180
+ const a39=new AttentionWeights(w,c,`${PREFIX}.layers.39`,REPRESENTATIONS,state);
181
+ const d40=new DeltaWeights(w,c,`${PREFIX}.layers.40`,REPRESENTATIONS,state);
182
+ const d41=new DeltaWeights(w,c,`${PREFIX}.layers.41`,REPRESENTATIONS,state);
183
+ const d42=new DeltaWeights(w,c,`${PREFIX}.layers.42`,REPRESENTATIONS,state);
184
+ const a43=new AttentionWeights(w,c,`${PREFIX}.layers.43`,REPRESENTATIONS,state);
185
+ const d44=new DeltaWeights(w,c,`${PREFIX}.layers.44`,REPRESENTATIONS,state);
186
+ const d45=new DeltaWeights(w,c,`${PREFIX}.layers.45`,REPRESENTATIONS,state);
187
+ const d46=new DeltaWeights(w,c,`${PREFIX}.layers.46`,REPRESENTATIONS,state);
188
+ const a47=new AttentionWeights(w,c,`${PREFIX}.layers.47`,REPRESENTATIONS,state);
189
+ const d48=new DeltaWeights(w,c,`${PREFIX}.layers.48`,REPRESENTATIONS,state);
190
+ const d49=new DeltaWeights(w,c,`${PREFIX}.layers.49`,REPRESENTATIONS,state);
191
+ const d50=new DeltaWeights(w,c,`${PREFIX}.layers.50`,REPRESENTATIONS,state);
192
+ const a51=new AttentionWeights(w,c,`${PREFIX}.layers.51`,REPRESENTATIONS,state);
193
+ const d52=new DeltaWeights(w,c,`${PREFIX}.layers.52`,REPRESENTATIONS,state);
194
+ const d53=new DeltaWeights(w,c,`${PREFIX}.layers.53`,REPRESENTATIONS,state);
195
+ const d54=new DeltaWeights(w,c,`${PREFIX}.layers.54`,REPRESENTATIONS,state);
196
+ const a55=new AttentionWeights(w,c,`${PREFIX}.layers.55`,REPRESENTATIONS,state);
197
+ const d56=new DeltaWeights(w,c,`${PREFIX}.layers.56`,REPRESENTATIONS,state);
198
+ const d57=new DeltaWeights(w,c,`${PREFIX}.layers.57`,REPRESENTATIONS,state);
199
+ const d58=new DeltaWeights(w,c,`${PREFIX}.layers.58`,REPRESENTATIONS,state);
200
+ const a59=new AttentionWeights(w,c,`${PREFIX}.layers.59`,REPRESENTATIONS,state);
201
+ const d60=new DeltaWeights(w,c,`${PREFIX}.layers.60`,REPRESENTATIONS,state);
202
+ const d61=new DeltaWeights(w,c,`${PREFIX}.layers.61`,REPRESENTATIONS,state);
203
+ const d62=new DeltaWeights(w,c,`${PREFIX}.layers.62`,REPRESENTATIONS,state);
204
+ const a63=new AttentionWeights(w,c,`${PREFIX}.layers.63`,REPRESENTATIONS,state);
205
+ this.#owned.push(
206
+ d0.trellis,d1.trellis,d2.trellis,a3.trellis,d4.trellis,d5.trellis,d6.trellis,a7.trellis,
207
+ d8.trellis,d9.trellis,d10.trellis,a11.trellis,d12.trellis,d13.trellis,d14.trellis,a15.trellis,
208
+ d16.trellis,d17.trellis,d18.trellis,a19.trellis,d20.trellis,d21.trellis,d22.trellis,a23.trellis,
209
+ d24.trellis,d25.trellis,d26.trellis,a27.trellis,d28.trellis,d29.trellis,d30.trellis,a31.trellis,
210
+ d32.trellis,d33.trellis,d34.trellis,a35.trellis,d36.trellis,d37.trellis,d38.trellis,a39.trellis,
211
+ d40.trellis,d41.trellis,d42.trellis,a43.trellis,d44.trellis,d45.trellis,d46.trellis,a47.trellis,
212
+ d48.trellis,d49.trellis,d50.trellis,a51.trellis,d52.trellis,d53.trellis,d54.trellis,a55.trellis,
213
+ d56.trellis,d57.trellis,d58.trellis,a59.trellis,d60.trellis,d61.trellis,d62.trellis,a63.trellis,
214
+ );
215
+ // One row: factored gate/up, with the literal mixed-width and down layout.
216
+ this.#one=[
217
+ d0.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
218
+ d1.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
219
+ d2.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
220
+ a3.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
221
+ d4.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
222
+ d5.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
223
+ d6.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
224
+ a7.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
225
+ d8.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
226
+ d9.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
227
+ d10.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
228
+ a11.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain),
229
+ d12.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
230
+ d13.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
231
+ d14.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
232
+ a15.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,DownRow,Plain,Plain,Plain,Plain),
233
+ d16.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
234
+ d17.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
235
+ d18.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
236
+ a19.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
237
+ d20.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
238
+ d21.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
239
+ d22.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
240
+ a23.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
241
+ d24.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
242
+ d25.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
243
+ d26.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
244
+ a27.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
245
+ d28.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
246
+ d29.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
247
+ d30.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
248
+ a31.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain),
249
+ d32.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
250
+ d33.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
251
+ d34.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
252
+ a35.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
253
+ d36.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
254
+ d37.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
255
+ d38.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
256
+ a39.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
257
+ d40.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
258
+ d41.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
259
+ d42.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
260
+ a43.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
261
+ d44.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
262
+ d45.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
263
+ d46.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
264
+ a47.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain),
265
+ d48.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
266
+ d49.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
267
+ d50.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
268
+ a51.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
269
+ d52.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
270
+ d53.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
271
+ d54.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
272
+ a55.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain),
273
+ d56.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
274
+ d57.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
275
+ d58.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
276
+ a59.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain),
277
+ d60.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
278
+ d61.stage(w,c,Delta,GateDownMLP,GateRow,Reduce,DownRow,Plain,Plain,Plain,Plain,Plain,qk),
279
+ d62.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRow,Plain,Plain,Plain,Plain,Plain,qk),
280
+ a63.stage(w,c,Attention,GateDownMLP,GateRow,Reduce,DownK3iRow,Plain,Plain,Plain,Plain),
281
+ ];
282
+ // Two and three rows share factored gate/up and down, with affine row reads.
283
+ this.#rows=[
284
+ d0.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
285
+ d1.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
286
+ d2.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
287
+ a3.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
288
+ d4.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
289
+ d5.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
290
+ d6.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
291
+ a7.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
292
+ d8.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
293
+ d9.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
294
+ d10.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
295
+ a11.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
296
+ d12.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
297
+ d13.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
298
+ d14.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
299
+ a15.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
300
+ d16.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
301
+ d17.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
302
+ d18.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
303
+ a19.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
304
+ d20.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
305
+ d21.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
306
+ d22.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
307
+ a23.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
308
+ d24.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
309
+ d25.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
310
+ d26.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
311
+ a27.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
312
+ d28.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
313
+ d29.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
314
+ d30.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
315
+ a31.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
316
+ d32.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
317
+ d33.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
318
+ d34.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
319
+ a35.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
320
+ d36.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
321
+ d37.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
322
+ d38.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
323
+ a39.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
324
+ d40.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
325
+ d41.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
326
+ d42.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
327
+ a43.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
328
+ d44.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
329
+ d45.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
330
+ d46.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
331
+ a47.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
332
+ d48.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
333
+ d49.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
334
+ d50.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
335
+ a51.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
336
+ d52.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
337
+ d53.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRows,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
338
+ d54.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
339
+ a55.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
340
+ d56.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
341
+ d57.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
342
+ d58.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
343
+ a59.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
344
+ d60.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
345
+ d61.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,DownRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
346
+ d62.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
347
+ a63.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,DownK3iRows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
348
+ ];
349
+ // Four rows: the row projections and gate/up, and the matrix down kernel.
350
+ this.#four=[
351
+ d0.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
352
+ d1.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
353
+ d2.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
354
+ a3.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
355
+ d4.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
356
+ d5.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
357
+ d6.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
358
+ a7.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
359
+ d8.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
360
+ d9.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
361
+ d10.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
362
+ a11.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
363
+ d12.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
364
+ d13.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
365
+ d14.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
366
+ a15.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
367
+ d16.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
368
+ d17.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
369
+ d18.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
370
+ a19.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
371
+ d20.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
372
+ d21.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
373
+ d22.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
374
+ a23.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
375
+ d24.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
376
+ d25.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
377
+ d26.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
378
+ a27.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
379
+ d28.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
380
+ d29.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
381
+ d30.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
382
+ a31.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
383
+ d32.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
384
+ d33.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
385
+ d34.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
386
+ a35.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
387
+ d36.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
388
+ d37.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
389
+ d38.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
390
+ a39.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
391
+ d40.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
392
+ d41.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
393
+ d42.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
394
+ a43.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
395
+ d44.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
396
+ d45.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
397
+ d46.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
398
+ a47.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
399
+ d48.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
400
+ d49.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
401
+ d50.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
402
+ a51.stage(w,c,Attention,GateDownMLP,MixedGate,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
403
+ d52.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine3Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
404
+ d53.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,MmaDownK3i,Affine3Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
405
+ d54.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
406
+ a55.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
407
+ d56.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
408
+ d57.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
409
+ d58.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine3Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
410
+ a59.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
411
+ d60.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
412
+ d61.stage(w,c,Delta,GateDownMLP,GateRows,Reduce,MmaDown,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,qk),
413
+ d62.stage(w,c,Delta,GateDownMLP,MixedGate,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows,Affine3Rows,qk),
414
+ a63.stage(w,c,Attention,GateDownMLP,GateRows,Reduce,MmaDownK3i,Affine4Rows,Affine4Rows,Affine4Rows,Affine4Rows),
415
+ ];
416
+ // Five through eight rows: matrix affine projections and Trellis gate/up/down.
417
+ this.#mma=[
418
+ d0.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
419
+ d1.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
420
+ d2.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
421
+ a3.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
422
+ d4.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
423
+ d5.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
424
+ d6.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
425
+ a7.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
426
+ d8.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
427
+ d9.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
428
+ d10.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
429
+ a11.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
430
+ d12.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
431
+ d13.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
432
+ d14.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
433
+ a15.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
434
+ d16.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
435
+ d17.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
436
+ d18.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
437
+ a19.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
438
+ d20.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
439
+ d21.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
440
+ d22.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
441
+ a23.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
442
+ d24.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
443
+ d25.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
444
+ d26.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
445
+ a27.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
446
+ d28.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
447
+ d29.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
448
+ d30.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
449
+ a31.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
450
+ d32.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
451
+ d33.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
452
+ d34.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
453
+ a35.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
454
+ d36.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
455
+ d37.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
456
+ d38.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
457
+ a39.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
458
+ d40.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
459
+ d41.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
460
+ d42.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
461
+ a43.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
462
+ d44.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
463
+ d45.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
464
+ d46.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
465
+ a47.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
466
+ d48.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
467
+ d49.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
468
+ d50.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
469
+ a51.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
470
+ d52.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
471
+ d53.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine3Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
472
+ d54.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
473
+ a55.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
474
+ d56.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
475
+ d57.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
476
+ d58.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine3Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
477
+ a59.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
478
+ d60.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
479
+ d61.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDown,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,qk),
480
+ d62.stage(w,c,Delta,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma,Affine3Mma,qk),
481
+ a63.stage(w,c,Attention,GateDownMLP,MmaGate,Tiled,MmaDownK3i,Affine4Mma,Affine4Mma,Affine4Mma,Affine4Mma),
482
+ ];
483
+ // Native GemvWide gate/up, followed by the evaluated expanded down.
484
+ this.#wide=[
485
+ d0.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d1.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d2.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a3.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
486
+ d4.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d5.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d6.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a7.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
487
+ d8.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d9.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d10.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a11.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
488
+ d12.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d13.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d14.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a15.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
489
+ d16.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d17.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d18.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a19.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
490
+ d20.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d21.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d22.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a23.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
491
+ d24.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d25.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d26.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a27.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
492
+ d28.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d29.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d30.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a31.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
493
+ d32.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d33.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d34.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a35.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
494
+ d36.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d37.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d38.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a39.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
495
+ d40.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d41.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d42.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a43.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
496
+ d44.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d45.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d46.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a47.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
497
+ d48.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d49.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d50.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a51.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
498
+ d52.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d53.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d54.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a55.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
499
+ d56.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d57.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d58.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a59.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
500
+ d60.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d61.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),d62.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,ExpandDown,Plain,qk),a63.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,ExpandDown,Plain),
501
+ ];
502
+ this.#tiled=[
503
+ d0.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d1.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d2.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a3.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
504
+ d4.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d5.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d6.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a7.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
505
+ d8.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d9.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d10.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a11.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
506
+ d12.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d13.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d14.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a15.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
507
+ d16.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d17.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d18.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a19.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
508
+ d20.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d21.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d22.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a23.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
509
+ d24.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d25.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d26.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a27.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
510
+ d28.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d29.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d30.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a31.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
511
+ d32.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d33.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d34.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a35.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
512
+ d36.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d37.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d38.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a39.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
513
+ d40.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d41.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d42.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a43.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
514
+ d44.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d45.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d46.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a47.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
515
+ d48.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d49.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d50.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a51.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
516
+ d52.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d53.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d54.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a55.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
517
+ d56.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d57.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d58.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a59.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
518
+ d60.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d61.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),d62.prompt(w,c,Delta,TrellisUnfusedMLP,Tiled,ExpandDown,Plain,qk),a63.prompt(w,c,Attention,TrellisUnfusedMLP,Tiled,ExpandDown,Plain),
519
+ ];
520
+ this.#expanded=[
521
+ d0.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d1.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d2.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a3.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
522
+ d4.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d5.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d6.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a7.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
523
+ d8.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d9.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d10.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a11.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
524
+ d12.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d13.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d14.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a15.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
525
+ d16.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d17.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d18.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a19.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
526
+ d20.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d21.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d22.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a23.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
527
+ d24.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d25.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d26.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a27.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
528
+ d28.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d29.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d30.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a31.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
529
+ d32.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d33.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d34.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a35.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
530
+ d36.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d37.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d38.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a39.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
531
+ d40.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d41.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d42.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a43.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
532
+ d44.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d45.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d46.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a47.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
533
+ d48.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d49.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d50.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a51.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
534
+ d52.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d53.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d54.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a55.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
535
+ d56.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d57.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d58.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a59.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
536
+ d60.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d61.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),d62.prompt(w,c,Delta,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain,qk),a63.prompt(w,c,Attention,TrellisUnfusedMLP,ExpandGate,ExpandDown,Plain),
537
+ ];
538
+ // Largest programs first: later ranges reuse their buffers. Each layer's
539
+ // MLP and each eligible affine projection names its ANE split explicitly.
540
+ this.#ane2048=[
541
+ d0.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d1.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d2.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a3.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
542
+ d4.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d5.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d6.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a7.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
543
+ d8.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d9.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d10.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a11.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
544
+ d12.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d13.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d14.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a15.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
545
+ d16.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d17.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d18.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a19.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
546
+ d20.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d21.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d22.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a23.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
547
+ d24.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d25.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d26.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a27.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
548
+ d28.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d29.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d30.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a31.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
549
+ d32.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d33.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d34.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a35.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
550
+ d36.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d37.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d38.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a39.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
551
+ d40.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d41.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d42.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a43.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
552
+ d44.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d45.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d46.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a47.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
553
+ d48.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d49.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d50.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a51.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
554
+ d52.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d53.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d54.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a55.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
555
+ d56.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d57.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d58.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a59.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
556
+ d60.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d61.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),d62.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares,qk),a63.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,2048,shares),
557
+ ];
558
+ this.#ane1536=[
559
+ d0.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d1.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d2.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a3.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
560
+ d4.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d5.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d6.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a7.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
561
+ d8.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d9.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d10.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a11.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
562
+ d12.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d13.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d14.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a15.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
563
+ d16.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d17.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d18.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a19.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
564
+ d20.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d21.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d22.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a23.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
565
+ d24.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d25.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d26.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a27.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
566
+ d28.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d29.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d30.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a31.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
567
+ d32.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d33.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d34.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a35.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
568
+ d36.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d37.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d38.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a39.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
569
+ d40.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d41.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d42.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a43.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
570
+ d44.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d45.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d46.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a47.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
571
+ d48.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d49.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d50.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a51.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
572
+ d52.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d53.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d54.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a55.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
573
+ d56.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d57.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d58.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a59.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
574
+ d60.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d61.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),d62.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares,qk),a63.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1536,shares),
575
+ ];
576
+ this.#ane1024=[
577
+ d0.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d1.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d2.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a3.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
578
+ d4.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d5.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d6.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a7.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
579
+ d8.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d9.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d10.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a11.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
580
+ d12.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d13.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d14.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a15.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
581
+ d16.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d17.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d18.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a19.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
582
+ d20.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d21.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d22.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a23.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
583
+ d24.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d25.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d26.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a27.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
584
+ d28.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d29.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d30.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a31.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
585
+ d32.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d33.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d34.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a35.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
586
+ d36.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d37.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d38.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a39.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
587
+ d40.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d41.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d42.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a43.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
588
+ d44.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d45.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d46.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a47.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
589
+ d48.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d49.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d50.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a51.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
590
+ d52.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d53.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d54.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a55.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
591
+ d56.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d57.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d58.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a59.aneStage(w,c,Attention,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
592
+ d60.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d61.aneStage(w,c,Delta,AneBoundMlp,AneMlp,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),d62.aneStage(w,c,Delta,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares,qk),a63.aneStage(w,c,Attention,AneBoundMlp,AneMlpK3i,AneAffineSplit,Plain,ANE_FRACTION,1024,shares),
593
+ ];
594
+ // GPU chunks, media and known appends retain the stock Trellis arithmetic.
595
+ this.#stockNarrow=[
596
+ d0.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d1.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d2.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a3.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
597
+ d4.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d5.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d6.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a7.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
598
+ d8.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d9.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d10.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a11.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
599
+ d12.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d13.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d14.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a15.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
600
+ d16.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d17.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d18.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a19.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
601
+ d20.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d21.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d22.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a23.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
602
+ d24.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d25.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d26.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a27.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
603
+ d28.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d29.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d30.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a31.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
604
+ d32.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d33.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d34.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a35.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
605
+ d36.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d37.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d38.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a39.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
606
+ d40.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d41.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d42.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a43.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
607
+ d44.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d45.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d46.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a47.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
608
+ d48.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d49.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d50.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a51.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
609
+ d52.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d53.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d54.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a55.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
610
+ d56.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d57.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d58.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),a59.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
611
+ d60.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d61.fused(w,c,Delta,TrellisFusedMLP,Scatter,Plain,qk),d62.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a63.fused(w,c,Attention,TrellisFusedMLP,Scatter,Plain),
612
+ ];
613
+ this.#stockFiveToEight=[
614
+ d0.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d1.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d2.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a3.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
615
+ d4.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d5.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d6.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a7.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
616
+ d8.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d9.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d10.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a11.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
617
+ d12.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d13.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d14.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a15.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
618
+ d16.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d17.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d18.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a19.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
619
+ d20.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d21.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d22.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a23.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
620
+ d24.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d25.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d26.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a27.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
621
+ d28.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d29.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d30.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a31.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
622
+ d32.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d33.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d34.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a35.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
623
+ d36.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d37.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d38.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a39.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
624
+ d40.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d41.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d42.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a43.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
625
+ d44.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d45.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d46.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a47.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
626
+ d48.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d49.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d50.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a51.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
627
+ d52.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d53.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d54.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a55.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
628
+ d56.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d57.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d58.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a59.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
629
+ d60.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d61.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),d62.prompt(w,c,Delta,TrellisUnfusedMLP,Wide,SplitK,Plain,qk),a63.prompt(w,c,Attention,TrellisUnfusedMLP,Wide,SplitK,Plain),
630
+ ];
631
+ this.#knownNarrow=[
632
+ d0.withMlp(w,c,Delta,this.#stockNarrow[0].mlp,SeparateRows,qk),d1.withMlp(w,c,Delta,this.#stockNarrow[1].mlp,SeparateRows,qk),d2.withMlp(w,c,Delta,this.#stockNarrow[2].mlp,SeparateRows,qk),a3.withMlp(w,c,Attention,this.#stockNarrow[3].mlp,SeparateRows),
633
+ d4.withMlp(w,c,Delta,this.#stockNarrow[4].mlp,SeparateRows,qk),d5.withMlp(w,c,Delta,this.#stockNarrow[5].mlp,SeparateRows,qk),d6.withMlp(w,c,Delta,this.#stockNarrow[6].mlp,SeparateRows,qk),a7.withMlp(w,c,Attention,this.#stockNarrow[7].mlp,SeparateRows),
634
+ d8.withMlp(w,c,Delta,this.#stockNarrow[8].mlp,SeparateRows,qk),d9.withMlp(w,c,Delta,this.#stockNarrow[9].mlp,SeparateRows,qk),d10.withMlp(w,c,Delta,this.#stockNarrow[10].mlp,SeparateRows,qk),a11.withMlp(w,c,Attention,this.#stockNarrow[11].mlp,SeparateRows),
635
+ d12.withMlp(w,c,Delta,this.#stockNarrow[12].mlp,SeparateRows,qk),d13.withMlp(w,c,Delta,this.#stockNarrow[13].mlp,SeparateRows,qk),d14.withMlp(w,c,Delta,this.#stockNarrow[14].mlp,SeparateRows,qk),a15.withMlp(w,c,Attention,this.#stockNarrow[15].mlp,SeparateRows),
636
+ d16.withMlp(w,c,Delta,this.#stockNarrow[16].mlp,SeparateRows,qk),d17.withMlp(w,c,Delta,this.#stockNarrow[17].mlp,SeparateRows,qk),d18.withMlp(w,c,Delta,this.#stockNarrow[18].mlp,SeparateRows,qk),a19.withMlp(w,c,Attention,this.#stockNarrow[19].mlp,SeparateRows),
637
+ d20.withMlp(w,c,Delta,this.#stockNarrow[20].mlp,SeparateRows,qk),d21.withMlp(w,c,Delta,this.#stockNarrow[21].mlp,SeparateRows,qk),d22.withMlp(w,c,Delta,this.#stockNarrow[22].mlp,SeparateRows,qk),a23.withMlp(w,c,Attention,this.#stockNarrow[23].mlp,SeparateRows),
638
+ d24.withMlp(w,c,Delta,this.#stockNarrow[24].mlp,SeparateRows,qk),d25.withMlp(w,c,Delta,this.#stockNarrow[25].mlp,SeparateRows,qk),d26.withMlp(w,c,Delta,this.#stockNarrow[26].mlp,SeparateRows,qk),a27.withMlp(w,c,Attention,this.#stockNarrow[27].mlp,SeparateRows),
639
+ d28.withMlp(w,c,Delta,this.#stockNarrow[28].mlp,SeparateRows,qk),d29.withMlp(w,c,Delta,this.#stockNarrow[29].mlp,SeparateRows,qk),d30.withMlp(w,c,Delta,this.#stockNarrow[30].mlp,SeparateRows,qk),a31.withMlp(w,c,Attention,this.#stockNarrow[31].mlp,SeparateRows),
640
+ d32.withMlp(w,c,Delta,this.#stockNarrow[32].mlp,SeparateRows,qk),d33.withMlp(w,c,Delta,this.#stockNarrow[33].mlp,SeparateRows,qk),d34.withMlp(w,c,Delta,this.#stockNarrow[34].mlp,SeparateRows,qk),a35.withMlp(w,c,Attention,this.#stockNarrow[35].mlp,SeparateRows),
641
+ d36.withMlp(w,c,Delta,this.#stockNarrow[36].mlp,SeparateRows,qk),d37.withMlp(w,c,Delta,this.#stockNarrow[37].mlp,SeparateRows,qk),d38.withMlp(w,c,Delta,this.#stockNarrow[38].mlp,SeparateRows,qk),a39.withMlp(w,c,Attention,this.#stockNarrow[39].mlp,SeparateRows),
642
+ d40.withMlp(w,c,Delta,this.#stockNarrow[40].mlp,SeparateRows,qk),d41.withMlp(w,c,Delta,this.#stockNarrow[41].mlp,SeparateRows,qk),d42.withMlp(w,c,Delta,this.#stockNarrow[42].mlp,SeparateRows,qk),a43.withMlp(w,c,Attention,this.#stockNarrow[43].mlp,SeparateRows),
643
+ d44.withMlp(w,c,Delta,this.#stockNarrow[44].mlp,SeparateRows,qk),d45.withMlp(w,c,Delta,this.#stockNarrow[45].mlp,SeparateRows,qk),d46.withMlp(w,c,Delta,this.#stockNarrow[46].mlp,SeparateRows,qk),a47.withMlp(w,c,Attention,this.#stockNarrow[47].mlp,SeparateRows),
644
+ d48.withMlp(w,c,Delta,this.#stockNarrow[48].mlp,SeparateRows,qk),d49.withMlp(w,c,Delta,this.#stockNarrow[49].mlp,SeparateRows,qk),d50.withMlp(w,c,Delta,this.#stockNarrow[50].mlp,SeparateRows,qk),a51.withMlp(w,c,Attention,this.#stockNarrow[51].mlp,SeparateRows),
645
+ d52.withMlp(w,c,Delta,this.#stockNarrow[52].mlp,SeparateRows,qk),d53.withMlp(w,c,Delta,this.#stockNarrow[53].mlp,SeparateRows,qk),d54.withMlp(w,c,Delta,this.#stockNarrow[54].mlp,SeparateRows,qk),a55.withMlp(w,c,Attention,this.#stockNarrow[55].mlp,SeparateRows),
646
+ d56.withMlp(w,c,Delta,this.#stockNarrow[56].mlp,SeparateRows,qk),d57.withMlp(w,c,Delta,this.#stockNarrow[57].mlp,SeparateRows,qk),d58.withMlp(w,c,Delta,this.#stockNarrow[58].mlp,SeparateRows,qk),a59.withMlp(w,c,Attention,this.#stockNarrow[59].mlp,SeparateRows),
647
+ d60.withMlp(w,c,Delta,this.#stockNarrow[60].mlp,SeparateRows,qk),d61.withMlp(w,c,Delta,this.#stockNarrow[61].mlp,SeparateRows,qk),d62.withMlp(w,c,Delta,this.#stockNarrow[62].mlp,SeparateRows,qk),a63.withMlp(w,c,Attention,this.#stockNarrow[63].mlp,SeparateRows),
648
+ ];
649
+ this.#knownFiveToEight=[
650
+ d0.withMlp(w,c,Delta,this.#stockFiveToEight[0].mlp,SeparateRows,qk),d1.withMlp(w,c,Delta,this.#stockFiveToEight[1].mlp,SeparateRows,qk),d2.withMlp(w,c,Delta,this.#stockFiveToEight[2].mlp,SeparateRows,qk),a3.withMlp(w,c,Attention,this.#stockFiveToEight[3].mlp,SeparateRows),
651
+ d4.withMlp(w,c,Delta,this.#stockFiveToEight[4].mlp,SeparateRows,qk),d5.withMlp(w,c,Delta,this.#stockFiveToEight[5].mlp,SeparateRows,qk),d6.withMlp(w,c,Delta,this.#stockFiveToEight[6].mlp,SeparateRows,qk),a7.withMlp(w,c,Attention,this.#stockFiveToEight[7].mlp,SeparateRows),
652
+ d8.withMlp(w,c,Delta,this.#stockFiveToEight[8].mlp,SeparateRows,qk),d9.withMlp(w,c,Delta,this.#stockFiveToEight[9].mlp,SeparateRows,qk),d10.withMlp(w,c,Delta,this.#stockFiveToEight[10].mlp,SeparateRows,qk),a11.withMlp(w,c,Attention,this.#stockFiveToEight[11].mlp,SeparateRows),
653
+ d12.withMlp(w,c,Delta,this.#stockFiveToEight[12].mlp,SeparateRows,qk),d13.withMlp(w,c,Delta,this.#stockFiveToEight[13].mlp,SeparateRows,qk),d14.withMlp(w,c,Delta,this.#stockFiveToEight[14].mlp,SeparateRows,qk),a15.withMlp(w,c,Attention,this.#stockFiveToEight[15].mlp,SeparateRows),
654
+ d16.withMlp(w,c,Delta,this.#stockFiveToEight[16].mlp,SeparateRows,qk),d17.withMlp(w,c,Delta,this.#stockFiveToEight[17].mlp,SeparateRows,qk),d18.withMlp(w,c,Delta,this.#stockFiveToEight[18].mlp,SeparateRows,qk),a19.withMlp(w,c,Attention,this.#stockFiveToEight[19].mlp,SeparateRows),
655
+ d20.withMlp(w,c,Delta,this.#stockFiveToEight[20].mlp,SeparateRows,qk),d21.withMlp(w,c,Delta,this.#stockFiveToEight[21].mlp,SeparateRows,qk),d22.withMlp(w,c,Delta,this.#stockFiveToEight[22].mlp,SeparateRows,qk),a23.withMlp(w,c,Attention,this.#stockFiveToEight[23].mlp,SeparateRows),
656
+ d24.withMlp(w,c,Delta,this.#stockFiveToEight[24].mlp,SeparateRows,qk),d25.withMlp(w,c,Delta,this.#stockFiveToEight[25].mlp,SeparateRows,qk),d26.withMlp(w,c,Delta,this.#stockFiveToEight[26].mlp,SeparateRows,qk),a27.withMlp(w,c,Attention,this.#stockFiveToEight[27].mlp,SeparateRows),
657
+ d28.withMlp(w,c,Delta,this.#stockFiveToEight[28].mlp,SeparateRows,qk),d29.withMlp(w,c,Delta,this.#stockFiveToEight[29].mlp,SeparateRows,qk),d30.withMlp(w,c,Delta,this.#stockFiveToEight[30].mlp,SeparateRows,qk),a31.withMlp(w,c,Attention,this.#stockFiveToEight[31].mlp,SeparateRows),
658
+ d32.withMlp(w,c,Delta,this.#stockFiveToEight[32].mlp,SeparateRows,qk),d33.withMlp(w,c,Delta,this.#stockFiveToEight[33].mlp,SeparateRows,qk),d34.withMlp(w,c,Delta,this.#stockFiveToEight[34].mlp,SeparateRows,qk),a35.withMlp(w,c,Attention,this.#stockFiveToEight[35].mlp,SeparateRows),
659
+ d36.withMlp(w,c,Delta,this.#stockFiveToEight[36].mlp,SeparateRows,qk),d37.withMlp(w,c,Delta,this.#stockFiveToEight[37].mlp,SeparateRows,qk),d38.withMlp(w,c,Delta,this.#stockFiveToEight[38].mlp,SeparateRows,qk),a39.withMlp(w,c,Attention,this.#stockFiveToEight[39].mlp,SeparateRows),
660
+ d40.withMlp(w,c,Delta,this.#stockFiveToEight[40].mlp,SeparateRows,qk),d41.withMlp(w,c,Delta,this.#stockFiveToEight[41].mlp,SeparateRows,qk),d42.withMlp(w,c,Delta,this.#stockFiveToEight[42].mlp,SeparateRows,qk),a43.withMlp(w,c,Attention,this.#stockFiveToEight[43].mlp,SeparateRows),
661
+ d44.withMlp(w,c,Delta,this.#stockFiveToEight[44].mlp,SeparateRows,qk),d45.withMlp(w,c,Delta,this.#stockFiveToEight[45].mlp,SeparateRows,qk),d46.withMlp(w,c,Delta,this.#stockFiveToEight[46].mlp,SeparateRows,qk),a47.withMlp(w,c,Attention,this.#stockFiveToEight[47].mlp,SeparateRows),
662
+ d48.withMlp(w,c,Delta,this.#stockFiveToEight[48].mlp,SeparateRows,qk),d49.withMlp(w,c,Delta,this.#stockFiveToEight[49].mlp,SeparateRows,qk),d50.withMlp(w,c,Delta,this.#stockFiveToEight[50].mlp,SeparateRows,qk),a51.withMlp(w,c,Attention,this.#stockFiveToEight[51].mlp,SeparateRows),
663
+ d52.withMlp(w,c,Delta,this.#stockFiveToEight[52].mlp,SeparateRows,qk),d53.withMlp(w,c,Delta,this.#stockFiveToEight[53].mlp,SeparateRows,qk),d54.withMlp(w,c,Delta,this.#stockFiveToEight[54].mlp,SeparateRows,qk),a55.withMlp(w,c,Attention,this.#stockFiveToEight[55].mlp,SeparateRows),
664
+ d56.withMlp(w,c,Delta,this.#stockFiveToEight[56].mlp,SeparateRows,qk),d57.withMlp(w,c,Delta,this.#stockFiveToEight[57].mlp,SeparateRows,qk),d58.withMlp(w,c,Delta,this.#stockFiveToEight[58].mlp,SeparateRows,qk),a59.withMlp(w,c,Attention,this.#stockFiveToEight[59].mlp,SeparateRows),
665
+ d60.withMlp(w,c,Delta,this.#stockFiveToEight[60].mlp,SeparateRows,qk),d61.withMlp(w,c,Delta,this.#stockFiveToEight[61].mlp,SeparateRows,qk),d62.withMlp(w,c,Delta,this.#stockFiveToEight[62].mlp,SeparateRows,qk),a63.withMlp(w,c,Attention,this.#stockFiveToEight[63].mlp,SeparateRows),
666
+ ];
667
+ this.#knownWide=[
668
+ new Delta(w,c,d0.prefix,this.#knownNarrow[0].mixer,this.#wide[0].mlp),new Delta(w,c,d1.prefix,this.#knownNarrow[1].mixer,this.#wide[1].mlp),new Delta(w,c,d2.prefix,this.#knownNarrow[2].mixer,this.#wide[2].mlp),new Attention(w,c,a3.prefix,this.#knownNarrow[3].mixer,this.#wide[3].mlp),
669
+ new Delta(w,c,d4.prefix,this.#knownNarrow[4].mixer,this.#wide[4].mlp),new Delta(w,c,d5.prefix,this.#knownNarrow[5].mixer,this.#wide[5].mlp),new Delta(w,c,d6.prefix,this.#knownNarrow[6].mixer,this.#wide[6].mlp),new Attention(w,c,a7.prefix,this.#knownNarrow[7].mixer,this.#wide[7].mlp),
670
+ new Delta(w,c,d8.prefix,this.#knownNarrow[8].mixer,this.#wide[8].mlp),new Delta(w,c,d9.prefix,this.#knownNarrow[9].mixer,this.#wide[9].mlp),new Delta(w,c,d10.prefix,this.#knownNarrow[10].mixer,this.#wide[10].mlp),new Attention(w,c,a11.prefix,this.#knownNarrow[11].mixer,this.#wide[11].mlp),
671
+ new Delta(w,c,d12.prefix,this.#knownNarrow[12].mixer,this.#wide[12].mlp),new Delta(w,c,d13.prefix,this.#knownNarrow[13].mixer,this.#wide[13].mlp),new Delta(w,c,d14.prefix,this.#knownNarrow[14].mixer,this.#wide[14].mlp),new Attention(w,c,a15.prefix,this.#knownNarrow[15].mixer,this.#wide[15].mlp),
672
+ new Delta(w,c,d16.prefix,this.#knownNarrow[16].mixer,this.#wide[16].mlp),new Delta(w,c,d17.prefix,this.#knownNarrow[17].mixer,this.#wide[17].mlp),new Delta(w,c,d18.prefix,this.#knownNarrow[18].mixer,this.#wide[18].mlp),new Attention(w,c,a19.prefix,this.#knownNarrow[19].mixer,this.#wide[19].mlp),
673
+ new Delta(w,c,d20.prefix,this.#knownNarrow[20].mixer,this.#wide[20].mlp),new Delta(w,c,d21.prefix,this.#knownNarrow[21].mixer,this.#wide[21].mlp),new Delta(w,c,d22.prefix,this.#knownNarrow[22].mixer,this.#wide[22].mlp),new Attention(w,c,a23.prefix,this.#knownNarrow[23].mixer,this.#wide[23].mlp),
674
+ new Delta(w,c,d24.prefix,this.#knownNarrow[24].mixer,this.#wide[24].mlp),new Delta(w,c,d25.prefix,this.#knownNarrow[25].mixer,this.#wide[25].mlp),new Delta(w,c,d26.prefix,this.#knownNarrow[26].mixer,this.#wide[26].mlp),new Attention(w,c,a27.prefix,this.#knownNarrow[27].mixer,this.#wide[27].mlp),
675
+ new Delta(w,c,d28.prefix,this.#knownNarrow[28].mixer,this.#wide[28].mlp),new Delta(w,c,d29.prefix,this.#knownNarrow[29].mixer,this.#wide[29].mlp),new Delta(w,c,d30.prefix,this.#knownNarrow[30].mixer,this.#wide[30].mlp),new Attention(w,c,a31.prefix,this.#knownNarrow[31].mixer,this.#wide[31].mlp),
676
+ new Delta(w,c,d32.prefix,this.#knownNarrow[32].mixer,this.#wide[32].mlp),new Delta(w,c,d33.prefix,this.#knownNarrow[33].mixer,this.#wide[33].mlp),new Delta(w,c,d34.prefix,this.#knownNarrow[34].mixer,this.#wide[34].mlp),new Attention(w,c,a35.prefix,this.#knownNarrow[35].mixer,this.#wide[35].mlp),
677
+ new Delta(w,c,d36.prefix,this.#knownNarrow[36].mixer,this.#wide[36].mlp),new Delta(w,c,d37.prefix,this.#knownNarrow[37].mixer,this.#wide[37].mlp),new Delta(w,c,d38.prefix,this.#knownNarrow[38].mixer,this.#wide[38].mlp),new Attention(w,c,a39.prefix,this.#knownNarrow[39].mixer,this.#wide[39].mlp),
678
+ new Delta(w,c,d40.prefix,this.#knownNarrow[40].mixer,this.#wide[40].mlp),new Delta(w,c,d41.prefix,this.#knownNarrow[41].mixer,this.#wide[41].mlp),new Delta(w,c,d42.prefix,this.#knownNarrow[42].mixer,this.#wide[42].mlp),new Attention(w,c,a43.prefix,this.#knownNarrow[43].mixer,this.#wide[43].mlp),
679
+ new Delta(w,c,d44.prefix,this.#knownNarrow[44].mixer,this.#wide[44].mlp),new Delta(w,c,d45.prefix,this.#knownNarrow[45].mixer,this.#wide[45].mlp),new Delta(w,c,d46.prefix,this.#knownNarrow[46].mixer,this.#wide[46].mlp),new Attention(w,c,a47.prefix,this.#knownNarrow[47].mixer,this.#wide[47].mlp),
680
+ new Delta(w,c,d48.prefix,this.#knownNarrow[48].mixer,this.#wide[48].mlp),new Delta(w,c,d49.prefix,this.#knownNarrow[49].mixer,this.#wide[49].mlp),new Delta(w,c,d50.prefix,this.#knownNarrow[50].mixer,this.#wide[50].mlp),new Attention(w,c,a51.prefix,this.#knownNarrow[51].mixer,this.#wide[51].mlp),
681
+ new Delta(w,c,d52.prefix,this.#knownNarrow[52].mixer,this.#wide[52].mlp),new Delta(w,c,d53.prefix,this.#knownNarrow[53].mixer,this.#wide[53].mlp),new Delta(w,c,d54.prefix,this.#knownNarrow[54].mixer,this.#wide[54].mlp),new Attention(w,c,a55.prefix,this.#knownNarrow[55].mixer,this.#wide[55].mlp),
682
+ new Delta(w,c,d56.prefix,this.#knownNarrow[56].mixer,this.#wide[56].mlp),new Delta(w,c,d57.prefix,this.#knownNarrow[57].mixer,this.#wide[57].mlp),new Delta(w,c,d58.prefix,this.#knownNarrow[58].mixer,this.#wide[58].mlp),new Attention(w,c,a59.prefix,this.#knownNarrow[59].mixer,this.#wide[59].mlp),
683
+ new Delta(w,c,d60.prefix,this.#knownNarrow[60].mixer,this.#wide[60].mlp),new Delta(w,c,d61.prefix,this.#knownNarrow[61].mixer,this.#wide[61].mlp),new Delta(w,c,d62.prefix,this.#knownNarrow[62].mixer,this.#wide[62].mlp),new Attention(w,c,a63.prefix,this.#knownNarrow[63].mixer,this.#wide[63].mlp),
684
+ ];
685
+ this.#knownTiled=[
686
+ new Delta(w,c,d0.prefix,this.#knownNarrow[0].mixer,this.#tiled[0].mlp),new Delta(w,c,d1.prefix,this.#knownNarrow[1].mixer,this.#tiled[1].mlp),new Delta(w,c,d2.prefix,this.#knownNarrow[2].mixer,this.#tiled[2].mlp),new Attention(w,c,a3.prefix,this.#knownNarrow[3].mixer,this.#tiled[3].mlp),
687
+ new Delta(w,c,d4.prefix,this.#knownNarrow[4].mixer,this.#tiled[4].mlp),new Delta(w,c,d5.prefix,this.#knownNarrow[5].mixer,this.#tiled[5].mlp),new Delta(w,c,d6.prefix,this.#knownNarrow[6].mixer,this.#tiled[6].mlp),new Attention(w,c,a7.prefix,this.#knownNarrow[7].mixer,this.#tiled[7].mlp),
688
+ new Delta(w,c,d8.prefix,this.#knownNarrow[8].mixer,this.#tiled[8].mlp),new Delta(w,c,d9.prefix,this.#knownNarrow[9].mixer,this.#tiled[9].mlp),new Delta(w,c,d10.prefix,this.#knownNarrow[10].mixer,this.#tiled[10].mlp),new Attention(w,c,a11.prefix,this.#knownNarrow[11].mixer,this.#tiled[11].mlp),
689
+ new Delta(w,c,d12.prefix,this.#knownNarrow[12].mixer,this.#tiled[12].mlp),new Delta(w,c,d13.prefix,this.#knownNarrow[13].mixer,this.#tiled[13].mlp),new Delta(w,c,d14.prefix,this.#knownNarrow[14].mixer,this.#tiled[14].mlp),new Attention(w,c,a15.prefix,this.#knownNarrow[15].mixer,this.#tiled[15].mlp),
690
+ new Delta(w,c,d16.prefix,this.#knownNarrow[16].mixer,this.#tiled[16].mlp),new Delta(w,c,d17.prefix,this.#knownNarrow[17].mixer,this.#tiled[17].mlp),new Delta(w,c,d18.prefix,this.#knownNarrow[18].mixer,this.#tiled[18].mlp),new Attention(w,c,a19.prefix,this.#knownNarrow[19].mixer,this.#tiled[19].mlp),
691
+ new Delta(w,c,d20.prefix,this.#knownNarrow[20].mixer,this.#tiled[20].mlp),new Delta(w,c,d21.prefix,this.#knownNarrow[21].mixer,this.#tiled[21].mlp),new Delta(w,c,d22.prefix,this.#knownNarrow[22].mixer,this.#tiled[22].mlp),new Attention(w,c,a23.prefix,this.#knownNarrow[23].mixer,this.#tiled[23].mlp),
692
+ new Delta(w,c,d24.prefix,this.#knownNarrow[24].mixer,this.#tiled[24].mlp),new Delta(w,c,d25.prefix,this.#knownNarrow[25].mixer,this.#tiled[25].mlp),new Delta(w,c,d26.prefix,this.#knownNarrow[26].mixer,this.#tiled[26].mlp),new Attention(w,c,a27.prefix,this.#knownNarrow[27].mixer,this.#tiled[27].mlp),
693
+ new Delta(w,c,d28.prefix,this.#knownNarrow[28].mixer,this.#tiled[28].mlp),new Delta(w,c,d29.prefix,this.#knownNarrow[29].mixer,this.#tiled[29].mlp),new Delta(w,c,d30.prefix,this.#knownNarrow[30].mixer,this.#tiled[30].mlp),new Attention(w,c,a31.prefix,this.#knownNarrow[31].mixer,this.#tiled[31].mlp),
694
+ new Delta(w,c,d32.prefix,this.#knownNarrow[32].mixer,this.#tiled[32].mlp),new Delta(w,c,d33.prefix,this.#knownNarrow[33].mixer,this.#tiled[33].mlp),new Delta(w,c,d34.prefix,this.#knownNarrow[34].mixer,this.#tiled[34].mlp),new Attention(w,c,a35.prefix,this.#knownNarrow[35].mixer,this.#tiled[35].mlp),
695
+ new Delta(w,c,d36.prefix,this.#knownNarrow[36].mixer,this.#tiled[36].mlp),new Delta(w,c,d37.prefix,this.#knownNarrow[37].mixer,this.#tiled[37].mlp),new Delta(w,c,d38.prefix,this.#knownNarrow[38].mixer,this.#tiled[38].mlp),new Attention(w,c,a39.prefix,this.#knownNarrow[39].mixer,this.#tiled[39].mlp),
696
+ new Delta(w,c,d40.prefix,this.#knownNarrow[40].mixer,this.#tiled[40].mlp),new Delta(w,c,d41.prefix,this.#knownNarrow[41].mixer,this.#tiled[41].mlp),new Delta(w,c,d42.prefix,this.#knownNarrow[42].mixer,this.#tiled[42].mlp),new Attention(w,c,a43.prefix,this.#knownNarrow[43].mixer,this.#tiled[43].mlp),
697
+ new Delta(w,c,d44.prefix,this.#knownNarrow[44].mixer,this.#tiled[44].mlp),new Delta(w,c,d45.prefix,this.#knownNarrow[45].mixer,this.#tiled[45].mlp),new Delta(w,c,d46.prefix,this.#knownNarrow[46].mixer,this.#tiled[46].mlp),new Attention(w,c,a47.prefix,this.#knownNarrow[47].mixer,this.#tiled[47].mlp),
698
+ new Delta(w,c,d48.prefix,this.#knownNarrow[48].mixer,this.#tiled[48].mlp),new Delta(w,c,d49.prefix,this.#knownNarrow[49].mixer,this.#tiled[49].mlp),new Delta(w,c,d50.prefix,this.#knownNarrow[50].mixer,this.#tiled[50].mlp),new Attention(w,c,a51.prefix,this.#knownNarrow[51].mixer,this.#tiled[51].mlp),
699
+ new Delta(w,c,d52.prefix,this.#knownNarrow[52].mixer,this.#tiled[52].mlp),new Delta(w,c,d53.prefix,this.#knownNarrow[53].mixer,this.#tiled[53].mlp),new Delta(w,c,d54.prefix,this.#knownNarrow[54].mixer,this.#tiled[54].mlp),new Attention(w,c,a55.prefix,this.#knownNarrow[55].mixer,this.#tiled[55].mlp),
700
+ new Delta(w,c,d56.prefix,this.#knownNarrow[56].mixer,this.#tiled[56].mlp),new Delta(w,c,d57.prefix,this.#knownNarrow[57].mixer,this.#tiled[57].mlp),new Delta(w,c,d58.prefix,this.#knownNarrow[58].mixer,this.#tiled[58].mlp),new Attention(w,c,a59.prefix,this.#knownNarrow[59].mixer,this.#tiled[59].mlp),
701
+ new Delta(w,c,d60.prefix,this.#knownNarrow[60].mixer,this.#tiled[60].mlp),new Delta(w,c,d61.prefix,this.#knownNarrow[61].mixer,this.#tiled[61].mlp),new Delta(w,c,d62.prefix,this.#knownNarrow[62].mixer,this.#tiled[62].mlp),new Attention(w,c,a63.prefix,this.#knownNarrow[63].mixer,this.#tiled[63].mlp),
702
+ ];
703
+ this.#knownExpanded=[
704
+ new Delta(w,c,d0.prefix,this.#knownNarrow[0].mixer,this.#expanded[0].mlp),new Delta(w,c,d1.prefix,this.#knownNarrow[1].mixer,this.#expanded[1].mlp),new Delta(w,c,d2.prefix,this.#knownNarrow[2].mixer,this.#expanded[2].mlp),new Attention(w,c,a3.prefix,this.#knownNarrow[3].mixer,this.#expanded[3].mlp),
705
+ new Delta(w,c,d4.prefix,this.#knownNarrow[4].mixer,this.#expanded[4].mlp),new Delta(w,c,d5.prefix,this.#knownNarrow[5].mixer,this.#expanded[5].mlp),new Delta(w,c,d6.prefix,this.#knownNarrow[6].mixer,this.#expanded[6].mlp),new Attention(w,c,a7.prefix,this.#knownNarrow[7].mixer,this.#expanded[7].mlp),
706
+ new Delta(w,c,d8.prefix,this.#knownNarrow[8].mixer,this.#expanded[8].mlp),new Delta(w,c,d9.prefix,this.#knownNarrow[9].mixer,this.#expanded[9].mlp),new Delta(w,c,d10.prefix,this.#knownNarrow[10].mixer,this.#expanded[10].mlp),new Attention(w,c,a11.prefix,this.#knownNarrow[11].mixer,this.#expanded[11].mlp),
707
+ new Delta(w,c,d12.prefix,this.#knownNarrow[12].mixer,this.#expanded[12].mlp),new Delta(w,c,d13.prefix,this.#knownNarrow[13].mixer,this.#expanded[13].mlp),new Delta(w,c,d14.prefix,this.#knownNarrow[14].mixer,this.#expanded[14].mlp),new Attention(w,c,a15.prefix,this.#knownNarrow[15].mixer,this.#expanded[15].mlp),
708
+ new Delta(w,c,d16.prefix,this.#knownNarrow[16].mixer,this.#expanded[16].mlp),new Delta(w,c,d17.prefix,this.#knownNarrow[17].mixer,this.#expanded[17].mlp),new Delta(w,c,d18.prefix,this.#knownNarrow[18].mixer,this.#expanded[18].mlp),new Attention(w,c,a19.prefix,this.#knownNarrow[19].mixer,this.#expanded[19].mlp),
709
+ new Delta(w,c,d20.prefix,this.#knownNarrow[20].mixer,this.#expanded[20].mlp),new Delta(w,c,d21.prefix,this.#knownNarrow[21].mixer,this.#expanded[21].mlp),new Delta(w,c,d22.prefix,this.#knownNarrow[22].mixer,this.#expanded[22].mlp),new Attention(w,c,a23.prefix,this.#knownNarrow[23].mixer,this.#expanded[23].mlp),
710
+ new Delta(w,c,d24.prefix,this.#knownNarrow[24].mixer,this.#expanded[24].mlp),new Delta(w,c,d25.prefix,this.#knownNarrow[25].mixer,this.#expanded[25].mlp),new Delta(w,c,d26.prefix,this.#knownNarrow[26].mixer,this.#expanded[26].mlp),new Attention(w,c,a27.prefix,this.#knownNarrow[27].mixer,this.#expanded[27].mlp),
711
+ new Delta(w,c,d28.prefix,this.#knownNarrow[28].mixer,this.#expanded[28].mlp),new Delta(w,c,d29.prefix,this.#knownNarrow[29].mixer,this.#expanded[29].mlp),new Delta(w,c,d30.prefix,this.#knownNarrow[30].mixer,this.#expanded[30].mlp),new Attention(w,c,a31.prefix,this.#knownNarrow[31].mixer,this.#expanded[31].mlp),
712
+ new Delta(w,c,d32.prefix,this.#knownNarrow[32].mixer,this.#expanded[32].mlp),new Delta(w,c,d33.prefix,this.#knownNarrow[33].mixer,this.#expanded[33].mlp),new Delta(w,c,d34.prefix,this.#knownNarrow[34].mixer,this.#expanded[34].mlp),new Attention(w,c,a35.prefix,this.#knownNarrow[35].mixer,this.#expanded[35].mlp),
713
+ new Delta(w,c,d36.prefix,this.#knownNarrow[36].mixer,this.#expanded[36].mlp),new Delta(w,c,d37.prefix,this.#knownNarrow[37].mixer,this.#expanded[37].mlp),new Delta(w,c,d38.prefix,this.#knownNarrow[38].mixer,this.#expanded[38].mlp),new Attention(w,c,a39.prefix,this.#knownNarrow[39].mixer,this.#expanded[39].mlp),
714
+ new Delta(w,c,d40.prefix,this.#knownNarrow[40].mixer,this.#expanded[40].mlp),new Delta(w,c,d41.prefix,this.#knownNarrow[41].mixer,this.#expanded[41].mlp),new Delta(w,c,d42.prefix,this.#knownNarrow[42].mixer,this.#expanded[42].mlp),new Attention(w,c,a43.prefix,this.#knownNarrow[43].mixer,this.#expanded[43].mlp),
715
+ new Delta(w,c,d44.prefix,this.#knownNarrow[44].mixer,this.#expanded[44].mlp),new Delta(w,c,d45.prefix,this.#knownNarrow[45].mixer,this.#expanded[45].mlp),new Delta(w,c,d46.prefix,this.#knownNarrow[46].mixer,this.#expanded[46].mlp),new Attention(w,c,a47.prefix,this.#knownNarrow[47].mixer,this.#expanded[47].mlp),
716
+ new Delta(w,c,d48.prefix,this.#knownNarrow[48].mixer,this.#expanded[48].mlp),new Delta(w,c,d49.prefix,this.#knownNarrow[49].mixer,this.#expanded[49].mlp),new Delta(w,c,d50.prefix,this.#knownNarrow[50].mixer,this.#expanded[50].mlp),new Attention(w,c,a51.prefix,this.#knownNarrow[51].mixer,this.#expanded[51].mlp),
717
+ new Delta(w,c,d52.prefix,this.#knownNarrow[52].mixer,this.#expanded[52].mlp),new Delta(w,c,d53.prefix,this.#knownNarrow[53].mixer,this.#expanded[53].mlp),new Delta(w,c,d54.prefix,this.#knownNarrow[54].mixer,this.#expanded[54].mlp),new Attention(w,c,a55.prefix,this.#knownNarrow[55].mixer,this.#expanded[55].mlp),
718
+ new Delta(w,c,d56.prefix,this.#knownNarrow[56].mixer,this.#expanded[56].mlp),new Delta(w,c,d57.prefix,this.#knownNarrow[57].mixer,this.#expanded[57].mlp),new Delta(w,c,d58.prefix,this.#knownNarrow[58].mixer,this.#expanded[58].mlp),new Attention(w,c,a59.prefix,this.#knownNarrow[59].mixer,this.#expanded[59].mlp),
719
+ new Delta(w,c,d60.prefix,this.#knownNarrow[60].mixer,this.#expanded[60].mlp),new Delta(w,c,d61.prefix,this.#knownNarrow[61].mixer,this.#expanded[61].mlp),new Delta(w,c,d62.prefix,this.#knownNarrow[62].mixer,this.#expanded[62].mlp),new Attention(w,c,a63.prefix,this.#knownNarrow[63].mixer,this.#expanded[63].mlp),
720
+ ];
721
+ const mediaNarrow:Layers=[
722
+ this.#stockNarrow[0],this.#stockNarrow[1],this.#stockNarrow[2],a3.mediaLayer(w,c,Attention,this.#stockNarrow[3].mlp,Plain),
723
+ this.#stockNarrow[4],this.#stockNarrow[5],this.#stockNarrow[6],a7.mediaLayer(w,c,Attention,this.#stockNarrow[7].mlp,Plain),
724
+ this.#stockNarrow[8],this.#stockNarrow[9],this.#stockNarrow[10],a11.mediaLayer(w,c,Attention,this.#stockNarrow[11].mlp,Plain),
725
+ this.#stockNarrow[12],this.#stockNarrow[13],this.#stockNarrow[14],a15.mediaLayer(w,c,Attention,this.#stockNarrow[15].mlp,Plain),
726
+ this.#stockNarrow[16],this.#stockNarrow[17],this.#stockNarrow[18],a19.mediaLayer(w,c,Attention,this.#stockNarrow[19].mlp,Plain),
727
+ this.#stockNarrow[20],this.#stockNarrow[21],this.#stockNarrow[22],a23.mediaLayer(w,c,Attention,this.#stockNarrow[23].mlp,Plain),
728
+ this.#stockNarrow[24],this.#stockNarrow[25],this.#stockNarrow[26],a27.mediaLayer(w,c,Attention,this.#stockNarrow[27].mlp,Plain),
729
+ this.#stockNarrow[28],this.#stockNarrow[29],this.#stockNarrow[30],a31.mediaLayer(w,c,Attention,this.#stockNarrow[31].mlp,Plain),
730
+ this.#stockNarrow[32],this.#stockNarrow[33],this.#stockNarrow[34],a35.mediaLayer(w,c,Attention,this.#stockNarrow[35].mlp,Plain),
731
+ this.#stockNarrow[36],this.#stockNarrow[37],this.#stockNarrow[38],a39.mediaLayer(w,c,Attention,this.#stockNarrow[39].mlp,Plain),
732
+ this.#stockNarrow[40],this.#stockNarrow[41],this.#stockNarrow[42],a43.mediaLayer(w,c,Attention,this.#stockNarrow[43].mlp,Plain),
733
+ this.#stockNarrow[44],this.#stockNarrow[45],this.#stockNarrow[46],a47.mediaLayer(w,c,Attention,this.#stockNarrow[47].mlp,Plain),
734
+ this.#stockNarrow[48],this.#stockNarrow[49],this.#stockNarrow[50],a51.mediaLayer(w,c,Attention,this.#stockNarrow[51].mlp,Plain),
735
+ this.#stockNarrow[52],this.#stockNarrow[53],this.#stockNarrow[54],a55.mediaLayer(w,c,Attention,this.#stockNarrow[55].mlp,Plain),
736
+ this.#stockNarrow[56],this.#stockNarrow[57],this.#stockNarrow[58],a59.mediaLayer(w,c,Attention,this.#stockNarrow[59].mlp,Plain),
737
+ this.#stockNarrow[60],this.#stockNarrow[61],this.#stockNarrow[62],a63.mediaLayer(w,c,Attention,this.#stockNarrow[63].mlp,Plain),
738
+ ];
739
+ const mediaFiveToEight:Layers=[
740
+ this.#stockFiveToEight[0],this.#stockFiveToEight[1],this.#stockFiveToEight[2],a3.mediaLayer(w,c,Attention,this.#stockFiveToEight[3].mlp,Plain),
741
+ this.#stockFiveToEight[4],this.#stockFiveToEight[5],this.#stockFiveToEight[6],a7.mediaLayer(w,c,Attention,this.#stockFiveToEight[7].mlp,Plain),
742
+ this.#stockFiveToEight[8],this.#stockFiveToEight[9],this.#stockFiveToEight[10],a11.mediaLayer(w,c,Attention,this.#stockFiveToEight[11].mlp,Plain),
743
+ this.#stockFiveToEight[12],this.#stockFiveToEight[13],this.#stockFiveToEight[14],a15.mediaLayer(w,c,Attention,this.#stockFiveToEight[15].mlp,Plain),
744
+ this.#stockFiveToEight[16],this.#stockFiveToEight[17],this.#stockFiveToEight[18],a19.mediaLayer(w,c,Attention,this.#stockFiveToEight[19].mlp,Plain),
745
+ this.#stockFiveToEight[20],this.#stockFiveToEight[21],this.#stockFiveToEight[22],a23.mediaLayer(w,c,Attention,this.#stockFiveToEight[23].mlp,Plain),
746
+ this.#stockFiveToEight[24],this.#stockFiveToEight[25],this.#stockFiveToEight[26],a27.mediaLayer(w,c,Attention,this.#stockFiveToEight[27].mlp,Plain),
747
+ this.#stockFiveToEight[28],this.#stockFiveToEight[29],this.#stockFiveToEight[30],a31.mediaLayer(w,c,Attention,this.#stockFiveToEight[31].mlp,Plain),
748
+ this.#stockFiveToEight[32],this.#stockFiveToEight[33],this.#stockFiveToEight[34],a35.mediaLayer(w,c,Attention,this.#stockFiveToEight[35].mlp,Plain),
749
+ this.#stockFiveToEight[36],this.#stockFiveToEight[37],this.#stockFiveToEight[38],a39.mediaLayer(w,c,Attention,this.#stockFiveToEight[39].mlp,Plain),
750
+ this.#stockFiveToEight[40],this.#stockFiveToEight[41],this.#stockFiveToEight[42],a43.mediaLayer(w,c,Attention,this.#stockFiveToEight[43].mlp,Plain),
751
+ this.#stockFiveToEight[44],this.#stockFiveToEight[45],this.#stockFiveToEight[46],a47.mediaLayer(w,c,Attention,this.#stockFiveToEight[47].mlp,Plain),
752
+ this.#stockFiveToEight[48],this.#stockFiveToEight[49],this.#stockFiveToEight[50],a51.mediaLayer(w,c,Attention,this.#stockFiveToEight[51].mlp,Plain),
753
+ this.#stockFiveToEight[52],this.#stockFiveToEight[53],this.#stockFiveToEight[54],a55.mediaLayer(w,c,Attention,this.#stockFiveToEight[55].mlp,Plain),
754
+ this.#stockFiveToEight[56],this.#stockFiveToEight[57],this.#stockFiveToEight[58],a59.mediaLayer(w,c,Attention,this.#stockFiveToEight[59].mlp,Plain),
755
+ this.#stockFiveToEight[60],this.#stockFiveToEight[61],this.#stockFiveToEight[62],a63.mediaLayer(w,c,Attention,this.#stockFiveToEight[63].mlp,Plain),
756
+ ];
757
+ const mediaWide:Layers=[
758
+ this.#wide[0],this.#wide[1],this.#wide[2],a3.mediaLayer(w,c,Attention,this.#wide[3].mlp,Plain),
759
+ this.#wide[4],this.#wide[5],this.#wide[6],a7.mediaLayer(w,c,Attention,this.#wide[7].mlp,Plain),
760
+ this.#wide[8],this.#wide[9],this.#wide[10],a11.mediaLayer(w,c,Attention,this.#wide[11].mlp,Plain),
761
+ this.#wide[12],this.#wide[13],this.#wide[14],a15.mediaLayer(w,c,Attention,this.#wide[15].mlp,Plain),
762
+ this.#wide[16],this.#wide[17],this.#wide[18],a19.mediaLayer(w,c,Attention,this.#wide[19].mlp,Plain),
763
+ this.#wide[20],this.#wide[21],this.#wide[22],a23.mediaLayer(w,c,Attention,this.#wide[23].mlp,Plain),
764
+ this.#wide[24],this.#wide[25],this.#wide[26],a27.mediaLayer(w,c,Attention,this.#wide[27].mlp,Plain),
765
+ this.#wide[28],this.#wide[29],this.#wide[30],a31.mediaLayer(w,c,Attention,this.#wide[31].mlp,Plain),
766
+ this.#wide[32],this.#wide[33],this.#wide[34],a35.mediaLayer(w,c,Attention,this.#wide[35].mlp,Plain),
767
+ this.#wide[36],this.#wide[37],this.#wide[38],a39.mediaLayer(w,c,Attention,this.#wide[39].mlp,Plain),
768
+ this.#wide[40],this.#wide[41],this.#wide[42],a43.mediaLayer(w,c,Attention,this.#wide[43].mlp,Plain),
769
+ this.#wide[44],this.#wide[45],this.#wide[46],a47.mediaLayer(w,c,Attention,this.#wide[47].mlp,Plain),
770
+ this.#wide[48],this.#wide[49],this.#wide[50],a51.mediaLayer(w,c,Attention,this.#wide[51].mlp,Plain),
771
+ this.#wide[52],this.#wide[53],this.#wide[54],a55.mediaLayer(w,c,Attention,this.#wide[55].mlp,Plain),
772
+ this.#wide[56],this.#wide[57],this.#wide[58],a59.mediaLayer(w,c,Attention,this.#wide[59].mlp,Plain),
773
+ this.#wide[60],this.#wide[61],this.#wide[62],a63.mediaLayer(w,c,Attention,this.#wide[63].mlp,Plain),
774
+ ];
775
+ const mediaTiled:Layers=[
776
+ this.#tiled[0],this.#tiled[1],this.#tiled[2],a3.mediaLayer(w,c,Attention,this.#tiled[3].mlp,Plain),
777
+ this.#tiled[4],this.#tiled[5],this.#tiled[6],a7.mediaLayer(w,c,Attention,this.#tiled[7].mlp,Plain),
778
+ this.#tiled[8],this.#tiled[9],this.#tiled[10],a11.mediaLayer(w,c,Attention,this.#tiled[11].mlp,Plain),
779
+ this.#tiled[12],this.#tiled[13],this.#tiled[14],a15.mediaLayer(w,c,Attention,this.#tiled[15].mlp,Plain),
780
+ this.#tiled[16],this.#tiled[17],this.#tiled[18],a19.mediaLayer(w,c,Attention,this.#tiled[19].mlp,Plain),
781
+ this.#tiled[20],this.#tiled[21],this.#tiled[22],a23.mediaLayer(w,c,Attention,this.#tiled[23].mlp,Plain),
782
+ this.#tiled[24],this.#tiled[25],this.#tiled[26],a27.mediaLayer(w,c,Attention,this.#tiled[27].mlp,Plain),
783
+ this.#tiled[28],this.#tiled[29],this.#tiled[30],a31.mediaLayer(w,c,Attention,this.#tiled[31].mlp,Plain),
784
+ this.#tiled[32],this.#tiled[33],this.#tiled[34],a35.mediaLayer(w,c,Attention,this.#tiled[35].mlp,Plain),
785
+ this.#tiled[36],this.#tiled[37],this.#tiled[38],a39.mediaLayer(w,c,Attention,this.#tiled[39].mlp,Plain),
786
+ this.#tiled[40],this.#tiled[41],this.#tiled[42],a43.mediaLayer(w,c,Attention,this.#tiled[43].mlp,Plain),
787
+ this.#tiled[44],this.#tiled[45],this.#tiled[46],a47.mediaLayer(w,c,Attention,this.#tiled[47].mlp,Plain),
788
+ this.#tiled[48],this.#tiled[49],this.#tiled[50],a51.mediaLayer(w,c,Attention,this.#tiled[51].mlp,Plain),
789
+ this.#tiled[52],this.#tiled[53],this.#tiled[54],a55.mediaLayer(w,c,Attention,this.#tiled[55].mlp,Plain),
790
+ this.#tiled[56],this.#tiled[57],this.#tiled[58],a59.mediaLayer(w,c,Attention,this.#tiled[59].mlp,Plain),
791
+ this.#tiled[60],this.#tiled[61],this.#tiled[62],a63.mediaLayer(w,c,Attention,this.#tiled[63].mlp,Plain),
792
+ ];
793
+ const mediaExpanded:Layers=[
794
+ this.#expanded[0],this.#expanded[1],this.#expanded[2],a3.mediaLayer(w,c,Attention,this.#expanded[3].mlp,Plain),
795
+ this.#expanded[4],this.#expanded[5],this.#expanded[6],a7.mediaLayer(w,c,Attention,this.#expanded[7].mlp,Plain),
796
+ this.#expanded[8],this.#expanded[9],this.#expanded[10],a11.mediaLayer(w,c,Attention,this.#expanded[11].mlp,Plain),
797
+ this.#expanded[12],this.#expanded[13],this.#expanded[14],a15.mediaLayer(w,c,Attention,this.#expanded[15].mlp,Plain),
798
+ this.#expanded[16],this.#expanded[17],this.#expanded[18],a19.mediaLayer(w,c,Attention,this.#expanded[19].mlp,Plain),
799
+ this.#expanded[20],this.#expanded[21],this.#expanded[22],a23.mediaLayer(w,c,Attention,this.#expanded[23].mlp,Plain),
800
+ this.#expanded[24],this.#expanded[25],this.#expanded[26],a27.mediaLayer(w,c,Attention,this.#expanded[27].mlp,Plain),
801
+ this.#expanded[28],this.#expanded[29],this.#expanded[30],a31.mediaLayer(w,c,Attention,this.#expanded[31].mlp,Plain),
802
+ this.#expanded[32],this.#expanded[33],this.#expanded[34],a35.mediaLayer(w,c,Attention,this.#expanded[35].mlp,Plain),
803
+ this.#expanded[36],this.#expanded[37],this.#expanded[38],a39.mediaLayer(w,c,Attention,this.#expanded[39].mlp,Plain),
804
+ this.#expanded[40],this.#expanded[41],this.#expanded[42],a43.mediaLayer(w,c,Attention,this.#expanded[43].mlp,Plain),
805
+ this.#expanded[44],this.#expanded[45],this.#expanded[46],a47.mediaLayer(w,c,Attention,this.#expanded[47].mlp,Plain),
806
+ this.#expanded[48],this.#expanded[49],this.#expanded[50],a51.mediaLayer(w,c,Attention,this.#expanded[51].mlp,Plain),
807
+ this.#expanded[52],this.#expanded[53],this.#expanded[54],a55.mediaLayer(w,c,Attention,this.#expanded[55].mlp,Plain),
808
+ this.#expanded[56],this.#expanded[57],this.#expanded[58],a59.mediaLayer(w,c,Attention,this.#expanded[59].mlp,Plain),
809
+ this.#expanded[60],this.#expanded[61],this.#expanded[62],a63.mediaLayer(w,c,Attention,this.#expanded[63].mlp,Plain),
810
+ ];
811
+ this.#targets=new Map([
812
+ ...d0.targets(),...d1.targets(),...d2.targets(),...a3.targets(),...d4.targets(),...d5.targets(),...d6.targets(),...a7.targets(),
813
+ ...d8.targets(),...d9.targets(),...d10.targets(),...a11.targets(),...d12.targets(),...d13.targets(),...d14.targets(),...a15.targets(),
814
+ ...d16.targets(),...d17.targets(),...d18.targets(),...a19.targets(),...d20.targets(),...d21.targets(),...d22.targets(),...a23.targets(),
815
+ ...d24.targets(),...d25.targets(),...d26.targets(),...a27.targets(),...d28.targets(),...d29.targets(),...d30.targets(),...a31.targets(),
816
+ ...d32.targets(),...d33.targets(),...d34.targets(),...a35.targets(),...d36.targets(),...d37.targets(),...d38.targets(),...a39.targets(),
817
+ ...d40.targets(),...d41.targets(),...d42.targets(),...a43.targets(),...d44.targets(),...d45.targets(),...d46.targets(),...a47.targets(),
818
+ ...d48.targets(),...d49.targets(),...d50.targets(),...a51.targets(),...d52.targets(),...d53.targets(),...d54.targets(),...a55.targets(),
819
+ ...d56.targets(),...d57.targets(),...d58.targets(),...a59.targets(),...d60.targets(),...d61.targets(),...d62.targets(),...a63.targets(),
820
+ ]);
821
+ const oneDecode:RowsForward=(ids,state,capture)=>this.#submitted(this.#one,ids,state,"decode",capture);
822
+ const rowsDecode:RowsForward=(ids,state,capture)=>this.#submitted(this.#rows,ids,state,"decode",capture);
823
+ const fourDecode:RowsForward=(ids,state,capture)=>this.#submitted(this.#four,ids,state,"decode",capture);
824
+ const mmaDecode:RowsForward=(ids,state,capture)=>this.#submitted(this.#mma,ids,state,"decode",capture);
825
+ const wideDecode:RowsForward=(ids,state,capture)=>this.#lazy(this.#wide,ids,state,"decode",capture);
826
+ const tiledDecode:RowsForward=(ids,state,capture)=>this.#lazy(this.#tiled,ids,state,"decode",capture);
827
+ const expandedDecode:RowsForward=(ids,state,capture)=>this.#lazy(this.#expanded,ids,state,"decode",capture);
828
+ const oneWindow:RowsForward=(ids,state,capture)=>this.#submitted(this.#one,ids,state,"window",capture);
829
+ const rowsWindow:RowsForward=(ids,state,capture)=>this.#submitted(this.#rows,ids,state,"window",capture);
830
+ const fourWindow:RowsForward=(ids,state,capture)=>this.#submitted(this.#four,ids,state,"window",capture);
831
+ const mmaWindow:RowsForward=(ids,state,capture)=>this.#submitted(this.#mma,ids,state,"window",capture);
832
+ const wideWindow:RowsForward=(ids,state,capture)=>this.#bounded(this.#wide,ids,state,"window",capture);
833
+ const tiledWindow:RowsForward=(ids,state,capture)=>this.#bounded(this.#tiled,ids,state,"window",capture);
834
+ const expandedWindow:RowsForward=(ids,state,capture)=>this.#bounded(this.#expanded,ids,state,"window",capture);
835
+ this.decode=Object.freeze({
836
+ 1:oneDecode,2:rowsDecode,3:rowsDecode,4:fourDecode,5:mmaDecode,6:mmaDecode,7:mmaDecode,8:mmaDecode,
837
+ 9:wideDecode,10:wideDecode,11:wideDecode,12:wideDecode,13:wideDecode,14:wideDecode,15:wideDecode,
838
+ 16:tiledDecode,17:tiledDecode,18:tiledDecode,19:tiledDecode,20:tiledDecode,21:tiledDecode,22:tiledDecode,23:tiledDecode,
839
+ 24:tiledDecode,25:tiledDecode,26:tiledDecode,27:tiledDecode,28:tiledDecode,29:tiledDecode,30:tiledDecode,31:tiledDecode,32:tiledDecode,
840
+
841
+ default: expandedDecode,
842
+ });
843
+ this.verify=Object.freeze({
844
+ 1:oneWindow,2:rowsWindow,3:rowsWindow,4:fourWindow,5:mmaWindow,6:mmaWindow,7:mmaWindow,8:mmaWindow,
845
+ 9:wideWindow,10:wideWindow,11:wideWindow,12:wideWindow,13:wideWindow,14:wideWindow,15:wideWindow,
846
+ 16:tiledWindow,17:tiledWindow,18:tiledWindow,19:tiledWindow,20:tiledWindow,21:tiledWindow,22:tiledWindow,23:tiledWindow,
847
+ 24:tiledWindow,25:tiledWindow,26:tiledWindow,27:tiledWindow,28:tiledWindow,29:tiledWindow,30:tiledWindow,31:tiledWindow,32:tiledWindow,
848
+ 33:expandedWindow,34:expandedWindow,35:expandedWindow,36:expandedWindow,37:expandedWindow,38:expandedWindow,39:expandedWindow,40:expandedWindow,
849
+ 41:expandedWindow,42:expandedWindow,43:expandedWindow,44:expandedWindow,45:expandedWindow,46:expandedWindow,47:expandedWindow,48:expandedWindow,
850
+ 49:expandedWindow,50:expandedWindow,51:expandedWindow,52:expandedWindow,53:expandedWindow,54:expandedWindow,55:expandedWindow,56:expandedWindow,
851
+ 57:expandedWindow,58:expandedWindow,59:expandedWindow,60:expandedWindow,61:expandedWindow,62:expandedWindow,63:expandedWindow,64:expandedWindow,
852
+
853
+ default: expandedWindow,
854
+ });
855
+ this.prompt=[
856
+ {from:1,to:1,operation:oneWindow},{from:2,to:3,operation:rowsWindow},{from:4,to:4,operation:fourWindow},
857
+ {from:5,to:8,operation:mmaWindow},{from:9,to:15,operation:wideWindow},{from:16,to:32,operation:tiledWindow},
858
+ {from:33,to:639,operation:expandedWindow},
859
+ {from:640,to:1024,unit:"ane",operation:(ids,state,capture)=>this.#bounded(this.#ane1024,ids,state,"window",capture)},
860
+ {from:1025,to:1536,unit:"ane",operation:(ids,state,capture)=>this.#bounded(this.#ane1536,ids,state,"window",capture)},
861
+ {from:1537,to:2048,unit:"ane",operation:(ids,state,capture)=>this.#bounded(this.#ane2048,ids,state,"window",capture)},
862
+ {from:2049,to:Infinity,operation:expandedWindow},
863
+ ];
864
+ const chunkNarrow:Layers=[
865
+ d0.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d1.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d2.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a3.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
866
+ d4.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d5.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d6.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a7.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
867
+ d8.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d9.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d10.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a11.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
868
+ d12.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d13.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d14.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a15.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
869
+ d16.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d17.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d18.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a19.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
870
+ d20.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d21.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d22.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a23.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
871
+ d24.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d25.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d26.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a27.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
872
+ d28.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d29.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d30.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a31.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
873
+ d32.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d33.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d34.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a35.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
874
+ d36.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d37.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d38.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a39.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
875
+ d40.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d41.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d42.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a43.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
876
+ d44.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d45.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d46.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a47.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
877
+ d48.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d49.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d50.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a51.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
878
+ d52.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d53.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d54.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a55.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
879
+ d56.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d57.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d58.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a59.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
880
+ d60.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d61.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),d62.prompt(w,c,Delta,TrellisUnfusedMLP,Reduce,Scatter,Plain,qk),a63.prompt(w,c,Attention,TrellisUnfusedMLP,Reduce,Scatter,Plain),
881
+ ];
882
+ this.multiSequencePrompt=[
883
+ {from:1,to:1,operation:oneWindow},{from:2,to:3,operation:rowsWindow},{from:4,to:4,operation:fourWindow},
884
+ {from:5,to:8,operation:mmaWindow},
885
+ {from:9,to:15,operation:wideWindow},{from:16,to:32,operation:tiledWindow},{from:33,to:Infinity,operation:expandedWindow},
886
+ ];
887
+ const narrowChunk:RowsForward=(ids,state,capture)=>this.#bounded(chunkNarrow,ids,state,"window",capture);
888
+ const fiveChunk:RowsForward=(ids,state,capture)=>this.#bounded(this.#stockFiveToEight,ids,state,"window",capture);
889
+ this.multiSequencePromptChunk=[
890
+ {from:1,to:4,operation:narrowChunk},{from:5,to:8,operation:fiveChunk},
891
+ {from:9,to:15,operation:wideWindow},{from:16,to:32,operation:tiledWindow},{from:33,to:Infinity,operation:expandedWindow},
892
+ ];
893
+ this.promptChunk=[
894
+ {from:1,to:4,operation:narrowChunk},{from:5,to:8,operation:fiveChunk},
895
+ {from:9,to:15,operation:wideWindow},{from:16,to:32,operation:tiledWindow},{from:33,to:639,operation:expandedWindow},
896
+ {from:640,to:1024,unit:"ane",operation:(ids,state,capture)=>this.#bounded(this.#ane1024,ids,state,"window",capture)},
897
+ {from:1025,to:1536,unit:"ane",operation:(ids,state,capture)=>this.#bounded(this.#ane1536,ids,state,"window",capture)},
898
+ {from:1537,to:2048,unit:"ane",operation:(ids,state,capture)=>this.#bounded(this.#ane2048,ids,state,"window",capture)},
899
+ {from:2049,to:Infinity,operation:expandedWindow},
900
+ ];
901
+ const knownNarrow:MlxPhaseForward=(ids,state)=>this.#lazy(this.#knownNarrow,ids,state,"committed",null);
902
+ const knownFiveToEight:MlxPhaseForward=(ids,state)=>this.#bounded(this.#knownFiveToEight,ids,state,"committed",null);
903
+ const knownWide:MlxPhaseForward=(ids,state)=>this.#bounded(this.#knownWide,ids,state,"committed",null);
904
+ const knownTiled:MlxPhaseForward=(ids,state)=>this.#bounded(this.#knownTiled,ids,state,"committed",null);
905
+ const knownExpanded:MlxPhaseForward=(ids,state)=>this.#bounded(this.#knownExpanded,ids,state,"committed",null);
906
+ this.appendKnown=[{from:1,to:4,operation:knownNarrow},{from:5,to:8,operation:knownFiveToEight},
907
+ {from:9,to:15,operation:knownWide},{from:16,to:32,operation:knownTiled},{from:33,to:Infinity,operation:knownExpanded}];
908
+ const headRows=new Affine4Rows(this.lmHead),headMma=new Affine4Mma(this.lmHead);
909
+ const plainHead:MlxHeadForward=hidden=>this.#head.forward(hidden),rowsHead:MlxHeadForward=hidden=>headRows.forward(hidden),mmaHead:MlxHeadForward=hidden=>headMma.forward(hidden);
910
+ this.logits=Object.freeze({
911
+ 1:plainHead,2:rowsHead,3:rowsHead,4:rowsHead,5:mmaHead,6:mmaHead,7:mmaHead,8:mmaHead,
912
+ 9:plainHead,10:plainHead,11:plainHead,12:plainHead,13:plainHead,14:plainHead,15:plainHead,16:plainHead,
913
+ 17:plainHead,18:plainHead,19:plainHead,20:plainHead,21:plainHead,22:plainHead,23:plainHead,24:plainHead,
914
+ 25:plainHead,26:plainHead,27:plainHead,28:plainHead,29:plainHead,30:plainHead,31:plainHead,32:plainHead,
915
+ 33:plainHead,34:plainHead,35:plainHead,36:plainHead,37:plainHead,38:plainHead,39:plainHead,40:plainHead,
916
+ 41:plainHead,42:plainHead,43:plainHead,44:plainHead,45:plainHead,46:plainHead,47:plainHead,48:plainHead,
917
+ 49:plainHead,50:plainHead,51:plainHead,52:plainHead,53:plainHead,54:plainHead,55:plainHead,56:plainHead,
918
+ 57:plainHead,58:plainHead,59:plainHead,60:plainHead,61:plainHead,62:plainHead,63:plainHead,64:plainHead,
919
+
920
+ default: plainHead,
921
+ });
922
+ this.sequence=[
923
+ {from:1,to:1,operation:(ids,state)=>oneWindow(ids,state,null)},
924
+ {from:2,to:3,operation:(ids,state)=>rowsWindow(ids,state,null)},
925
+ {from:4,to:4,operation:(ids,state)=>fourWindow(ids,state,null)},
926
+ {from:5,to:8,operation:(ids,state)=>mmaWindow(ids,state,null)},
927
+ {from:9,to:15,operation:(ids,state)=>wideWindow(ids,state,null)},
928
+ {from:16,to:32,operation:(ids,state)=>tiledWindow(ids,state,null)},
929
+ {from:33,to:Infinity,operation:(ids,state)=>expandedWindow(ids,state,null)},
930
+ ];
931
+ this.mediaPrefill=[
932
+ {from:1,to:4,operation:(embeds,state,positions)=>this.#positioned(mediaNarrow,ops.contiguous(embeds),state,"window",positions)},
933
+ {from:5,to:8,operation:(embeds,state,positions)=>this.#positionedBounded(mediaFiveToEight,ops.contiguous(embeds),state,positions)},
934
+ {from:9,to:15,operation:(embeds,state,positions)=>this.#positionedBounded(mediaWide,ops.contiguous(embeds),state,positions)},
935
+ {from:16,to:32,operation:(embeds,state,positions)=>this.#positionedBounded(mediaTiled,ops.contiguous(embeds),state,positions)},
936
+ {from:33,to:Infinity,operation:(embeds,state,positions)=>this.#positionedBounded(mediaExpanded,ops.contiguous(embeds),state,positions)},
937
+ ];
938
+ this.mediaPrompt=[
939
+ {from:1,to:4,operation:(ids,state,positions)=>this.#positioned(mediaNarrow,this.embed.encode(ids),state,"window",positions)},
940
+ {from:5,to:8,operation:(ids,state,positions)=>this.#positionedBounded(mediaFiveToEight,this.embed.encode(ids),state,positions)},
941
+ {from:9,to:15,operation:(ids,state,positions)=>this.#positionedBounded(mediaWide,this.embed.encode(ids),state,positions)},
942
+ {from:16,to:32,operation:(ids,state,positions)=>this.#positionedBounded(mediaTiled,this.embed.encode(ids),state,positions)},
943
+ {from:33,to:Infinity,operation:(ids,state,positions)=>this.#positionedBounded(mediaExpanded,this.embed.encode(ids),state,positions)},
944
+ ];
945
+ const mediaSmallDecode:MlxPositionedForward=(ids,state,positions)=>this.#positioned(mediaNarrow,this.embed.encode(ids),state,"decode",positions);
946
+ const mediaLargeDecode:MlxPositionedForward=(ids,state,positions)=>this.#positioned(mediaFiveToEight,this.embed.encode(ids),state,"decode",positions);
947
+ const mediaWideDecode:MlxPositionedForward=(ids,state,positions)=>this.#positioned(mediaWide,this.embed.encode(ids),state,"decode",positions);
948
+ const mediaTiledDecode:MlxPositionedForward=(ids,state,positions)=>this.#positioned(mediaTiled,this.embed.encode(ids),state,"decode",positions);
949
+ const mediaExpandedDecode:MlxPositionedForward=(ids,state,positions)=>this.#positioned(mediaExpanded,this.embed.encode(ids),state,"decode",positions);
950
+ this.mediaDecode=Object.freeze({
951
+ 1:mediaSmallDecode,2:mediaSmallDecode,3:mediaSmallDecode,4:mediaSmallDecode,5:mediaLargeDecode,6:mediaLargeDecode,7:mediaLargeDecode,8:mediaLargeDecode,
952
+ 9:mediaWideDecode,10:mediaWideDecode,11:mediaWideDecode,12:mediaWideDecode,13:mediaWideDecode,14:mediaWideDecode,15:mediaWideDecode,
953
+ 16:mediaTiledDecode,17:mediaTiledDecode,18:mediaTiledDecode,19:mediaTiledDecode,20:mediaTiledDecode,21:mediaTiledDecode,22:mediaTiledDecode,23:mediaTiledDecode,
954
+ 24:mediaTiledDecode,25:mediaTiledDecode,26:mediaTiledDecode,27:mediaTiledDecode,28:mediaTiledDecode,29:mediaTiledDecode,30:mediaTiledDecode,31:mediaTiledDecode,32:mediaTiledDecode,
955
+
956
+ default: mediaExpandedDecode,
957
+ });
958
+ const separatedWindow=[
959
+ {from:1,to:1,operation:(group:Parameters<MlxSeparateMixed["window"][number]["operation"]>[0])=>oneWindow(group.ids,group.state,group.capture)},
960
+ {from:2,to:3,operation:(group:Parameters<MlxSeparateMixed["window"][number]["operation"]>[0])=>rowsWindow(group.ids,group.state,group.capture)},
961
+ {from:4,to:4,operation:(group:Parameters<MlxSeparateMixed["window"][number]["operation"]>[0])=>fourWindow(group.ids,group.state,group.capture)},
962
+ {from:5,to:8,operation:(group:Parameters<MlxSeparateMixed["window"][number]["operation"]>[0])=>mmaWindow(group.ids,group.state,group.capture)},
963
+ {from:9,to:15,operation:(group:Parameters<MlxSeparateMixed["window"][number]["operation"]>[0])=>wideWindow(group.ids,group.state,group.capture)},
964
+ {from:16,to:32,operation:(group:Parameters<MlxSeparateMixed["window"][number]["operation"]>[0])=>tiledWindow(group.ids,group.state,group.capture)},
965
+ {from:33,to:Infinity,operation:(group:Parameters<MlxSeparateMixed["window"][number]["operation"]>[0])=>expandedWindow(group.ids,group.state,group.capture)},
966
+ ];
967
+ this.embeddingPrompt=[
968
+ {from:1,to:1,operation:(hidden,cache)=>this.#embeddingSubmitted(this.#one,hidden,cache)},
969
+ {from:2,to:3,operation:(hidden,cache)=>this.#embeddingSubmitted(this.#rows,hidden,cache)},
970
+ {from:4,to:4,operation:(hidden,cache)=>this.#embeddingSubmitted(this.#four,hidden,cache)},
971
+ {from:5,to:8,operation:(hidden,cache)=>this.#embeddingSubmitted(this.#mma,hidden,cache)},
972
+ {from:9,to:15,operation:(hidden,cache)=>this.#embeddingBounded(this.#wide,hidden,cache)},
973
+ {from:16,to:32,operation:(hidden,cache)=>this.#embeddingBounded(this.#tiled,hidden,cache)},
974
+ {from:33,to:Infinity,operation:(hidden,cache)=>this.#embeddingBounded(this.#expanded,hidden,cache)},
975
+ ];
976
+ this.mixedSeparate={decode:[
977
+ {from:1,to:1,operation:group=>oneDecode(group.ids,group.state,group.capture)},
978
+ {from:2,to:3,operation:group=>rowsDecode(group.ids,group.state,group.capture)},
979
+ {from:4,to:4,operation:group=>fourDecode(group.ids,group.state,group.capture)},
980
+ {from:5,to:8,operation:group=>mmaDecode(group.ids,group.state,group.capture)},
981
+ {from:9,to:15,operation:group=>wideDecode(group.ids,group.state,group.capture)},
982
+ {from:16,to:32,operation:group=>tiledDecode(group.ids,group.state,group.capture)},
983
+ {from:33,to:Infinity,operation:group=>expandedDecode(group.ids,group.state,group.capture)},
984
+ ],window:separatedWindow,verify:separatedWindow};
985
+ console.error(`[graph] ${this.graph}`);
986
+ }
987
+
988
+ dispose():void { disposeResources(this.#owned.splice(0)); }
989
+ loraTargets():Map<string,QwenProjectionTarget> { return new Map(this.#targets); }
990
+ bindMediaInput(input:Vision):MlxPromptInput { return bindQwenMediaInput(this,input.embeddings,input.mrope!); }
991
+ mediaEncoders(modelDir:string):Promise<MediaEncoders> { return qwenMediaEncoders(this,modelDir); }
992
+ draftTarget(_state:Cache[]):TargetView { return qwenDraftTarget(this,this.#residualBasis); }
993
+ logitsFromHidden(hidden:MlxArray):MlxArray { return this.#head.forward(hidden); }
994
+
995
+ #submitted(layers:Layers,ids:MlxArray,state:Cache[],phase:ReadPhase,capture:MlxLayerCapture|null):MlxArray {
996
+ using scope=new SubmittedGraphForwardScope(this.embed.encode(ids),capture,64,4);
997
+ return this.#run(layers,state,phase,scope);
998
+ }
999
+ #embeddingSubmitted(layers:Layers,hidden:MlxArray,state:Cache[]):MlxArray {
1000
+ using scope=new SubmittedGraphForwardScope(ops.contiguous(hidden),null,64,4);
1001
+ return this.#run(layers,state,"window",scope);
1002
+ }
1003
+ #embeddingBounded(layers:Layers,hidden:MlxArray,state:Cache[]):MlxArray {
1004
+ using scope=new BoundedGraphForwardScope(ops.contiguous(hidden),null,state);
1005
+ return this.#run(layers,state,"window",scope);
1006
+ }
1007
+ #bounded(layers:Layers,ids:MlxArray,state:Cache[],phase:ReadPhase,capture:MlxLayerCapture|null):MlxArray {
1008
+ using scope=new BoundedGraphForwardScope(this.embed.encode(ids),capture,state);
1009
+ return this.#run(layers,state,phase,scope);
1010
+ }
1011
+ #lazy(layers:Layers,ids:MlxArray,state:Cache[],phase:ReadPhase,capture:MlxLayerCapture|null):MlxArray {
1012
+ using scope=new GraphForwardScope(this.embed.encode(ids),capture);
1013
+ return this.#run(layers,state,phase,scope);
1014
+ }
1015
+ #positioned(layers:Layers,hidden:MlxArray,state:Cache[],phase:ReadPhase,positions:MlxArray):MlxArray {
1016
+ using scope=new GraphForwardScope(hidden,null);
1017
+ return this.#run(layers,state,phase,scope,{posIds:positions,...this.#mrope});
1018
+ }
1019
+ #positionedBounded(layers:Layers,hidden:MlxArray,state:Cache[],positions:MlxArray):MlxArray {
1020
+ using scope=new BoundedGraphForwardScope(hidden,null,state);
1021
+ return this.#run(layers,state,"window",scope,{posIds:positions,...this.#mrope});
1022
+ }
1023
+
1024
+ /** Every callsite has its written DeltaNet or full-attention layer type. */
1025
+ #run(layers:Layers,state:Cache[],phase:ReadPhase,scope:GraphForwardScope,positions:MropeForwardState|null=null):MlxArray {
1026
+ scope.accept(0,layers[0].forward(scope.hidden,state[0]!,phase));
1027
+ scope.accept(1,layers[1].forward(scope.hidden,state[1]!,phase));
1028
+ scope.accept(2,layers[2].forward(scope.hidden,state[2]!,phase));
1029
+ scope.accept(3,layers[3].forward(scope.hidden,state[3]!,phase,positions));
1030
+ scope.accept(4,layers[4].forward(scope.hidden,state[4]!,phase));
1031
+ scope.accept(5,layers[5].forward(scope.hidden,state[5]!,phase));
1032
+ scope.accept(6,layers[6].forward(scope.hidden,state[6]!,phase));
1033
+ scope.accept(7,layers[7].forward(scope.hidden,state[7]!,phase,positions));
1034
+ scope.accept(8,layers[8].forward(scope.hidden,state[8]!,phase));
1035
+ scope.accept(9,layers[9].forward(scope.hidden,state[9]!,phase));
1036
+ scope.accept(10,layers[10].forward(scope.hidden,state[10]!,phase));
1037
+ scope.accept(11,layers[11].forward(scope.hidden,state[11]!,phase,positions));
1038
+ scope.accept(12,layers[12].forward(scope.hidden,state[12]!,phase));
1039
+ scope.accept(13,layers[13].forward(scope.hidden,state[13]!,phase));
1040
+ scope.accept(14,layers[14].forward(scope.hidden,state[14]!,phase));
1041
+ scope.accept(15,layers[15].forward(scope.hidden,state[15]!,phase,positions));
1042
+ scope.accept(16,layers[16].forward(scope.hidden,state[16]!,phase));
1043
+ scope.accept(17,layers[17].forward(scope.hidden,state[17]!,phase));
1044
+ scope.accept(18,layers[18].forward(scope.hidden,state[18]!,phase));
1045
+ scope.accept(19,layers[19].forward(scope.hidden,state[19]!,phase,positions));
1046
+ scope.accept(20,layers[20].forward(scope.hidden,state[20]!,phase));
1047
+ scope.accept(21,layers[21].forward(scope.hidden,state[21]!,phase));
1048
+ scope.accept(22,layers[22].forward(scope.hidden,state[22]!,phase));
1049
+ scope.accept(23,layers[23].forward(scope.hidden,state[23]!,phase,positions));
1050
+ scope.accept(24,layers[24].forward(scope.hidden,state[24]!,phase));
1051
+ scope.accept(25,layers[25].forward(scope.hidden,state[25]!,phase));
1052
+ scope.accept(26,layers[26].forward(scope.hidden,state[26]!,phase));
1053
+ scope.accept(27,layers[27].forward(scope.hidden,state[27]!,phase,positions));
1054
+ scope.accept(28,layers[28].forward(scope.hidden,state[28]!,phase));
1055
+ scope.accept(29,layers[29].forward(scope.hidden,state[29]!,phase));
1056
+ scope.accept(30,layers[30].forward(scope.hidden,state[30]!,phase));
1057
+ scope.accept(31,layers[31].forward(scope.hidden,state[31]!,phase,positions));
1058
+ scope.accept(32,layers[32].forward(scope.hidden,state[32]!,phase));
1059
+ scope.accept(33,layers[33].forward(scope.hidden,state[33]!,phase));
1060
+ scope.accept(34,layers[34].forward(scope.hidden,state[34]!,phase));
1061
+ scope.accept(35,layers[35].forward(scope.hidden,state[35]!,phase,positions));
1062
+ scope.accept(36,layers[36].forward(scope.hidden,state[36]!,phase));
1063
+ scope.accept(37,layers[37].forward(scope.hidden,state[37]!,phase));
1064
+ scope.accept(38,layers[38].forward(scope.hidden,state[38]!,phase));
1065
+ scope.accept(39,layers[39].forward(scope.hidden,state[39]!,phase,positions));
1066
+ scope.accept(40,layers[40].forward(scope.hidden,state[40]!,phase));
1067
+ scope.accept(41,layers[41].forward(scope.hidden,state[41]!,phase));
1068
+ scope.accept(42,layers[42].forward(scope.hidden,state[42]!,phase));
1069
+ scope.accept(43,layers[43].forward(scope.hidden,state[43]!,phase,positions));
1070
+ scope.accept(44,layers[44].forward(scope.hidden,state[44]!,phase));
1071
+ scope.accept(45,layers[45].forward(scope.hidden,state[45]!,phase));
1072
+ scope.accept(46,layers[46].forward(scope.hidden,state[46]!,phase));
1073
+ scope.accept(47,layers[47].forward(scope.hidden,state[47]!,phase,positions));
1074
+ scope.accept(48,layers[48].forward(scope.hidden,state[48]!,phase));
1075
+ scope.accept(49,layers[49].forward(scope.hidden,state[49]!,phase));
1076
+ scope.accept(50,layers[50].forward(scope.hidden,state[50]!,phase));
1077
+ scope.accept(51,layers[51].forward(scope.hidden,state[51]!,phase,positions));
1078
+ scope.accept(52,layers[52].forward(scope.hidden,state[52]!,phase));
1079
+ scope.accept(53,layers[53].forward(scope.hidden,state[53]!,phase));
1080
+ scope.accept(54,layers[54].forward(scope.hidden,state[54]!,phase));
1081
+ scope.accept(55,layers[55].forward(scope.hidden,state[55]!,phase,positions));
1082
+ scope.accept(56,layers[56].forward(scope.hidden,state[56]!,phase));
1083
+ scope.accept(57,layers[57].forward(scope.hidden,state[57]!,phase));
1084
+ scope.accept(58,layers[58].forward(scope.hidden,state[58]!,phase));
1085
+ scope.accept(59,layers[59].forward(scope.hidden,state[59]!,phase,positions));
1086
+ scope.accept(60,layers[60].forward(scope.hidden,state[60]!,phase));
1087
+ scope.accept(61,layers[61].forward(scope.hidden,state[61]!,phase));
1088
+ scope.accept(62,layers[62].forward(scope.hidden,state[62]!,phase));
1089
+ scope.accept(63,layers[63].forward(scope.hidden,state[63]!,phase,positions));
1090
+ return scope.finish(64,this.finalNorm.forward(scope.hidden));
1091
+ }
1092
+ }