allyhub 0.3.0 → 0.4.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 (643) hide show
  1. package/dist/commands/add.js +2 -2
  2. package/dist/commands/auth.js +4 -4
  3. package/dist/commands/cloud-tools.js +9 -10
  4. package/dist/commands/dev.js +1 -1
  5. package/dist/commands/doctor.js +4 -4
  6. package/dist/commands/frames/piece.js +1 -1
  7. package/dist/commands/frames.js +6 -6
  8. package/dist/commands/index.js +1 -1
  9. package/dist/commands/inspect/contrast.js +1 -1
  10. package/dist/commands/inspect/layout.js +1 -1
  11. package/dist/commands/orgs.js +2 -2
  12. package/dist/commands/render.js +2 -2
  13. package/dist/commands/sheet.js +2 -2
  14. package/dist/commands/slides.js +3 -0
  15. package/dist/main.js +3 -3
  16. package/dist/text/facts-text.js +5 -5
  17. package/dist/text/format.js +2 -2
  18. package/dist/works.js +1 -1
  19. package/editor-web/assets/browser-B31cR_c2.js +105 -0
  20. package/editor-web/assets/dist-6TNEuNMX.js +4 -0
  21. package/editor-web/assets/dist-Cm2TIjW5.js +2 -0
  22. package/editor-web/assets/dist-Cpt0p8bX.js +6 -0
  23. package/editor-web/assets/dist-D2GccKEJ.js +1 -0
  24. package/editor-web/assets/dist-Z0zvYXmu.js +233 -0
  25. package/editor-web/assets/dist-fs4ONrUV.js +32 -0
  26. package/editor-web/assets/index-CAcsAZ9u.js +70 -0
  27. package/editor-web/assets/index-DlcJckhO.css +2 -0
  28. package/editor-web/assets/list-D2v7U8K8.js +1 -0
  29. package/editor-web/assets/react-D0RmGe2w.js +101 -0
  30. package/editor-web/assets/rolldown-runtime-XKyaHtl9.js +1 -0
  31. package/editor-web/assets/text-align-start-B3k2cx5f.js +1 -0
  32. package/editor-web/assets/undo-2-Ecr7-Obc.js +1 -0
  33. package/editor-web/index.html +4 -4
  34. package/node_modules/@allyhub-next/audio/package.json +1 -1
  35. package/node_modules/@allyhub-next/browser/package.json +1 -1
  36. package/node_modules/@allyhub-next/build/dist/data.js +1 -1
  37. package/node_modules/@allyhub-next/build/dist/meta-worker.d.ts +10 -0
  38. package/node_modules/@allyhub-next/build/dist/meta-worker.js +2 -2
  39. package/node_modules/@allyhub-next/build/dist/model-info.js +2 -1
  40. package/node_modules/@allyhub-next/build/dist/plugin.d.ts +2 -0
  41. package/node_modules/@allyhub-next/build/dist/plugin.js +9 -8
  42. package/node_modules/@allyhub-next/build/dist/prepare.d.ts +13 -1
  43. package/node_modules/@allyhub-next/build/dist/prepare.js +2 -2
  44. package/node_modules/@allyhub-next/build/dist/scan.d.ts +1 -1
  45. package/node_modules/@allyhub-next/build/dist/scan.js +1 -1
  46. package/node_modules/@allyhub-next/build/dist/types.js +3 -3
  47. package/node_modules/@allyhub-next/build/package.json +1 -1
  48. package/node_modules/@allyhub-next/check/dist/check.js +3 -3
  49. package/node_modules/@allyhub-next/check/dist/generated.d.ts +1 -1
  50. package/node_modules/@allyhub-next/check/package.json +1 -1
  51. package/node_modules/@allyhub-next/cloud/dist/index.js +1 -1
  52. package/node_modules/@allyhub-next/cloud/dist/signin.js +2 -2
  53. package/node_modules/@allyhub-next/cloud/dist/token.js +1 -1
  54. package/node_modules/@allyhub-next/cloud/package.json +1 -1
  55. package/node_modules/@allyhub-next/components/package.json +1 -1
  56. package/node_modules/@allyhub-next/dev-server/dist/card.d.ts +2 -11
  57. package/node_modules/@allyhub-next/dev-server/dist/card.js +1 -1
  58. package/node_modules/@allyhub-next/dev-server/dist/exports.d.ts +2 -2
  59. package/node_modules/@allyhub-next/dev-server/dist/exports.js +1 -1
  60. package/node_modules/@allyhub-next/dev-server/dist/index.d.ts +1 -1
  61. package/node_modules/@allyhub-next/dev-server/dist/index.js +1 -1
  62. package/node_modules/@allyhub-next/dev-server/dist/live.d.ts +3 -0
  63. package/node_modules/@allyhub-next/dev-server/dist/live.js +1 -1
  64. package/node_modules/@allyhub-next/dev-server/dist/project.d.ts +3 -0
  65. package/node_modules/@allyhub-next/dev-server/dist/project.js +1 -1
  66. package/node_modules/@allyhub-next/dev-server/dist/reveal.d.ts +6 -0
  67. package/node_modules/@allyhub-next/dev-server/dist/reveal.js +2 -0
  68. package/node_modules/@allyhub-next/dev-server/dist/server.js +1 -1
  69. package/node_modules/@allyhub-next/dev-server/dist/stage.d.ts +2 -0
  70. package/node_modules/@allyhub-next/dev-server/dist/stage.js +22 -2
  71. package/node_modules/@allyhub-next/dev-server/dist/tools.d.ts +2 -0
  72. package/node_modules/@allyhub-next/dev-server/dist/tools.js +1 -1
  73. package/node_modules/@allyhub-next/dev-server/package.json +1 -1
  74. package/node_modules/@allyhub-next/doc/dist/docx.d.ts +28 -0
  75. package/node_modules/@allyhub-next/doc/dist/docx.js +4 -0
  76. package/node_modules/@allyhub-next/doc/dist/html.d.ts +3 -0
  77. package/node_modules/@allyhub-next/doc/dist/html.js +1 -1
  78. package/node_modules/@allyhub-next/doc/package.json +5 -1
  79. package/node_modules/@allyhub-next/export/dist/deck-fonts.d.ts +24 -0
  80. package/node_modules/@allyhub-next/export/dist/deck-fonts.js +2 -0
  81. package/node_modules/@allyhub-next/export/dist/deck-pptx.d.ts +12 -0
  82. package/node_modules/@allyhub-next/export/dist/deck-pptx.js +2 -0
  83. package/node_modules/@allyhub-next/export/dist/export.d.ts +12 -3
  84. package/node_modules/@allyhub-next/export/dist/export.js +2 -2
  85. package/node_modules/@allyhub-next/export/dist/index.d.ts +1 -0
  86. package/node_modules/@allyhub-next/export/dist/index.js +1 -1
  87. package/node_modules/@allyhub-next/export/dist/names.d.ts +11 -6
  88. package/node_modules/@allyhub-next/export/dist/names.js +1 -1
  89. package/node_modules/@allyhub-next/export/package.json +1 -1
  90. package/node_modules/@allyhub-next/formats/dist/data/script.d.ts +22 -0
  91. package/node_modules/@allyhub-next/formats/dist/data/script.js +1 -1
  92. package/node_modules/@allyhub-next/formats/dist/data/slides.d.ts +1494 -0
  93. package/node_modules/@allyhub-next/formats/dist/data/slides.js +2 -0
  94. package/node_modules/@allyhub-next/formats/dist/index.d.ts +2 -0
  95. package/node_modules/@allyhub-next/formats/dist/index.js +1 -1
  96. package/node_modules/@allyhub-next/formats/dist/items.d.ts +21 -0
  97. package/node_modules/@allyhub-next/formats/dist/items.js +1 -1
  98. package/node_modules/@allyhub-next/formats/dist/note-shape.d.ts +39 -0
  99. package/node_modules/@allyhub-next/formats/dist/note-shape.js +2 -0
  100. package/node_modules/@allyhub-next/formats/dist/schemas.d.ts +418 -0
  101. package/node_modules/@allyhub-next/formats/dist/schemas.js +1 -1
  102. package/node_modules/@allyhub-next/formats/package.json +1 -1
  103. package/node_modules/@allyhub-next/measure/dist/index.d.ts +1 -1
  104. package/node_modules/@allyhub-next/measure/dist/index.js +1 -1
  105. package/node_modules/@allyhub-next/measure/dist/overlay.d.ts +14 -1
  106. package/node_modules/@allyhub-next/measure/dist/overlay.js +1 -1
  107. package/node_modules/@allyhub-next/measure/package.json +1 -1
  108. package/node_modules/@allyhub-next/media/dist/asr/parakeet.d.ts +1 -4
  109. package/node_modules/@allyhub-next/media/dist/asr/parakeet.js +4 -4
  110. package/node_modules/@allyhub-next/media/dist/asr/transcribe.d.ts +1 -1
  111. package/node_modules/@allyhub-next/media/dist/asr/transcribe.js +1 -1
  112. package/node_modules/@allyhub-next/media/dist/grid.d.ts +3 -3
  113. package/node_modules/@allyhub-next/media/dist/grid.js +5 -5
  114. package/node_modules/@allyhub-next/media/dist/local.d.ts +3 -0
  115. package/node_modules/@allyhub-next/media/dist/local.js +1 -1
  116. package/node_modules/@allyhub-next/media/dist/ocr/tesseract.d.ts +8 -2
  117. package/node_modules/@allyhub-next/media/dist/ocr/tesseract.js +1 -1
  118. package/node_modules/@allyhub-next/media/dist/ocr/text.js +3 -3
  119. package/node_modules/@allyhub-next/media/dist/ocr/worker.js +1 -1
  120. package/node_modules/@allyhub-next/media/dist/sheet.js +3 -3
  121. package/node_modules/@allyhub-next/media/dist/tools.d.ts +11 -1
  122. package/node_modules/@allyhub-next/media/dist/tools.js +1 -1
  123. package/node_modules/@allyhub-next/media/dist/vision/faces.js +1 -1
  124. package/node_modules/@allyhub-next/media/dist/vision/matte.js +1 -1
  125. package/node_modules/@allyhub-next/media/dist/vision/runtime.d.ts +1 -1
  126. package/node_modules/@allyhub-next/media/dist/vision/runtime.js +2 -2
  127. package/node_modules/@allyhub-next/media/dist/worker-process.d.ts +1 -1
  128. package/node_modules/@allyhub-next/media/dist/worker-process.js +1 -1
  129. package/node_modules/@allyhub-next/media/package.json +1 -1
  130. package/node_modules/@allyhub-next/model/dist/build-job.d.ts +2 -0
  131. package/node_modules/@allyhub-next/model/dist/build-worker.js +1 -1
  132. package/node_modules/@allyhub-next/model/dist/build.d.ts +10 -0
  133. package/node_modules/@allyhub-next/model/dist/build.js +2 -1
  134. package/node_modules/@allyhub-next/model/package.json +1 -1
  135. package/node_modules/@allyhub-next/project/dist/digest.d.ts +1 -3
  136. package/node_modules/@allyhub-next/project/dist/digest.js +1 -1
  137. package/node_modules/@allyhub-next/project/dist/page.d.ts +0 -5
  138. package/node_modules/@allyhub-next/project/dist/page.js +2 -2
  139. package/node_modules/@allyhub-next/project/dist/session.js +1 -1
  140. package/node_modules/@allyhub-next/project/package.json +1 -1
  141. package/node_modules/@allyhub-next/protocol/dist/app.d.ts +0 -64
  142. package/node_modules/@allyhub-next/protocol/dist/app.js +1 -1
  143. package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +0 -17
  144. package/node_modules/@allyhub-next/protocol/dist/auth.js +1 -1
  145. package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +0 -4
  146. package/node_modules/@allyhub-next/protocol/dist/cli.js +1 -1
  147. package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +9 -26
  148. package/node_modules/@allyhub-next/protocol/dist/editor.js +1 -1
  149. package/node_modules/@allyhub-next/protocol/dist/index.d.ts +1 -0
  150. package/node_modules/@allyhub-next/protocol/dist/index.js +1 -1
  151. package/node_modules/@allyhub-next/protocol/dist/notes.d.ts +163 -0
  152. package/node_modules/@allyhub-next/protocol/dist/notes.js +2 -0
  153. package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +1 -1
  154. package/node_modules/@allyhub-next/protocol/dist/runtimes.d.ts +3 -0
  155. package/node_modules/@allyhub-next/protocol/dist/runtimes.js +1 -1
  156. package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +37 -0
  157. package/node_modules/@allyhub-next/protocol/dist/tools.js +1 -1
  158. package/node_modules/@allyhub-next/protocol/package.json +1 -1
  159. package/node_modules/@allyhub-next/registry/dist/registry.js +1 -1
  160. package/node_modules/@allyhub-next/registry/package.json +1 -1
  161. package/node_modules/@allyhub-next/render/dist/doc/index.d.ts +1 -1
  162. package/node_modules/@allyhub-next/render/dist/doc/index.js +1 -1
  163. package/node_modules/@allyhub-next/render/dist/doc/print.d.ts +11 -0
  164. package/node_modules/@allyhub-next/render/dist/doc/print.js +17 -1
  165. package/node_modules/@allyhub-next/render/dist/exports.d.ts +29 -4
  166. package/node_modules/@allyhub-next/render/dist/exports.js +2 -2
  167. package/node_modules/@allyhub-next/render/dist/page.d.ts +11 -1
  168. package/node_modules/@allyhub-next/render/dist/render.d.ts +2 -0
  169. package/node_modules/@allyhub-next/render/dist/render.js +2 -2
  170. package/node_modules/@allyhub-next/render/package.json +1 -1
  171. package/node_modules/@allyhub-next/runtime/LICENSE +241 -0
  172. package/node_modules/@allyhub-next/runtime/dist/bridge.d.ts +13 -3
  173. package/node_modules/@allyhub-next/runtime/dist/clock.js +1 -1
  174. package/node_modules/@allyhub-next/runtime/dist/env.js +1 -1
  175. package/node_modules/@allyhub-next/runtime/dist/facade.js +1 -1
  176. package/node_modules/@allyhub-next/runtime/dist/footage.js +1 -1
  177. package/node_modules/@allyhub-next/runtime/dist/frame.js +1 -1
  178. package/node_modules/@allyhub-next/runtime/dist/index.d.ts +2 -0
  179. package/node_modules/@allyhub-next/runtime/dist/index.js +1 -1
  180. package/node_modules/@allyhub-next/runtime/dist/locate.d.ts +11 -0
  181. package/node_modules/@allyhub-next/runtime/dist/locate.js +2 -0
  182. package/node_modules/@allyhub-next/runtime/dist/measure.d.ts +2 -1
  183. package/node_modules/@allyhub-next/runtime/dist/measure.js +1 -1
  184. package/node_modules/@allyhub-next/runtime/dist/music.js +1 -1
  185. package/node_modules/@allyhub-next/runtime/dist/output.js +1 -1
  186. package/node_modules/@allyhub-next/runtime/dist/piece.d.ts +5 -9
  187. package/node_modules/@allyhub-next/runtime/dist/piece.js +2 -2
  188. package/node_modules/@allyhub-next/runtime/dist/player/player.js +1 -1
  189. package/node_modules/@allyhub-next/runtime/dist/reads.d.ts +2 -0
  190. package/node_modules/@allyhub-next/runtime/dist/reads.js +1 -1
  191. package/node_modules/@allyhub-next/runtime/dist/sound.js +1 -1
  192. package/node_modules/@allyhub-next/runtime/dist/stage-kit.d.ts +12 -0
  193. package/node_modules/@allyhub-next/runtime/dist/stage-kit.js +2 -0
  194. package/node_modules/@allyhub-next/runtime/package.json +5 -6
  195. package/node_modules/@allyhub-next/runtimes/dist/errors.d.ts +5 -1
  196. package/node_modules/@allyhub-next/runtimes/dist/index.d.ts +1 -0
  197. package/node_modules/@allyhub-next/runtimes/dist/index.js +1 -1
  198. package/node_modules/@allyhub-next/runtimes/dist/node-program.d.ts +3 -0
  199. package/node_modules/@allyhub-next/runtimes/dist/node-program.js +2 -0
  200. package/node_modules/@allyhub-next/runtimes/dist/packages.d.ts +65 -0
  201. package/node_modules/@allyhub-next/runtimes/dist/packages.js +4 -0
  202. package/node_modules/@allyhub-next/runtimes/dist/runtimes.js +2 -2
  203. package/node_modules/@allyhub-next/runtimes/dist/unpack.d.ts +7 -0
  204. package/node_modules/@allyhub-next/runtimes/dist/unpack.js +1 -1
  205. package/node_modules/@allyhub-next/runtimes/package.json +5 -1
  206. package/node_modules/@allyhub-next/runtimes/pins/docx/package-lock.json +67 -0
  207. package/node_modules/@allyhub-next/runtimes/pins/docx/package.json +9 -0
  208. package/node_modules/@allyhub-next/runtimes/pins/exceljs/package-lock.json +2533 -0
  209. package/node_modules/@allyhub-next/runtimes/pins/exceljs/package.json +8 -0
  210. package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package-lock.json +753 -0
  211. package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package.json +14 -0
  212. package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package-lock.json +950 -0
  213. package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package.json +8 -0
  214. package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package-lock.json +227 -0
  215. package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package.json +8 -0
  216. package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package-lock.json +105 -0
  217. package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package.json +8 -0
  218. package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package-lock.json +128 -0
  219. package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package.json +9 -0
  220. package/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +5 -24
  221. package/node_modules/@allyhub-next/scaffold/dist/index.js +3 -3
  222. package/node_modules/@allyhub-next/scaffold/package.json +1 -1
  223. package/node_modules/@allyhub-next/scenery/package.json +1 -1
  224. package/node_modules/@allyhub-next/scenery-host/dist/bundle.d.ts +2 -2
  225. package/node_modules/@allyhub-next/scenery-host/dist/bundle.js +3 -3
  226. package/node_modules/@allyhub-next/scenery-host/dist/viewer.d.ts +11 -0
  227. package/node_modules/@allyhub-next/scenery-host/dist/viewer.js +1 -1
  228. package/node_modules/@allyhub-next/scenery-host/package.json +1 -1
  229. package/node_modules/@allyhub-next/sheet/package.json +1 -1
  230. package/node_modules/@allyhub-next/site/dist/media.js +2 -2
  231. package/node_modules/@allyhub-next/site/package.json +1 -1
  232. package/node_modules/@allyhub-next/slides-core/LICENSE +241 -0
  233. package/node_modules/@allyhub-next/slides-core/dist/animation.d.ts +129 -0
  234. package/node_modules/@allyhub-next/slides-core/dist/animation.js +2 -0
  235. package/node_modules/@allyhub-next/slides-core/dist/api.d.ts +649 -0
  236. package/node_modules/@allyhub-next/slides-core/dist/api.js +4 -0
  237. package/node_modules/@allyhub-next/slides-core/dist/capabilities.d.ts +18 -0
  238. package/node_modules/@allyhub-next/slides-core/dist/capabilities.js +2 -0
  239. package/node_modules/@allyhub-next/slides-core/dist/chart-api.d.ts +165 -0
  240. package/node_modules/@allyhub-next/slides-core/dist/chart-api.js +2 -0
  241. package/node_modules/@allyhub-next/slides-core/dist/chart-file.d.ts +11 -0
  242. package/node_modules/@allyhub-next/slides-core/dist/chart-file.js +2 -0
  243. package/node_modules/@allyhub-next/slides-core/dist/chart.d.ts +184 -0
  244. package/node_modules/@allyhub-next/slides-core/dist/chart.js +2 -0
  245. package/node_modules/@allyhub-next/slides-core/dist/check.d.ts +7 -0
  246. package/node_modules/@allyhub-next/slides-core/dist/check.js +2 -0
  247. package/node_modules/@allyhub-next/slides-core/dist/enums.d.ts +146 -0
  248. package/node_modules/@allyhub-next/slides-core/dist/enums.js +2 -0
  249. package/node_modules/@allyhub-next/slides-core/dist/file.d.ts +109 -0
  250. package/node_modules/@allyhub-next/slides-core/dist/file.js +4 -0
  251. package/node_modules/@allyhub-next/slides-core/dist/index.d.ts +21 -0
  252. package/node_modules/@allyhub-next/slides-core/dist/index.js +2 -0
  253. package/node_modules/@allyhub-next/slides-core/dist/measure.d.ts +34 -0
  254. package/node_modules/@allyhub-next/slides-core/dist/measure.js +2 -0
  255. package/node_modules/@allyhub-next/slides-core/dist/model.d.ts +278 -0
  256. package/node_modules/@allyhub-next/slides-core/dist/model.js +2 -0
  257. package/node_modules/@allyhub-next/slides-core/dist/office.d.ts +58 -0
  258. package/node_modules/@allyhub-next/slides-core/dist/office.js +2 -0
  259. package/node_modules/@allyhub-next/slides-core/dist/path.d.ts +6 -0
  260. package/node_modules/@allyhub-next/slides-core/dist/path.js +2 -0
  261. package/node_modules/@allyhub-next/slides-core/dist/placeholders.d.ts +7 -0
  262. package/node_modules/@allyhub-next/slides-core/dist/placeholders.js +2 -0
  263. package/node_modules/@allyhub-next/slides-core/dist/resolve.d.ts +181 -0
  264. package/node_modules/@allyhub-next/slides-core/dist/resolve.js +2 -0
  265. package/node_modules/@allyhub-next/slides-core/dist/script.d.ts +43 -0
  266. package/node_modules/@allyhub-next/slides-core/dist/script.js +3 -0
  267. package/node_modules/@allyhub-next/slides-core/dist/stage.d.ts +63 -0
  268. package/node_modules/@allyhub-next/slides-core/dist/stage.js +2 -0
  269. package/node_modules/@allyhub-next/slides-core/dist/strict.d.ts +23 -0
  270. package/node_modules/@allyhub-next/slides-core/dist/strict.js +2 -0
  271. package/node_modules/@allyhub-next/slides-core/dist/theme.d.ts +72 -0
  272. package/node_modules/@allyhub-next/slides-core/dist/theme.js +2 -0
  273. package/node_modules/@allyhub-next/slides-core/dist/units.d.ts +35 -0
  274. package/node_modules/@allyhub-next/slides-core/dist/units.js +2 -0
  275. package/node_modules/@allyhub-next/slides-core/package.json +14 -0
  276. package/node_modules/@allyhub-next/slides-pptx/LICENSE +241 -0
  277. package/node_modules/@allyhub-next/slides-pptx/dist/charts.d.ts +6 -0
  278. package/node_modules/@allyhub-next/slides-pptx/dist/charts.js +2 -0
  279. package/node_modules/@allyhub-next/slides-pptx/dist/fonts.d.ts +45 -0
  280. package/node_modules/@allyhub-next/slides-pptx/dist/fonts.js +2 -0
  281. package/node_modules/@allyhub-next/slides-pptx/dist/import.d.ts +18 -0
  282. package/node_modules/@allyhub-next/slides-pptx/dist/import.js +3 -0
  283. package/node_modules/@allyhub-next/slides-pptx/dist/index.d.ts +5 -0
  284. package/node_modules/@allyhub-next/slides-pptx/dist/index.js +2 -0
  285. package/node_modules/@allyhub-next/slides-pptx/dist/read.d.ts +55 -0
  286. package/node_modules/@allyhub-next/slides-pptx/dist/read.js +4 -0
  287. package/node_modules/@allyhub-next/slides-pptx/dist/shapes.d.ts +67 -0
  288. package/node_modules/@allyhub-next/slides-pptx/dist/shapes.js +2 -0
  289. package/node_modules/@allyhub-next/slides-pptx/dist/text.d.ts +21 -0
  290. package/node_modules/@allyhub-next/slides-pptx/dist/text.js +2 -0
  291. package/node_modules/@allyhub-next/slides-pptx/dist/theme.d.ts +4 -0
  292. package/node_modules/@allyhub-next/slides-pptx/dist/theme.js +2 -0
  293. package/node_modules/@allyhub-next/slides-pptx/dist/timing.d.ts +32 -0
  294. package/node_modules/@allyhub-next/slides-pptx/dist/timing.js +2 -0
  295. package/node_modules/@allyhub-next/slides-pptx/dist/write.d.ts +32 -0
  296. package/node_modules/@allyhub-next/slides-pptx/dist/write.js +3 -0
  297. package/node_modules/@allyhub-next/slides-pptx/dist/xml.d.ts +26 -0
  298. package/node_modules/@allyhub-next/slides-pptx/dist/xml.js +3 -0
  299. package/node_modules/@allyhub-next/slides-pptx/package.json +14 -0
  300. package/node_modules/@allyhub-next/slides-runtime/LICENSE +241 -0
  301. package/node_modules/@allyhub-next/slides-runtime/dist/draw.d.ts +40 -0
  302. package/node_modules/@allyhub-next/slides-runtime/dist/draw.js +3 -0
  303. package/node_modules/@allyhub-next/slides-runtime/dist/edit.d.ts +4 -0
  304. package/node_modules/@allyhub-next/slides-runtime/dist/edit.js +2 -0
  305. package/node_modules/@allyhub-next/slides-runtime/dist/index.d.ts +4 -0
  306. package/node_modules/@allyhub-next/slides-runtime/dist/index.js +2 -0
  307. package/node_modules/@allyhub-next/slides-runtime/dist/ink.d.ts +10 -0
  308. package/node_modules/@allyhub-next/slides-runtime/dist/ink.js +2 -0
  309. package/node_modules/@allyhub-next/slides-runtime/dist/load.d.ts +6 -0
  310. package/node_modules/@allyhub-next/slides-runtime/dist/load.js +6 -0
  311. package/node_modules/@allyhub-next/slides-runtime/package.json +14 -0
  312. package/node_modules/@allyhub-next/stage/dist/graphics.js +1 -1
  313. package/node_modules/@allyhub-next/stage/dist/identity.js +1 -1
  314. package/node_modules/@allyhub-next/stage/dist/page.d.ts +9 -0
  315. package/node_modules/@allyhub-next/stage/dist/page.js +12 -2
  316. package/node_modules/@allyhub-next/stage/dist/server.js +1 -1
  317. package/node_modules/@allyhub-next/stage/package.json +1 -1
  318. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400-italic.css +79 -0
  319. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400.css +79 -0
  320. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700-italic.css +79 -0
  321. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700.css +79 -0
  322. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/LICENSE +93 -0
  323. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/arial.css +316 -0
  324. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-italic.woff2 +0 -0
  325. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-normal.woff2 +0 -0
  326. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-italic.woff2 +0 -0
  327. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-normal.woff2 +0 -0
  328. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-italic.woff2 +0 -0
  329. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-normal.woff2 +0 -0
  330. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-italic.woff2 +0 -0
  331. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-normal.woff2 +0 -0
  332. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-italic.woff2 +0 -0
  333. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-normal.woff2 +0 -0
  334. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-italic.woff2 +0 -0
  335. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-normal.woff2 +0 -0
  336. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-italic.woff2 +0 -0
  337. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-normal.woff2 +0 -0
  338. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-italic.woff2 +0 -0
  339. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-normal.woff2 +0 -0
  340. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-italic.woff2 +0 -0
  341. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-normal.woff2 +0 -0
  342. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-italic.woff2 +0 -0
  343. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-normal.woff2 +0 -0
  344. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-italic.woff2 +0 -0
  345. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-normal.woff2 +0 -0
  346. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-italic.woff2 +0 -0
  347. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-normal.woff2 +0 -0
  348. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-italic.woff2 +0 -0
  349. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-normal.woff2 +0 -0
  350. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-italic.woff2 +0 -0
  351. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-normal.woff2 +0 -0
  352. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-italic.woff2 +0 -0
  353. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-normal.woff2 +0 -0
  354. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-italic.woff2 +0 -0
  355. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-normal.woff2 +0 -0
  356. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400-italic.css +69 -0
  357. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400.css +69 -0
  358. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700-italic.css +69 -0
  359. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700.css +69 -0
  360. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/LICENSE +93 -0
  361. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/calibri.css +276 -0
  362. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-italic.woff2 +0 -0
  363. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-normal.woff2 +0 -0
  364. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-italic.woff2 +0 -0
  365. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-normal.woff2 +0 -0
  366. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-italic.woff2 +0 -0
  367. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-normal.woff2 +0 -0
  368. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-italic.woff2 +0 -0
  369. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-normal.woff2 +0 -0
  370. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-italic.woff2 +0 -0
  371. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-normal.woff2 +0 -0
  372. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-italic.woff2 +0 -0
  373. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-normal.woff2 +0 -0
  374. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-italic.woff2 +0 -0
  375. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-normal.woff2 +0 -0
  376. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-italic.woff2 +0 -0
  377. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-normal.woff2 +0 -0
  378. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-italic.woff2 +0 -0
  379. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-normal.woff2 +0 -0
  380. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-italic.woff2 +0 -0
  381. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-normal.woff2 +0 -0
  382. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-italic.woff2 +0 -0
  383. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-normal.woff2 +0 -0
  384. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-italic.woff2 +0 -0
  385. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-normal.woff2 +0 -0
  386. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-italic.woff2 +0 -0
  387. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-normal.woff2 +0 -0
  388. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-italic.woff2 +0 -0
  389. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-normal.woff2 +0 -0
  390. package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/400.css +1 -1
  391. package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/700.css +1 -1
  392. package/node_modules/@allyhub-next/stage-page/dist/fonts/noto-sans-sc/microsoft-yahei.css +2018 -0
  393. package/node_modules/@allyhub-next/stage-page/dist/host.js +21 -0
  394. package/node_modules/@allyhub-next/stage-page/dist/page.js +79 -0
  395. package/node_modules/@allyhub-next/stage-page/package.json +14 -0
  396. package/node_modules/@allyhub-next/video-core/dist/export.d.ts +6 -5
  397. package/node_modules/@allyhub-next/video-core/dist/export.js +1 -1
  398. package/node_modules/@allyhub-next/video-core/dist/fact.d.ts +173 -4
  399. package/node_modules/@allyhub-next/video-core/dist/fact.js +1 -1
  400. package/node_modules/@allyhub-next/video-core/dist/formats.d.ts +6 -13
  401. package/node_modules/@allyhub-next/video-core/dist/formats.js +1 -1
  402. package/node_modules/@allyhub-next/video-core/dist/index.d.ts +0 -1
  403. package/node_modules/@allyhub-next/video-core/dist/index.js +1 -1
  404. package/node_modules/@allyhub-next/video-core/dist/measure.d.ts +83 -0
  405. package/node_modules/@allyhub-next/video-core/dist/piece.d.ts +8 -9
  406. package/node_modules/@allyhub-next/video-core/dist/piece.js +1 -1
  407. package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +5 -1
  408. package/node_modules/@allyhub-next/video-core/dist/problem.js +1 -1
  409. package/node_modules/@allyhub-next/video-core/dist/schema.d.ts +0 -2
  410. package/node_modules/@allyhub-next/video-core/dist/script-edit.d.ts +4 -0
  411. package/node_modules/@allyhub-next/video-core/dist/script.d.ts +8 -0
  412. package/node_modules/@allyhub-next/video-core/dist/script.js +1 -1
  413. package/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +34 -1
  414. package/node_modules/@allyhub-next/video-core/package.json +1 -1
  415. package/package.json +48 -41
  416. package/dist/commands/mcp-app.js +0 -3
  417. package/dist/commands/mcp-docs.js +0 -2
  418. package/dist/commands/mcp.js +0 -2
  419. package/editor-app/view.html +0 -128
  420. package/editor-web/assets/chevron-left-W6sP7nB1.js +0 -1
  421. package/editor-web/assets/chevron-up-566GQpAm.js +0 -1
  422. package/editor-web/assets/dist-BKDr73BR.js +0 -136
  423. package/editor-web/assets/dist-CPCNTYVu.js +0 -8
  424. package/editor-web/assets/dist-C_NajYp0.js +0 -1
  425. package/editor-web/assets/dist-mA6NrAKh.js +0 -232
  426. package/editor-web/assets/floating-ui.react-dom-BUxFRF6t.js +0 -1
  427. package/editor-web/assets/index-CFZhjTQW.js +0 -56
  428. package/editor-web/assets/index-DgU-lyX6.css +0 -2
  429. package/editor-web/assets/react-Ff_buMj8.js +0 -61
  430. package/editor-web/assets/undo-2-BKFItM3X.js +0 -1
  431. package/node_modules/@allyhub-next/runtime/dist/host.js +0 -21
  432. package/node_modules/@allyhub-next/runtime/dist/page.js +0 -72
  433. package/node_modules/@allyhub-next/runtime/dist/paged.d.ts +0 -16
  434. package/node_modules/@allyhub-next/runtime/dist/paged.js +0 -2
  435. package/node_modules/@allyhub-next/video-core/dist/slides.d.ts +0 -37
  436. package/node_modules/@allyhub-next/video-core/dist/slides.js +0 -2
  437. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/LICENSE +0 -0
  438. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/emoji.css +0 -0
  439. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/files/noto-color-emoji-emoji-400-normal.woff2 +0 -0
  440. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/LICENSE +0 -0
  441. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-400-normal.woff2 +0 -0
  442. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-700-normal.woff2 +0 -0
  443. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-400-normal.woff2 +0 -0
  444. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-700-normal.woff2 +0 -0
  445. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-400-normal.woff2 +0 -0
  446. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-700-normal.woff2 +0 -0
  447. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-400-normal.woff2 +0 -0
  448. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-700-normal.woff2 +0 -0
  449. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-400-normal.woff2 +0 -0
  450. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-700-normal.woff2 +0 -0
  451. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-400-normal.woff2 +0 -0
  452. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-700-normal.woff2 +0 -0
  453. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-400-normal.woff2 +0 -0
  454. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-700-normal.woff2 +0 -0
  455. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-400-normal.woff2 +0 -0
  456. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-700-normal.woff2 +0 -0
  457. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-400-normal.woff2 +0 -0
  458. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-700-normal.woff2 +0 -0
  459. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-400-normal.woff2 +0 -0
  460. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-700-normal.woff2 +0 -0
  461. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-400-normal.woff2 +0 -0
  462. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-700-normal.woff2 +0 -0
  463. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-400-normal.woff2 +0 -0
  464. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-700-normal.woff2 +0 -0
  465. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-400-normal.woff2 +0 -0
  466. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-700-normal.woff2 +0 -0
  467. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-400-normal.woff2 +0 -0
  468. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-700-normal.woff2 +0 -0
  469. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-400-normal.woff2 +0 -0
  470. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-700-normal.woff2 +0 -0
  471. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-400-normal.woff2 +0 -0
  472. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-700-normal.woff2 +0 -0
  473. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-400-normal.woff2 +0 -0
  474. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-700-normal.woff2 +0 -0
  475. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-400-normal.woff2 +0 -0
  476. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-700-normal.woff2 +0 -0
  477. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-400-normal.woff2 +0 -0
  478. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-700-normal.woff2 +0 -0
  479. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-400-normal.woff2 +0 -0
  480. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-700-normal.woff2 +0 -0
  481. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-400-normal.woff2 +0 -0
  482. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-700-normal.woff2 +0 -0
  483. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-400-normal.woff2 +0 -0
  484. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-700-normal.woff2 +0 -0
  485. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-400-normal.woff2 +0 -0
  486. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-700-normal.woff2 +0 -0
  487. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-400-normal.woff2 +0 -0
  488. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-700-normal.woff2 +0 -0
  489. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-400-normal.woff2 +0 -0
  490. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-700-normal.woff2 +0 -0
  491. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-400-normal.woff2 +0 -0
  492. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-700-normal.woff2 +0 -0
  493. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-400-normal.woff2 +0 -0
  494. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-700-normal.woff2 +0 -0
  495. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-400-normal.woff2 +0 -0
  496. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-700-normal.woff2 +0 -0
  497. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-400-normal.woff2 +0 -0
  498. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-700-normal.woff2 +0 -0
  499. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-400-normal.woff2 +0 -0
  500. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-700-normal.woff2 +0 -0
  501. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-400-normal.woff2 +0 -0
  502. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-700-normal.woff2 +0 -0
  503. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-400-normal.woff2 +0 -0
  504. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-700-normal.woff2 +0 -0
  505. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-400-normal.woff2 +0 -0
  506. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-700-normal.woff2 +0 -0
  507. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-400-normal.woff2 +0 -0
  508. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-700-normal.woff2 +0 -0
  509. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-400-normal.woff2 +0 -0
  510. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-700-normal.woff2 +0 -0
  511. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-400-normal.woff2 +0 -0
  512. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-700-normal.woff2 +0 -0
  513. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-400-normal.woff2 +0 -0
  514. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-700-normal.woff2 +0 -0
  515. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-400-normal.woff2 +0 -0
  516. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-700-normal.woff2 +0 -0
  517. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-400-normal.woff2 +0 -0
  518. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-700-normal.woff2 +0 -0
  519. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-400-normal.woff2 +0 -0
  520. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-700-normal.woff2 +0 -0
  521. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-400-normal.woff2 +0 -0
  522. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-700-normal.woff2 +0 -0
  523. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-400-normal.woff2 +0 -0
  524. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-700-normal.woff2 +0 -0
  525. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-400-normal.woff2 +0 -0
  526. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-700-normal.woff2 +0 -0
  527. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-400-normal.woff2 +0 -0
  528. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-700-normal.woff2 +0 -0
  529. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-400-normal.woff2 +0 -0
  530. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-700-normal.woff2 +0 -0
  531. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-400-normal.woff2 +0 -0
  532. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-700-normal.woff2 +0 -0
  533. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-400-normal.woff2 +0 -0
  534. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-700-normal.woff2 +0 -0
  535. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-400-normal.woff2 +0 -0
  536. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-700-normal.woff2 +0 -0
  537. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-400-normal.woff2 +0 -0
  538. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-700-normal.woff2 +0 -0
  539. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-400-normal.woff2 +0 -0
  540. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-700-normal.woff2 +0 -0
  541. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-400-normal.woff2 +0 -0
  542. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-700-normal.woff2 +0 -0
  543. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-400-normal.woff2 +0 -0
  544. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-700-normal.woff2 +0 -0
  545. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-400-normal.woff2 +0 -0
  546. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-700-normal.woff2 +0 -0
  547. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-400-normal.woff2 +0 -0
  548. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-700-normal.woff2 +0 -0
  549. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-400-normal.woff2 +0 -0
  550. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-700-normal.woff2 +0 -0
  551. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-400-normal.woff2 +0 -0
  552. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-700-normal.woff2 +0 -0
  553. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-400-normal.woff2 +0 -0
  554. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-700-normal.woff2 +0 -0
  555. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-400-normal.woff2 +0 -0
  556. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-700-normal.woff2 +0 -0
  557. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-400-normal.woff2 +0 -0
  558. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-700-normal.woff2 +0 -0
  559. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-400-normal.woff2 +0 -0
  560. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-700-normal.woff2 +0 -0
  561. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-400-normal.woff2 +0 -0
  562. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-700-normal.woff2 +0 -0
  563. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-400-normal.woff2 +0 -0
  564. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-700-normal.woff2 +0 -0
  565. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-400-normal.woff2 +0 -0
  566. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-700-normal.woff2 +0 -0
  567. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-400-normal.woff2 +0 -0
  568. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-700-normal.woff2 +0 -0
  569. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-400-normal.woff2 +0 -0
  570. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-700-normal.woff2 +0 -0
  571. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-400-normal.woff2 +0 -0
  572. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-700-normal.woff2 +0 -0
  573. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-400-normal.woff2 +0 -0
  574. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-700-normal.woff2 +0 -0
  575. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-400-normal.woff2 +0 -0
  576. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-700-normal.woff2 +0 -0
  577. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-400-normal.woff2 +0 -0
  578. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-700-normal.woff2 +0 -0
  579. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-400-normal.woff2 +0 -0
  580. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-700-normal.woff2 +0 -0
  581. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-400-normal.woff2 +0 -0
  582. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-700-normal.woff2 +0 -0
  583. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-400-normal.woff2 +0 -0
  584. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-700-normal.woff2 +0 -0
  585. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-400-normal.woff2 +0 -0
  586. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-700-normal.woff2 +0 -0
  587. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-400-normal.woff2 +0 -0
  588. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-700-normal.woff2 +0 -0
  589. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-400-normal.woff2 +0 -0
  590. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-700-normal.woff2 +0 -0
  591. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-400-normal.woff2 +0 -0
  592. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-700-normal.woff2 +0 -0
  593. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-400-normal.woff2 +0 -0
  594. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-700-normal.woff2 +0 -0
  595. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-400-normal.woff2 +0 -0
  596. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-700-normal.woff2 +0 -0
  597. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-400-normal.woff2 +0 -0
  598. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-700-normal.woff2 +0 -0
  599. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-400-normal.woff2 +0 -0
  600. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-700-normal.woff2 +0 -0
  601. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-400-normal.woff2 +0 -0
  602. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-700-normal.woff2 +0 -0
  603. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-400-normal.woff2 +0 -0
  604. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-700-normal.woff2 +0 -0
  605. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-400-normal.woff2 +0 -0
  606. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-700-normal.woff2 +0 -0
  607. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-400-normal.woff2 +0 -0
  608. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-700-normal.woff2 +0 -0
  609. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-400-normal.woff2 +0 -0
  610. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-700-normal.woff2 +0 -0
  611. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-400-normal.woff2 +0 -0
  612. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-700-normal.woff2 +0 -0
  613. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-400-normal.woff2 +0 -0
  614. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-700-normal.woff2 +0 -0
  615. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-400-normal.woff2 +0 -0
  616. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-700-normal.woff2 +0 -0
  617. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-400-normal.woff2 +0 -0
  618. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-700-normal.woff2 +0 -0
  619. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-400-normal.woff2 +0 -0
  620. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-700-normal.woff2 +0 -0
  621. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-400-normal.woff2 +0 -0
  622. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-700-normal.woff2 +0 -0
  623. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-400-normal.woff2 +0 -0
  624. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-700-normal.woff2 +0 -0
  625. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-400-normal.woff2 +0 -0
  626. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-700-normal.woff2 +0 -0
  627. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-400-normal.woff2 +0 -0
  628. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-700-normal.woff2 +0 -0
  629. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-400-normal.woff2 +0 -0
  630. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-700-normal.woff2 +0 -0
  631. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-400-normal.woff2 +0 -0
  632. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-700-normal.woff2 +0 -0
  633. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-400-normal.woff2 +0 -0
  634. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-700-normal.woff2 +0 -0
  635. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-400-normal.woff2 +0 -0
  636. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-700-normal.woff2 +0 -0
  637. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-400-normal.woff2 +0 -0
  638. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-700-normal.woff2 +0 -0
  639. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-400-normal.woff2 +0 -0
  640. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-700-normal.woff2 +0 -0
  641. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-400-normal.woff2 +0 -0
  642. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-700-normal.woff2 +0 -0
  643. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/host.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- import{FACT_KINDS as z,comboKey as _}from"@allyhub-next/video-core";import{plural as y}from"./plural.js";const L=o=>`"${o.length>40?`${o.slice(0,40)}…`:o}"`,g=o=>`[${o.join(",")}]`,u=o=>`${String(Math.round(o*100))}%`,B=o=>`${(o*100).toFixed(1)}%`,b=o=>`${String(Math.round(o*1e4)/100)}%`,$=o=>o.toFixed(2),x=o=>`${o.layer}${o.z==="behind-person"?" (behind)":o.z==="overlay"?" (overlay)":""} ${L(o.text)} ${g(o.box)}${o.opacity===void 0?"":` at ${u(o.opacity)} opacity`}`,E=o=>x({...o,box:o.ink??o.box});function G(o){return o.output===void 0?o.piece:[o.piece,o.combo?_(o.combo):void 0,o.format].filter(e=>e!==void 0&&e!=="").join(" · ")}function j(o,e,t){const n=k(o,e.start),s=o.t===void 0?0:o.t-e.start;return{line:`${e.layer} ${n(e.start)}–${n(e.end)} s: ${t}`,alike:{what:`${e.layer}: ${t}`,span:[e.start+s,e.end+s]}}}function K(o){switch(o.kind){case"text-speaker":{const e=o.data,t=[e.face?`covers ${u(e.face.ofFace)} of the face ${g(e.face.box)} (${u(e.face.ofText)} of the text's box)`:"",e.person?`${u(e.person.ofText)} of the text's box over the person (${e.person.file})`:""].filter(Boolean);return{key:`${e.text.layer}|${e.text.text}`,value:Math.max(e.face?.ofFace??0,e.person?.ofText??0),line:`${x(e.text)}: ${t.join("; ")}`}}case"text-off-frame":{const e=o.data;return{key:`${e.text.layer}|${e.text.text}`,value:e.share,line:`${x({...e.text,box:e.glyphs})}: ${b(e.share)} of its glyphs outside the ${String(e.frame[0])}×${String(e.frame[1])} frame (${String(e.outside)} px), ${e.edges.map(t=>`${String(t.px)} px past the ${t.side}`).join(", ")}`}}case"text-contrast":{const e=o.data,t=`${String(e.size)} px, weight ${String(e.weight)}${e.shadow?", a shadow":""}${e.stroke?", a stroke":""}`,n=e.footage?`; footage under it, not drawn here: ${e.footage.join(", ")}`:"";if("missing"in e)return{key:`${e.text.layer}|${e.text.text}`,value:0,line:`${x(e.text)}: not measured (${e.missing}: ${e.why}; ${t})${n}`};const s=r=>`${r.toFixed(2)}:1`;return{key:`${e.text.layer}|${e.text.text}`,value:1/Math.max(1,e.ratio.min),line:`${x(e.text)}: ${s(e.ratio.min)} lowest, ${s(e.ratio.low)} at the ${String(e.options.percentile)}th percentile, ${s(e.ratio.median)} median; ${e.fill.join(", ")} over ${e.background.median} (median; ${e.background.atMin} at the lowest), ${t}${e.under?` (its outline counted behind it; under the outline ${s(e.under.ratio.min)} lowest, ${s(e.under.ratio.median)} median, over ${e.under.background.median})`:""}, ${String(e.pixels)} px${e.picture==="final"?", final picture":""}${n}`}}case"text-covered":{const e=o.data,t=e.covered;return{key:`${e.text.layer}|${e.text.text}`,value:Math.max(...e.edges.map(n=>n.px)),line:`${x(e.text)}: ${e.edges.map(n=>`${String(n.px)} px into the ${n.side}`).join(", ")} (${e.profile??"covered"}: top ${String(t.top)}, bottom ${String(t.bottom)}, left ${String(t.left)}, right ${String(t.right)})`}}case"text-overlap":{const e=o.data;return{key:`${e.a.layer}|${e.a.text}|${e.b.layer}|${e.b.text}`,value:e.share,line:`${x(e.a)} × ${x(e.b)}: ${u(e.share)} of the smaller box`}}case"text-overlap-own":{const e=o.data;return{key:`${e.a.layer}|${e.a.text}|${e.b.text}`,value:e.share,line:`${E(e.a)} × ${E(e.b)}: ${u(e.share)} of the smaller glyph box`}}case"text-outside":{const e=o.data;return{key:`${e.text.layer}|${e.text.text}|${g(e.container.box)}`,value:Math.max(...e.edges.map(t=>t.px)),line:`${E(e.text)}: ${e.edges.map(t=>`${String(t.px)} px past the ${t.side}`).join(", ")} of the box ${g(e.container.box)} (${e.container.paint.join(", ")})`}}case"text-time":{const e=o.data,t=e.seconds>0?`${(e.words/e.seconds).toFixed(1)} words/s`:"never whole",n=e.spans.map(([s,r])=>`${$(s)}–${$(r)}`).join(", ");return{key:`${e.text.layer}|${e.text.text}|${g(e.text.box)}`,value:e.seconds>0?e.words/e.seconds:e.words,line:`${x(e.text)}: ${y(e.words,"word")} (${String(e.chars)} characters) whole for ${$(e.seconds)} s${n?` (${n} s)`:""}, ${t}; on screen ${$(e.onScreen)} s${e.size?`; ${String(e.size.px)} px, ${String(e.size.phone)} pt on a ${String(e.options.phone[0])}-point phone${e.size.lowercase?`, lowercase ${String(e.size.lowercase.px)} px, ${String(e.size.lowercase.phone)} pt`:""}`:""}`}}case"words-on-screen":{const e=o.data,t=e.steps.map(n=>`${$(n.t)} s ${String(n.words)}`);return{key:o.part??"",value:e.words,line:`at most ${y(e.words,"word")} (${String(e.chars)} characters) whole at once, in ${y(e.texts,"text")}, ${$(e.from)}–${$(e.until)} s; from each change on: ${t.join(", ")}`}}case"footage-scale":{const e=o.data,t=e.shown[0]===e.source[0]&&e.shown[1]===e.source[1]?"":`, ${String(e.shown[0])}×${String(e.shown[1])} of it shown`,{min:n,max:s}=e,r=n.scale===s.scale?`${String(s.scale)}× throughout (${s.from.join(", ")})`:`${String(n.scale)}×–${String(s.scale)}× (smallest at ${$(n.t)} s: ${n.from.join(", ")}; largest at ${$(s.t)} s: ${s.from.join(", ")})`;return{key:`${e.file}|${o.part??""}`,value:s.scale,line:`${e.file} (${String(e.source[0])}×${String(e.source[1])}${t}): ${r}`}}case"free-bands":{const e=o.data,t=r=>r.length===0?"none":r.map(([i,d])=>`${String(i)}–${String(d)}`).join(", "),n=r=>r.length===0?"none":r.map(i=>`${String(i.y[0])}–${String(i.y[1])} (${String(i.height)} px)`).join(", "),s=(r,i)=>"missing"in i?` ${r}: not measured (no ${i.missing==="face-track"?"face track":"person matte"} for ${i.files.join(", ")} in the media index)`:` ${r}${i.speaker===void 0?"":` (face ${String(i.speaker)})`}, seen at ${String(i.seen)} of ${String(e.moments.length)} moments: rows ${t(i.rows)}; free ${n(i.bands)}`;return{key:"bands",value:e.bands.reduce((r,i)=>r+i.height,0),line:[`inside the covered edges: rows ${String(e.content.y[0])}–${String(e.content.y[1])}, columns ${String(e.content.x[0])}–${String(e.content.x[1])}${e.profile?` (${e.profile})`:""}, ${String(e.moments.length)} moments ${$(e.moments[0]??0)}–${$(e.moments.at(-1)??0)} s; free of everything measured: ${n(e.bands)}`,s("face box",e.face),s("person matte",e.person)].join(`
3
- `)}}case"flat-frames":{const e=o.data;return{key:String(e.start),value:e.frames,line:`${String(e.frames)}${e.longer?" or more":""} frames of flat ${e.shade} (luma ${String(e.luma)}) to ${$(e.end)} s (flat: luminance deviation at most ${String(e.options.maxStd)}; runs of ${String(e.options.minFrames)} frames or more, more than ${String(e.options.sameLuma)} levels from the picture around)`}}case"still-picture":{const e=o.data,t=e.footage?`; footage not compared: ${e.footage.map(n=>`${n.file} ${$(n.start)}–${$(n.end)} s`).join(", ")}`:"";return{key:String(e.start),value:e.seconds,line:`${$(e.seconds)} s still, ${$(e.start)}–${$(e.end)} s${e.toEnd?" (to the last frame)":""}, through ${e.parts.join(", ")}: at most ${b(e.change)} of the picture changed from its start (mean ${String(e.mean)} of 255), ${b(e.drift.change)} at its end${t}`}}case"cut-seam":{const e=o.data,t=r=>`${r.turn===void 0?"":`turns ${String(r.turn)}°, `}${String(r.speed[0])} → ${String(r.speed[1])} px/s`,n=e.transition?`, a ${e.transition.type} ${$(e.transition.start)}–${$(e.transition.end)} s between`:"",s=[`${e.before.part} → ${e.after.part}${n}: the largest moving thing ${t(e.change.lead)}; everything moving ${t(e.change.overall)}${e.change.picture?`; the picture ${t(e.change.picture)}`:""}`,O("before",e.before),O("after",e.after),...e.carriers.map(r=>` named alike: ${r.name} ${g(r.before)} → ${g(r.after)}, ${String(r.distance)} px apart, size ×${String(r.size)}, ${String(r.speed[0])} → ${String(r.speed[1])} px/s`)];return{key:String(e.at),value:Math.abs(e.change.lead.turn??0),line:s.join(`
4
- `)}}case"flash":{const e=o.data,t=n=>`${b(n.share)} (mean ${String(n.mean)})`;return{key:String(e.start),value:e.foreign.share,line:`${y(e.frames,"frame")} ${$(e.start)}–${$(e.end)} s${e.join===void 0?"":` (the join at ${$(e.join)} s)`}${e.transition?` in a ${e.transition.type} from ${e.transition.from} to ${e.transition.to}`:""}: ${t(e.foreign)} of its pixels outside what the frames beside it span; against the frame before ${t(e.before)}, the frame after ${t(e.after)}, those two against each other ${t(e.across)}${e.own?`; on its own side of the cut (${e.own.side} it), against the next frame of its shot ${t(e.own.step)}, while that shot changes ${t(e.own.usual)} a frame`:""}`}}case"music-length":{const e=o.data;return{key:e.file,value:e.without,line:`${e.file}: ${e.music.toFixed(1)} s of music${e.from===void 0?"":` (from ${e.from.toFixed(1)} s in)`}${e.loop?", looped":""}, ${e.video.toFixed(1)} s of video${e.without>0?`, the last ${e.without.toFixed(1)} s without music`:""}${e.estimated?" (put together from its parts)":""}`}}case"join-loudness":{const e=o.data,t=e.estimated?" (put together from its parts)":"";return"missing"in e?{key:`${e.before}|${e.after}`,value:0,line:`${e.before} → ${e.after}: not measured (${e.missing}: ${e.why})${t}`}:{key:`${e.before}|${e.after}`,value:Math.abs(e.difference),line:`${e.before} → ${e.after}: ${e.beforeLufs.toFixed(1)} → ${e.afterLufs.toFixed(1)} LUFS (${e.difference>0?"+":""}${e.difference.toFixed(1)} LU)${t}`}}case"matrix-coverage":{const e=o.data;return{key:"matrix",value:e.candidates.filter(n=>n.combos.length===0).length,line:[`${e.choice==="combos"?"named in matrix.combos":e.pick===void 0?"every combo asked for":`pick ${String(e.pick)}`}; ${e.possible===void 0?"possible not counted":`${String(e.possible)} possible`}, ${String(e.chosen)} chosen`,...e.candidates.map(n=>` ${n.slot}=${n.candidate}: ${n.combos.length>0?n.combos.join(", "):"in no combo"}`)].join(`
5
- `)}}case"generated-media":{const e=o.data,t=n=>n.start===void 0?"":n.end===void 0||n.end===n.start?` at ${$(n.start)} s`:` ${$(n.start)}–${$(n.end)} s`;return{key:"generated",value:e.files.length,line:[`${y(e.files.length,"generated file")}${e.duration===void 0?"":` in ${e.duration.toFixed(1)} s of video`}${e.estimated?" (put together from its parts)":""}`,...e.files.map(n=>` ${n.file} (${[n.kind,n.tool,n.model,n.at].filter(Boolean).join(", ")}${n.mismatch?"; its record is another file's":""})${n.seconds===void 0?"":`, ${n.seconds.toFixed(1)} s`}: ${n.uses.map(s=>`${s.as}${s.part?` in ${s.part}`:""}${t(s)}`).join("; ")}`)].join(`
6
- `)}}case"gen-mismatch":{const e=o.data;return{key:e.file,value:1,line:e.why==="sha256"?`${e.file}: ${e.record} records sha256 ${e.recorded.slice(0,12)}…, the file's is ${e.actual.slice(0,12)}… (the record was moved without its file, or the file changed)`:`${e.file}: ${e.record} cannot be read (${e.error})`}}case"graphics-under-footage":{const e=o.data;return{key:e.layers.map(t=>t.component).join("+"),value:e.covered,line:`${e.layers.map(t=>`${t.component} ${$(t.start)}–${$(t.end)} s`).join(", ")} under ${e.footage.map(t=>`${t.file} ${g(t.box)} (${u(t.frame)} of the frame, ${$(t.start)}–${$(t.end)} s)`).join(", ")}`}}case"fallback":{const e=o.data,t={"face-track":"no face track",face:`no face ${String(e.face??"")} in the face track`,"person-matte":"no person matte","own-footage":"no footage of the part's own take",tempo:"no tempo (no bpm given, none measured)"}[e.missing],n={reframe:"the reframe",speaker:"the layer's speaker","behind-person":"a layer behind the person",background:"the footage's background",snap:"music.snap","music-play":"the music's beats and bars (music.play, music.loop)","music-end":"music.end"}[e.for],s={centred:"drawn centred","in-front":"drawn in front",unprocessed:"the footage shown as it is","not-snapped":"parts without speech keep their own length","played-once":"the file played once","film-end":"the music ends with the film"}[e.fallback];return{key:`${e.file??""}|${e.missing}|${String(e.face??"")}`,value:1,line:`${e.file?`${e.file}: `:""}${t} for ${n}; ${s}`}}case"scenery-contact":{const e=o.data,t=e.missing?[`not measured: ${e.missing}`]:e.crossing?[`crossing along ${m(e.curve??0)}`,e.depth!==void 0?`at least ${m(e.depth)} deep`:"",e.lift!==void 0?P(e.a,e.b,e.lift,"up"):"",e.volume!==void 0?`sharing ${e.volume.toExponential(3)} m³`:e.volumeMissing?`volume not measured: ${e.volumeMissing}`:""]:e.within?[`${e.within==="a in b"?e.a:e.b} inside the other`,e.depth!==void 0?`at least ${m(e.depth)} deep`:""]:[e.area!==void 0?`touching, sharing ${e.area.toFixed(4)} m²`:`${m(e.gap??0)} apart`];return{key:`${e.layer}|${e.a}|${e.b}`,value:e.depth??e.curve??0,...j(o,e,`${e.a} and ${e.b}: ${t.filter(Boolean).join("; ")}`)}}case"scenery-support":{const e=o.data,t=e.gap===null?"nothing below":e.gap<0?`sunk ${m(-e.gap)}`:`${m(e.gap)} above`;return{key:`${e.layer}|${e.object}`,value:Math.abs(e.gap??0),...j(o,e,`${e.object}: ${t}${e.on.length?` ${e.on.join(", ")}`:""}; ${u(e.footprintShare)} of its footprint in contact${e.margin!==void 0?`; centre of mass ${m(Math.abs(e.margin))} ${e.margin>=0?"inside":"outside"} the contact`:""}${e.nothingBelow?`; nothing below in ${String(e.nothingBelow)} columns`:""}`)}}case"scenery-bake":{const e=o.data,t=e.laid?`bake laid (made on ${e.bakedOn??e.renderer})`:`drawn unbaked: no bake for its scene (digest ${e.digest}, on ${e.renderer} or the CPU); ${e.elsewhere?.length?`one was made only on ${e.elsewhere.join(", ")}, which this renderer does not lay`:e.stale?"it was baked before, so the scene changed since":"it was never baked"}; ${e.command??"allyhub scenery bake"} makes it`;return{key:`${e.layer}|${e.digest}`,value:e.laid?0:1,...j(o,e,t)}}case"mesh-health":{const e=o.data,t=[e.closed?"closed":"open",e.openEdges?`${String(e.openEdges)} open edges`:"",e.nonManifoldEdges?`${String(e.nonManifoldEdges)} non-manifold edges`:"",e.degenerate?`${String(e.degenerate)} triangles without area`:"",e.selfIntersections?`${String(e.selfIntersections)} self-intersecting pairs`:""].filter(Boolean);return{key:`${e.layer}|${e.object}`,value:e.openEdges+e.nonManifoldEdges+e.degenerate+(e.selfIntersections??0),...j(o,e,`${e.object}: ${t.join(", ")}`)}}case"camera-clearance":{const e=o.data,t=k(o,e.start),n=[e.nearest?`nearest surface ${e.nearest.object} ${m(e.nearest.distance)} at ${t(e.nearest.t)} s`:"",...e.inside.map(s=>`inside ${s.object}${s.closed?"":" (open: a vote)"} from ${t(s.from)} to ${t(s.to)} s`),...e.nearCut.map(s=>`near plane cuts ${s.object} from ${t(s.from)} to ${t(s.to)} s`)].filter(Boolean);return{key:`${e.layer}|${String(e.start)}`,value:e.inside.length+e.nearCut.length,line:`${e.layer} ${t(e.start)}–${t(e.end)} s: ${n.join("; ")}`}}case"camera-motion":{const e=o.data,t=e.peaks,n=k(o,e.start),s=(r,i)=>`${r.peak.toFixed(2)} ${i} at ${n(r.at)} s`;return{key:`${e.layer}|${String(e.start)}`,value:t.speed.peak,line:`${e.layer} ${n(e.start)}–${n(e.end)} s: ${m(e.length)} travelled; speed ${s(t.speed,"m/s")}, truck ${s(t.truck,"m/s")}, pedestal ${s(t.pedestal,"m/s")}, dolly ${s(t.dolly,"m/s")}, pan ${s(t.pan,"°/s")}, tilt ${s(t.tilt,"°/s")}, roll ${s(t.roll,"°/s")}, zoom ${s(t.zoom,"stops/s")}, view turning ${s(t.turn,"°/s")}, acceleration ${s(t.acceleration,"m/s²")}, jerk ${s(t.jerk,"m/s³")}; smoothness ${e.smoothness===null?"not measured":e.smoothness.toFixed(2)}; largest step ${m(e.step.distance)} and ${e.step.angle.toFixed(2)}° at ${n(e.step.at)} s${e.cuts?.length?`; ${y(e.cuts.length,"cut")} at ${e.cuts.map(r=>`${n(r)} s`).join(", ")} (not measured across)`:""} (${String(e.fps)} samples a second)`}}case"scenery-screen":{const e=o.data,t=k(o,e.start),n=(i,d,l=1)=>i?`${(i.least*l).toFixed(2)}${d} at ${t(i.leastAt)} s to ${(i.most*l).toFixed(2)}${d} at ${t(i.mostAt)} s`:"not shown",s=e.shown.length===0?"never on the frame":`on the frame ${e.shown.map(i=>`${t(i.from)}–${t(i.to)} s`).join(", ")}`,r=e.hidden?.by.map(i=>`${i.object} ${String(Math.round(i.share*100))}%`).join(", ");return{key:`${e.layer} ${e.screen}|${String(e.start)}`,value:e.scale?.least??0,line:`${e.layer} ${e.screen} (${String(e.size[0])}×${String(e.size[1])}) ${t(e.start)}–${t(e.end)} s: ${s}; share of the box ${n(e.share,"%",100)}; scale ${n(e.scale,"×")} frame px per content px; angle ${n(e.angle,"°")}; hidden ${n(e.hidden,"%",100)}${r?` (at the most by ${r})`:""}${e.blur?`; blur ${n(e.blur," px")} (the circle of confusion across it)`:""}${e.moire?`; moiré ${n(e.moire,"%",100)} deep${e.moire.period!==void 0?`, bands ${e.moire.period.toFixed(1)} px apart at the deepest`:""}`:""}${e.drawn?e.drawn.in==="scenery"?`; drawn in the scenery at ${String(e.drawn.scale)} of the frame's pixels each way`:"; drawn over the scenery":""}${e.text?`; smallest text ${String(e.text.size)} px, ${String(e.text.onFrame[0])}–${String(e.text.onFrame[1])} px on the frame as drawn`:""}${e.stretches?.length&&e.shown.length>0?`; between cues (scenery s → its s): ${e.stretches.map(i=>`${i.from.toFixed(2)}–${i.to.toFixed(2)} → ${i.video[0].toFixed(2)}–${i.video[1].toFixed(2)} at ${i.speed.toFixed(2)}×`).join(", ")}`:""}`}}case"scenery-screen-fidelity":{const e=o.data,t=k(o,e.start),n=`${e.layer} ${e.screen} (${String(e.size[0])}×${String(e.size[1])}) at ${t(e.at)} s`,s=`${e.layer} ${e.screen}|${String(e.start)}|${String(e.at)}`;if(e.missing!==void 0||!e.deltaE)return{key:s,value:0,line:`${n}: not compared: ${e.missing??"no numbers"}`};const r=e.elements??[],i=(e.regions??[]).map(a=>{const c=a.elements.flatMap(f=>{const h=r[f];return h?[`${h.kind} ${h.name} ${g(h.box)}`]:[]});return`${g(a.box)} ${B(a.share)} (ΔE ${a.meanDeltaE.toFixed(1)} mean, ${a.maxDeltaE.toFixed(1)} most)${c.length>0?` over ${c.join(", ")}`:""}`}),d=new Map;for(const a of r)d.set(a.kind,(d.get(a.kind)??0)+1);const l=e.texture;return{key:s,value:e.share??0,line:`${n}: ${B(e.share??0)} of its pixels differ from its element drawn flat by more than ΔE ${String(e.tolerance)} (ΔE ${e.deltaE.mean.toFixed(2)} mean, ${e.deltaE.p95.toFixed(2)} at the 95th percentile, ${e.deltaE.max.toFixed(1)} most)${l?`; its texture ${String(l.of[0])}×${String(l.of[1])} px for an element of ${String(l.element[0])}×${String(l.element[1])}, compared at its level ${String(l.level)} (${String(l.size[0])}×${String(l.size[1])})`:""}${i.length>0?`; most in ${i.join("; ")}`:""}${d.size>0?`; in its content, of what the scenery's picture can draw otherwise: ${[...d].map(([a,c])=>`${String(c)} ${a}`).join(", ")}`:""} (boxes in content px)`}}case"cut-in-word":{const e=o.data;return{key:`${e.source}|${e.side}|${String(e.at)}`,value:Math.min(e.at-e.wordStart,e.wordEnd-e.at),line:`${e.source}: the stretch's ${e.side} at ${$(e.at)} s cuts "${e.word}" (${$(e.wordStart)}–${$(e.wordEnd)} s)`}}}}function k(o,e){const t=o.t===void 0?0:o.t-e;return n=>(n+t).toFixed(2)}function P(o,e,t,n){const[s,r]=t.b<t.a?[[e,t.b],[o,t.a]]:[[o,t.a],[e,t.b]];return`moving ${s[0]} ${m(s[1])} ${n} (${r[0]} ${m(r[1])}) clears them`}const m=o=>Math.abs(o)<.1?`${(o*1e3).toFixed(1)} mm`:`${o.toFixed(3)} m`;function O(o,e){const t=s=>`${String(s.speed)} px/s${s.angle===void 0?"":` at ${String(s.angle)}°`}`,n=e.list.map(s=>`${s.layer} ${s.what}${s.name?` (${s.name})`:""} ${g(s.box)} ${t(s)}${s.scale!==0?`, size ${s.scale>0?"+":""}${String(Math.round(s.scale*100))}%/s`:""}`);return` ${o} (${e.part} ${$(e.from)}–${$(e.to)} s): ${String(e.moving)} of ${y(e.things,"thing")} moving${e.overall?`, together ${t(e.overall)}`:""}${e.picture?`; the picture ${t(e.picture)} (difference ${String(e.picture.still)} → ${String(e.picture.match)} after the shift)`:""}${n.length>0?`: ${n.join("; ")}`:""}`}function D(o,e){const t=o.data.text;if(typeof t!="object"||t===null||!("layer"in t))return;const n=t,s=`${x(n)}: `;if(e.startsWith(s))return{layer:n.layer,text:n.text,what:e.slice(s.length)}}const A=3,T=8;function q(o,e=!1){const t=new Map;for(const a of o){const c=K(a),f=`${a.part??""}|${c.key}`,h=t.get(f);if(!h){const w=D(a,c.line);t.set(f,{part:a.part,first:a.t,last:a.t,count:1,worst:c.value,line:c.line,...w?{text:w}:{},...c.alike?{alike:c.alike}:{}});continue}if(h.count++,a.t!==void 0&&(h.first=Math.min(h.first??a.t,a.t),h.last=Math.max(h.last??a.t,a.t)),c.value>h.worst){h.worst=c.value,h.line=c.line,c.alike&&(h.alike=c.alike);const w=D(a,c.line);w?h.text=w:delete h.text}}const n=[...t.values()],s=new Map;if(!e)for(const a of n){if(!a.text)continue;const c=`${a.text.layer}|${a.text.what}`;s.set(c,[...s.get(c)??[],a])}const r=new Map;if(!e)for(const a of n){if(!a.alike||a.count>1)continue;const c=a.alike.what;r.set(c,[...r.get(c)??[],a])}const i=[],d=new Set;for(const a of n){if(d.has(a))continue;const c=a.alike?r.get(a.alike.what):void 0;if(c&&c.length>1&&a.alike){for(const S of c)d.add(S);const p=Math.min(...c.map(S=>S.alike?.span[0]??0)),M=Math.max(...c.map(S=>S.alike?.span[1]??0)),v=c.flatMap(S=>S.part?[S.part]:[]),W=v.length>T?`${v.slice(0,T).join(", ")} and ${String(v.length-T)} more`:v.join(", ");i.push(` ${$(p)}–${$(M)} s, the same in ${String(c.length)} parts (${W}): ${a.alike.what} (--all lists each)`);continue}const f=a.text?s.get(`${a.text.layer}|${a.text.what}`):void 0;if(!f||f.length<2||!a.text){i.push(l(a));continue}for(const p of f)d.add(p);const h=f.flatMap(p=>[p.first,p.last].filter(M=>M!==void 0)),w=[...new Set(f.flatMap(p=>p.part?[p.part]:[]))],F=Math.min(...h),C=Math.max(...h),I=h.length===0?"":F===C?`${$(F)} s `:`${$(F)}–${$(C)} s `,N=f.slice(0,A).map(p=>L(p.text?.text??"")),U=f.length>A?` and ${String(f.length-A)} more`:"";i.push(` ${I}${w.length>0?`${w.length===1?w[0]??"":`${String(w.length)} parts`}: `:""}${a.text.layer}: ${String(f.length)} texts, each ${a.text.what}: ${N.join(", ")}${U} (--all lists each)`)}return i;function l(a){return` ${a.first===void 0?"":a.count===1||a.first===a.last?`${$(a.first)} s `:`${$(a.first)}–${$(a.last??a.first)} s (${String(a.count)} moments, the most shown) `}${a.part?`${a.part}: `:""}${a.line}`}}function R(o){const e=o[0];if(e?.kind==="still-picture"){const n=e.data.options;return`; a frame every ${String(n.every)} s, ${String(n.width)} px wide, still while ${b(n.change)} or less of its pixels moved more than ${String(n.noise)} levels from the stretch's first; ${n.minSeconds>0?`${String(n.minSeconds)} s or longer`:"every stretch"}`}if(e?.kind==="text-contrast"){const n=e.data.options;return`; WCAG 2.1 ratios over the pixels behind each line's glyphs, the ${String(n.percentile)}th percentile, captured at ${String(n.scale)}× the frame's pixels, blocks at ${u(n.opacity)} opacity or more. For reference, WCAG AA asks 4.5:1 (3:1 for large text, 24 px or 18.66 px bold, in CSS pixels), AAA 7:1 (4.5:1)`}if(e?.kind==="cut-seam"){const n=e.data.options;return`; velocities over ${String(n.frames)} frames each side, at rest under ${String(n.rest)} px/s; ${n.top>0?`the ${String(n.top)} largest things listed each side, moving ones first`:"every thing listed"}; 0° is rightward, 90° downward, ±180° leftward`}if(e?.kind==="flash"){const n=e.data.options;return`; each frame against the frames beside it, ${String(n.width)} px wide, a pixel outside their span by more than ${String(n.noise)} levels, from ${b(n.change)} of the pixels; runs of up to ${y(n.frames,"frame")}; beside a cut, only past ${String(n.usual)}× its shot's usual change a frame`}if(e?.kind!=="text-time"&&e?.kind!=="words-on-screen")return"";const t=e.data.options;return`; whole: every text node at ${u(t.opacity)} opacity or more with ${u(t.shown)} or more of its glyphs showing, each part looked at every ${String(t.every)} s`}export function formatFacts(o,e={}){const t=[],n=new Map;for(const s of o){const r=G(s);n.set(r,[...n.get(r)??[],s])}for(const[s,r]of n){const i=Object.keys(z).map(d=>[d,r.filter(l=>l.kind===d).length]).filter(([,d])=>d>0).map(([d,l])=>`${d} ${String(l)}`);t.push(`${s}: ${i.join(", ")}`);for(const d of Object.keys(z)){const l=r.filter(a=>a.kind===d);l.length!==0&&t.push(` ${z[d]} (${d})${R(l)}:`,...q(l,e.all===!0))}}return t}export const textOnScreen=o=>`${x(o)}${o.fonts?` in ${o.fonts.join(", ")}`:""}`;
2
+ import{FACT_KINDS as A,comboKey as _}from"@allyhub-next/video-core";import{plural as g}from"./plural.js";const F=s=>`"${s.length>40?`${s.slice(0,40)}…`:s}"`,p=s=>`[${s.join(",")}]`,f=s=>`${String(Math.round(s*100))}%`,k=s=>`${(s*100).toFixed(1)}%`,b=s=>`${String(Math.round(s*1e4)/100)}%`,$=s=>s.toFixed(2),S=s=>`${s.layer}${s.z==="behind-person"?" (behind)":s.z==="overlay"?" (overlay)":""} ${F(s.text)} ${p(s.box)}${s.opacity===void 0?"":` at ${f(s.opacity)} opacity`}`,T=s=>S({...s,box:s.ink??s.box});function G(s){return s.output===void 0?s.piece:[s.piece,s.combo?_(s.combo):void 0,s.format].filter(e=>e!==void 0&&e!=="").join(" · ")}function M(s,e,t){const n=v(s,e.start),a=s.t===void 0?0:s.t-e.start;return{line:`${e.layer} ${n(e.start)}–${n(e.end)} s: ${t}`,alike:{what:`${e.layer}: ${t}`,span:[e.start+a,e.end+a]}}}function H(s){switch(s.kind){case"text-speaker":{const e=s.data,t=[e.face?`covers ${f(e.face.ofFace)} of the face ${p(e.face.box)} (${f(e.face.ofText)} of the text's box)`:"",e.person?`${f(e.person.ofText)} of the text's box over the person (${e.person.file})`:""].filter(Boolean);return{key:`${e.text.layer}|${e.text.text}`,value:Math.max(e.face?.ofFace??0,e.person?.ofText??0),line:`${S(e.text)}: ${t.join("; ")}`}}case"text-off-frame":{const e=s.data;return{key:`${e.text.layer}|${e.text.text}`,value:e.share,line:`${S({...e.text,box:e.glyphs})}: ${b(e.share)} of its glyphs outside the ${String(e.frame[0])}×${String(e.frame[1])} frame (${String(e.outside)} px), ${e.edges.map(t=>`${String(t.px)} px past the ${t.side}`).join(", ")}`}}case"text-contrast":{const e=s.data,t=`${String(e.size)} px, weight ${String(e.weight)}${e.shadow?", a shadow":""}${e.stroke?", a stroke":""}`,n=e.footage?`; footage under it, not drawn here: ${e.footage.join(", ")}`:"";if("missing"in e)return{key:`${e.text.layer}|${e.text.text}`,value:0,line:`${S(e.text)}: not measured (${e.missing}: ${e.why}; ${t})${n}`};const a=r=>`${r.toFixed(2)}:1`;return{key:`${e.text.layer}|${e.text.text}`,value:1/Math.max(1,e.ratio.min),line:`${S(e.text)}: ${a(e.ratio.min)} lowest, ${a(e.ratio.low)} at the ${String(e.options.percentile)}th percentile, ${a(e.ratio.median)} median; ${e.fill.join(", ")} over ${e.background.median} (median; ${e.background.atMin} at the lowest), ${t}${e.under?` (its outline counted behind it; under the outline ${a(e.under.ratio.min)} lowest, ${a(e.under.ratio.median)} median, over ${e.under.background.median})`:""}, ${String(e.pixels)} px${e.picture==="final"?", final picture":""}${n}`}}case"text-covered":{const e=s.data,t=e.covered;return{key:`${e.text.layer}|${e.text.text}`,value:Math.max(...e.edges.map(n=>n.px)),line:`${S(e.text)}: ${e.edges.map(n=>`${String(n.px)} px into the ${n.side}`).join(", ")} (${e.profile??"covered"}: top ${String(t.top)}, bottom ${String(t.bottom)}, left ${String(t.left)}, right ${String(t.right)})`}}case"text-overlap":{const e=s.data;return{key:`${e.a.layer}|${e.a.text}|${e.b.layer}|${e.b.text}`,value:e.share,line:`${S(e.a)} × ${S(e.b)}: ${f(e.share)} of the smaller box`}}case"text-overlap-own":{const e=s.data;return{key:`${e.a.layer}|${e.a.text}|${e.b.text}`,value:e.share,line:`${T(e.a)} × ${T(e.b)}: ${f(e.share)} of the smaller glyph box`}}case"text-outside":{const e=s.data;return{key:`${e.text.layer}|${e.text.text}|${p(e.container.box)}`,value:Math.max(...e.edges.map(t=>t.px)),line:`${T(e.text)}: ${e.edges.map(t=>`${String(t.px)} px past the ${t.side}`).join(", ")} of the box ${p(e.container.box)} (${e.container.paint.join(", ")})`}}case"text-time":{const e=s.data,t=e.seconds>0?`${(e.words/e.seconds).toFixed(1)} words/s`:"never whole",n=e.spans.map(([a,r])=>`${$(a)}–${$(r)}`).join(", ");return{key:`${e.text.layer}|${e.text.text}|${p(e.text.box)}`,value:e.seconds>0?e.words/e.seconds:e.words,line:`${S(e.text)}: ${g(e.words,"word")} (${String(e.chars)} characters) whole for ${$(e.seconds)} s${n?` (${n} s)`:""}, ${t}; on screen ${$(e.onScreen)} s${e.size?`; ${String(e.size.px)} px, ${String(e.size.phone)} pt on a ${String(e.options.phone[0])}-point phone${e.size.lowercase?`, lowercase ${String(e.size.lowercase.px)} px, ${String(e.size.lowercase.phone)} pt`:""}`:""}`}}case"words-on-screen":{const e=s.data,t=e.steps.map(n=>`${$(n.t)} s ${String(n.words)}`);return{key:s.part??"",value:e.words,line:`at most ${g(e.words,"word")} (${String(e.chars)} characters) whole at once, in ${g(e.texts,"text")}, ${$(e.from)}–${$(e.until)} s; from each change on: ${t.join(", ")}`}}case"footage-scale":{const e=s.data,t=e.shown[0]===e.source[0]&&e.shown[1]===e.source[1]?"":`, ${String(e.shown[0])}×${String(e.shown[1])} of it shown`,{min:n,max:a}=e,r=n.scale===a.scale?`${String(a.scale)}× throughout (${a.from.join(", ")})`:`${String(n.scale)}×–${String(a.scale)}× (smallest at ${$(n.t)} s: ${n.from.join(", ")}; largest at ${$(a.t)} s: ${a.from.join(", ")})`;return{key:`${e.file}|${s.part??""}`,value:a.scale,line:`${e.file} (${String(e.source[0])}×${String(e.source[1])}${t}): ${r}`}}case"free-bands":{const e=s.data,t=r=>r.length===0?"none":r.map(([i,c])=>`${String(i)}–${String(c)}`).join(", "),n=r=>r.length===0?"none":r.map(i=>`${String(i.y[0])}–${String(i.y[1])} (${String(i.height)} px)`).join(", "),a=(r,i)=>"missing"in i?` ${r}: not measured (no ${i.missing==="face-track"?"face track":"person matte"} for ${i.files.join(", ")} in the media index)`:` ${r}${i.speaker===void 0?"":` (face ${String(i.speaker)})`}, seen at ${String(i.seen)} of ${String(e.moments.length)} moments: rows ${t(i.rows)}; free ${n(i.bands)}`;return{key:"bands",value:e.bands.reduce((r,i)=>r+i.height,0),line:[`inside the covered edges: rows ${String(e.content.y[0])}–${String(e.content.y[1])}, columns ${String(e.content.x[0])}–${String(e.content.x[1])}${e.profile?` (${e.profile})`:""}, ${String(e.moments.length)} moments ${$(e.moments[0]??0)}–${$(e.moments.at(-1)??0)} s; free of everything measured: ${n(e.bands)}`,a("face box",e.face),a("person matte",e.person)].join(`
3
+ `)}}case"flat-frames":{const e=s.data;return{key:String(e.start),value:e.frames,line:`${String(e.frames)}${e.longer?" or more":""} frames of flat ${e.shade} (luma ${String(e.luma)}) to ${$(e.end)} s (flat: luminance deviation at most ${String(e.options.maxStd)}; runs of ${String(e.options.minFrames)} frames or more, more than ${String(e.options.sameLuma)} levels from the picture around)`}}case"still-picture":{const e=s.data,t=e.footage?`; footage not compared: ${e.footage.map(n=>`${n.file} ${$(n.start)}–${$(n.end)} s`).join(", ")}`:"";return{key:String(e.start),value:e.seconds,line:`${$(e.seconds)} s still, ${$(e.start)}–${$(e.end)} s${e.toEnd?" (to the last frame)":""}, through ${e.parts.join(", ")}: at most ${b(e.change)} of the picture changed from its start (mean ${String(e.mean)} of 255), ${b(e.drift.change)} at its end${t}`}}case"cut-seam":{const e=s.data,t=r=>`${r.turn===void 0?"":`turns ${String(r.turn)}°, `}${String(r.speed[0])} → ${String(r.speed[1])} px/s`,n=e.transition?`, a ${e.transition.type} ${$(e.transition.start)}–${$(e.transition.end)} s between`:"",a=[`${e.before.part} → ${e.after.part}${n}: the largest moving thing ${t(e.change.lead)}; everything moving ${t(e.change.overall)}${e.change.picture?`; the picture ${t(e.change.picture)}`:""}`,O("before",e.before),O("after",e.after),...e.carriers.map(r=>` named alike: ${r.name} ${p(r.before)} → ${p(r.after)}, ${String(r.distance)} px apart, size ×${String(r.size)}, ${String(r.speed[0])} → ${String(r.speed[1])} px/s`)];return{key:String(e.at),value:Math.abs(e.change.lead.turn??0),line:a.join(`
4
+ `)}}case"flash":{const e=s.data,t=n=>`${b(n.share)} (mean ${String(n.mean)})`;return{key:String(e.start),value:e.foreign.share,line:`${g(e.frames,"frame")} ${$(e.start)}–${$(e.end)} s${e.join===void 0?"":` (the join at ${$(e.join)} s)`}${e.transition?` in a ${e.transition.type} from ${e.transition.from} to ${e.transition.to}`:""}: ${t(e.foreign)} of its pixels outside what the frames beside it span; against the frame before ${t(e.before)}, the frame after ${t(e.after)}, those two against each other ${t(e.across)}${e.own?`; on its own side of the cut (${e.own.side} it), against the next frame of its shot ${t(e.own.step)}, while that shot changes ${t(e.own.usual)} a frame`:""}`}}case"music-length":{const e=s.data;return{key:e.file,value:e.without,line:`${e.file}: ${e.music.toFixed(1)} s of music${e.from===void 0?"":` (from ${e.from.toFixed(1)} s in)`}${e.loop?", looped":""}, ${e.video.toFixed(1)} s of video${e.without>0?`, the last ${e.without.toFixed(1)} s without music`:""}${e.estimated?" (put together from its parts)":""}`}}case"join-loudness":{const e=s.data,t=e.estimated?" (put together from its parts)":"";return"missing"in e?{key:`${e.before}|${e.after}`,value:0,line:`${e.before} → ${e.after}: not measured (${e.missing}: ${e.why})${t}`}:{key:`${e.before}|${e.after}`,value:Math.abs(e.difference),line:`${e.before} → ${e.after}: ${e.beforeLufs.toFixed(1)} → ${e.afterLufs.toFixed(1)} LUFS (${e.difference>0?"+":""}${e.difference.toFixed(1)} LU)${t}`}}case"matrix-coverage":{const e=s.data;return{key:"matrix",value:e.candidates.filter(n=>n.combos.length===0).length,line:[`${e.choice==="combos"?"named in matrix.combos":e.pick===void 0?"every combo asked for":`pick ${String(e.pick)}`}; ${e.possible===void 0?"possible not counted":`${String(e.possible)} possible`}, ${String(e.chosen)} chosen`,...e.candidates.map(n=>` ${n.slot}=${n.candidate}: ${n.combos.length>0?n.combos.join(", "):"in no combo"}`)].join(`
5
+ `)}}case"generated-media":{const e=s.data,t=n=>n.start===void 0?"":n.end===void 0||n.end===n.start?` at ${$(n.start)} s`:` ${$(n.start)}–${$(n.end)} s`;return{key:"generated",value:e.files.length,line:[`${g(e.files.length,"generated file")}${e.duration===void 0?"":` in ${e.duration.toFixed(1)} s of video`}${e.estimated?" (put together from its parts)":""}`,...e.files.map(n=>` ${n.file} (${[n.kind,n.tool,n.model,n.at].filter(Boolean).join(", ")}${n.mismatch?"; its record is another file's":""})${n.seconds===void 0?"":`, ${n.seconds.toFixed(1)} s`}: ${n.uses.map(a=>`${a.as}${a.part?` in ${a.part}`:""}${t(a)}`).join("; ")}`)].join(`
6
+ `)}}case"gen-mismatch":{const e=s.data;return{key:e.file,value:1,line:e.why==="sha256"?`${e.file}: ${e.record} records sha256 ${e.recorded.slice(0,12)}…, the file's is ${e.actual.slice(0,12)}… (the record was moved without its file, or the file changed)`:`${e.file}: ${e.record} cannot be read (${e.error})`}}case"graphics-under-footage":{const e=s.data;return{key:e.layers.map(t=>t.component).join("+"),value:e.covered,line:`${e.layers.map(t=>`${t.component} ${$(t.start)}–${$(t.end)} s`).join(", ")} under ${e.footage.map(t=>`${t.file} ${p(t.box)} (${f(t.frame)} of the frame, ${$(t.start)}–${$(t.end)} s)`).join(", ")}`}}case"fallback":{const e=s.data,t={"face-track":"no face track",face:`no face ${String(e.face??"")} in the face track`,"person-matte":"no person matte","own-footage":"no footage of the part's own take",tempo:"no tempo (no bpm given, none measured)"}[e.missing],n={reframe:"the reframe",speaker:"the layer's speaker","behind-person":"a layer behind the person",background:"the footage's background",snap:"music.snap","music-play":"the music's beats and bars (music.play, music.loop)","music-end":"music.end"}[e.for],a={centred:"drawn centred","in-front":"drawn in front",unprocessed:"the footage shown as it is","not-snapped":"parts without speech keep their own length","played-once":"the file played once","film-end":"the music ends with the film"}[e.fallback];return{key:`${e.file??""}|${e.missing}|${String(e.face??"")}`,value:1,line:`${e.file?`${e.file}: `:""}${t} for ${n}; ${a}`}}case"scenery-contact":{const e=s.data,t=e.missing?[`not measured: ${e.missing}`]:e.crossing?[`crossing along ${m(e.curve??0)}`,e.depth!==void 0?`at least ${m(e.depth)} deep`:"",e.lift!==void 0?K(e.a,e.b,e.lift,"up"):"",e.volume!==void 0?`sharing ${e.volume.toExponential(3)} m³`:e.volumeMissing?`volume not measured: ${e.volumeMissing}`:""]:e.within?[`${e.within==="a in b"?e.a:e.b} inside the other`,e.depth!==void 0?`at least ${m(e.depth)} deep`:""]:[e.area!==void 0?`touching, sharing ${e.area.toFixed(4)} m²`:`${m(e.gap??0)} apart`];return{key:`${e.layer}|${e.a}|${e.b}`,value:e.depth??e.curve??0,...M(s,e,`${e.a} and ${e.b}: ${t.filter(Boolean).join("; ")}`)}}case"scenery-support":{const e=s.data,t=e.gap===null?"nothing below":e.gap<0?`sunk ${m(-e.gap)}`:`${m(e.gap)} above`;return{key:`${e.layer}|${e.object}`,value:Math.abs(e.gap??0),...M(s,e,`${e.object}: ${t}${e.on.length?` ${e.on.join(", ")}`:""}; ${f(e.footprintShare)} of its footprint in contact${e.margin!==void 0?`; centre of mass ${m(Math.abs(e.margin))} ${e.margin>=0?"inside":"outside"} the contact`:""}${e.nothingBelow?`; nothing below in ${String(e.nothingBelow)} columns`:""}`)}}case"scenery-bake":{const e=s.data,t=e.laid?`bake laid (made on ${e.bakedOn??e.renderer})`:`drawn unbaked: no bake for its scene (digest ${e.digest}, on ${e.renderer} or the CPU); ${e.elsewhere?.length?`one was made only on ${e.elsewhere.join(", ")}, which this renderer does not lay`:e.stale?"it was baked before, so the scene changed since":"it was never baked"}; ${e.command??"allyhub scenery bake"} makes it`;return{key:`${e.layer}|${e.digest}`,value:e.laid?0:1,...M(s,e,t)}}case"mesh-health":{const e=s.data,t=[e.closed?"closed":"open",e.openEdges?`${String(e.openEdges)} open edges`:"",e.nonManifoldEdges?`${String(e.nonManifoldEdges)} non-manifold edges`:"",e.degenerate?`${String(e.degenerate)} triangles without area`:"",e.selfIntersections?`${String(e.selfIntersections)} self-intersecting pairs`:""].filter(Boolean);return{key:`${e.layer}|${e.object}`,value:e.openEdges+e.nonManifoldEdges+e.degenerate+(e.selfIntersections??0),...M(s,e,`${e.object}: ${t.join(", ")}`)}}case"camera-clearance":{const e=s.data,t=v(s,e.start),n=[e.nearest?`nearest surface ${e.nearest.object} ${m(e.nearest.distance)} at ${t(e.nearest.t)} s`:"",...e.inside.map(a=>`inside ${a.object}${a.closed?"":" (open: a vote)"} from ${t(a.from)} to ${t(a.to)} s`),...e.nearCut.map(a=>`near plane cuts ${a.object} from ${t(a.from)} to ${t(a.to)} s`)].filter(Boolean);return{key:`${e.layer}|${String(e.start)}`,value:e.inside.length+e.nearCut.length,line:`${e.layer} ${t(e.start)}–${t(e.end)} s: ${n.join("; ")}`}}case"camera-motion":{const e=s.data,t=e.peaks,n=v(s,e.start),a=(r,i)=>`${r.peak.toFixed(2)} ${i} at ${n(r.at)} s`;return{key:`${e.layer}|${String(e.start)}`,value:t.speed.peak,line:`${e.layer} ${n(e.start)}–${n(e.end)} s: ${m(e.length)} travelled; speed ${a(t.speed,"m/s")}, truck ${a(t.truck,"m/s")}, pedestal ${a(t.pedestal,"m/s")}, dolly ${a(t.dolly,"m/s")}, pan ${a(t.pan,"°/s")}, tilt ${a(t.tilt,"°/s")}, roll ${a(t.roll,"°/s")}, zoom ${a(t.zoom,"stops/s")}, view turning ${a(t.turn,"°/s")}, acceleration ${a(t.acceleration,"m/s²")}, jerk ${a(t.jerk,"m/s³")}; smoothness ${e.smoothness===null?"not measured":e.smoothness.toFixed(2)}; largest step ${m(e.step.distance)} and ${e.step.angle.toFixed(2)}° at ${n(e.step.at)} s${e.cuts?.length?`; ${g(e.cuts.length,"cut")} at ${e.cuts.map(r=>`${n(r)} s`).join(", ")} (not measured across)`:""} (${String(e.fps)} samples a second)`}}case"scenery-screen":{const e=s.data,t=v(s,e.start),n=(i,c,l=1)=>i?`${(i.least*l).toFixed(2)}${c} at ${t(i.leastAt)} s to ${(i.most*l).toFixed(2)}${c} at ${t(i.mostAt)} s`:"not shown",a=e.shown.length===0?"never on the frame":`on the frame ${e.shown.map(i=>`${t(i.from)}–${t(i.to)} s`).join(", ")}`,r=e.hidden?.by.map(i=>`${i.object} ${String(Math.round(i.share*100))}%`).join(", ");return{key:`${e.layer} ${e.screen}|${String(e.start)}`,value:e.scale?.least??0,line:`${e.layer} ${e.screen} (${String(e.size[0])}×${String(e.size[1])}) ${t(e.start)}–${t(e.end)} s: ${a}; share of the box ${n(e.share,"%",100)}; scale ${n(e.scale,"×")} frame px per content px; angle ${n(e.angle,"°")}; hidden ${n(e.hidden,"%",100)}${r?` (at the most by ${r})`:""}${e.blur?`; blur ${n(e.blur," px")} (the circle of confusion across it)`:""}${e.moire?`; moiré ${n(e.moire,"%",100)} deep${e.moire.period!==void 0?`, bands ${e.moire.period.toFixed(1)} px apart at the deepest`:""}`:""}${e.drawn?e.drawn.in==="scenery"?`; drawn in the scenery at ${String(e.drawn.scale)} of the frame's pixels each way`:"; drawn over the scenery":""}${e.text?`; smallest text ${String(e.text.size)} px, ${String(e.text.onFrame[0])}–${String(e.text.onFrame[1])} px on the frame as drawn`:""}${e.stretches?.length&&e.shown.length>0?`; between cues (scenery s → its s): ${e.stretches.map(i=>`${i.from.toFixed(2)}–${i.to.toFixed(2)} → ${i.video[0].toFixed(2)}–${i.video[1].toFixed(2)} at ${i.speed.toFixed(2)}×`).join(", ")}`:""}`}}case"scenery-screen-fidelity":{const e=s.data,t=v(s,e.start),n=`${e.layer} ${e.screen} (${String(e.size[0])}×${String(e.size[1])}) at ${t(e.at)} s`,a=`${e.layer} ${e.screen}|${String(e.start)}|${String(e.at)}`;if(e.missing!==void 0||!e.deltaE)return{key:a,value:0,line:`${n}: not compared: ${e.missing??"no numbers"}`};const r=e.elements??[],i=(e.regions??[]).map(o=>{const d=o.elements.flatMap(u=>{const h=r[u];return h?[`${h.kind} ${h.name} ${p(h.box)}`]:[]});return`${p(o.box)} ${k(o.share)} (ΔE ${o.meanDeltaE.toFixed(1)} mean, ${o.maxDeltaE.toFixed(1)} most)${d.length>0?` over ${d.join(", ")}`:""}`}),c=new Map;for(const o of r)c.set(o.kind,(c.get(o.kind)??0)+1);const l=e.texture;return{key:a,value:e.share??0,line:`${n}: ${k(e.share??0)} of its pixels differ from its element drawn flat by more than ΔE ${String(e.tolerance)} (ΔE ${e.deltaE.mean.toFixed(2)} mean, ${e.deltaE.p95.toFixed(2)} at the 95th percentile, ${e.deltaE.max.toFixed(1)} most)${l?`; its texture ${String(l.of[0])}×${String(l.of[1])} px for an element of ${String(l.element[0])}×${String(l.element[1])}, compared at its level ${String(l.level)} (${String(l.size[0])}×${String(l.size[1])})`:""}${i.length>0?`; most in ${i.join("; ")}`:""}${c.size>0?`; in its content, of what the scenery's picture can draw otherwise: ${[...c].map(([o,d])=>`${String(d)} ${o}`).join(", ")}`:""} (boxes in content px)`}}case"text-overflow":{const e=s.data;return{key:`${e.shape}|${e.text}`,value:Math.max(...e.edges.map(t=>t.px)),line:`${e.shape} ${F(e.text)} ${p(e.box)}: its glyphs ${p(e.glyphs)} ${e.edges.map(t=>`${String(t.px)} px past the ${t.side}`).join(", ")}; ${String(e.past)} of ${g(e.lines,"line")} past it${e.scale===void 0?"":`, shrunk to ${f(e.scale)}`}`}}case"shape-off-slide":{const e=s.data;return{key:e.shape,value:e.share,line:`${e.shape} ${p(e.box)}: ${e.edges.map(t=>`${String(t.px)} px past the ${t.side}`).join(", ")}, ${k(e.share)} of it outside the slide`}}case"shape-overlap":{const e=s.data;return{key:`${e.a}|${e.b}`,value:e.share,line:`${e.a} and ${e.b}: ${String(e.area)} px² both cover, ${k(e.share)} of the smaller`}}case"near-alignment":{const e=s.data;return{key:`${e.a}|${e.b}|${e.line}`,value:e.gap,line:`${e.a} and ${e.b==="slide"?"the slide":e.b}: ${e.line==="centre-x"?"horizontal centres":e.line==="centre-y"?"vertical centres":`${e.line} edges`} ${String(e.gap)} pt apart`}}case"placement-drift":{const e=s.data;return{key:`${e.layout}|${e.shape}`,value:e.places.length,line:`${e.shape} on "${e.layout}": ${e.places.map(t=>`${p(t.frame)} pt on ${t.slides.join(", ")}`).join("; ")}`}}case"type-in-use":{const e=s.data;return{key:"type",value:e.type.length,line:`${g(e.type.length,"size")}, the smallest ${String(e.smallest)} pt: ${e.type.map(t=>`${String(t.size)} pt weight ${String(t.weight)} on ${g(t.slides,"slide")} (${g(t.shapes,"shape")})`).join("; ")}`}}case"read-size":{const e=s.data;return{key:`${e.shape}|${e.text}`,value:1/Math.max(.1,e.screen?.arcmin??e.size),line:`${e.shape} ${F(e.text)}: ${String(e.size)} pt${e.xHeight===void 0?"":`, x ${String(e.xHeight)} pt`}${e.screen?`; ${e.screen.by==="x"?"its lowercase x":"its characters"} ${String(e.screen.mm)} mm on the screen, ${String(e.screen.arcmin)} arcmin from the farthest seat`:""}; ${String(e.phone)} pt on the phone`}}case"words-on-slide":{const e=s.data;return{key:"words",value:e.words,line:`${g(e.words,"word")}, ${g(e.lines,"line")}, ${g(e.texts,"text")}`}}case"picture-resolution":{const e=s.data;return{key:e.shape,value:e.scale,line:`${e.shape} ${p(e.box)}: ${String(e.shown[0])}×${String(e.shown[1])} of its ${String(e.source[0])}×${String(e.source[1])} px drawn ${String(e.scale)}× (${String(e.ppi)} ppi on the slide)${Math.abs(e.stretch)>.005?`, stretched ${k(e.stretch)}`:""}`}}case"chart-data":{const e=s.data,t=e.low===void 0||e.high===void 0?"no numbers":`${String(e.low)} to ${String(e.high)}`;return{key:e.shape,value:e.series,line:`${e.shape}: ${e.type}, ${String(e.categories)} categories, ${String(e.series)} series, ${t}; ${e.source===void 0?"its numbers are written in the deck":`from ${e.source}`}`}}case"table-grown":{const e=s.data;return{key:e.shape,value:e.drawn-e.set,line:`${e.shape}: ${String(e.drawn)} pt tall, set ${String(e.set)} pt; ${e.rows.map(t=>`row ${String(t.row+1)} ${String(t.set)} → ${String(t.drawn)} pt`).join(", ")}`}}case"shape-hidden":{const e=s.data;return{key:`${e.shape}|${e.by??""}`,value:1,line:e.by===void 0?`${e.shape}: no step of the slide shows it`:`${e.shape}: covered whole by ${e.by}`}}case"deck-fonts":{const e=s.data,t=e.fonts.filter(n=>!n.standard);return{key:"fonts",value:t.length,line:`${e.fonts.map(n=>`${n.name} (${n.where}${n.standard?"":", not standard"})`).join(", ")}${t.length>0?`: ${t.map(n=>n.name).join(", ")} goes in the file when the project has its font files (render says what could not); an app that does not read a file's fonts replaces it`:""}`}}case"cut-in-word":{const e=s.data;return{key:`${e.source}|${e.side}|${String(e.at)}`,value:Math.min(e.at-e.wordStart,e.wordEnd-e.at),line:`${e.source}: the stretch's ${e.side} at ${$(e.at)} s cuts "${e.word}" (${$(e.wordStart)}–${$(e.wordEnd)} s)`}}}}function v(s,e){const t=s.t===void 0?0:s.t-e;return n=>(n+t).toFixed(2)}function K(s,e,t,n){const[a,r]=t.b<t.a?[[e,t.b],[s,t.a]]:[[s,t.a],[e,t.b]];return`moving ${a[0]} ${m(a[1])} ${n} (${r[0]} ${m(r[1])}) clears them`}const m=s=>Math.abs(s)<.1?`${(s*1e3).toFixed(1)} mm`:`${s.toFixed(3)} m`;function O(s,e){const t=a=>`${String(a.speed)} px/s${a.angle===void 0?"":` at ${String(a.angle)}°`}`,n=e.list.map(a=>`${a.layer} ${a.what}${a.name?` (${a.name})`:""} ${p(a.box)} ${t(a)}${a.scale!==0?`, size ${a.scale>0?"+":""}${String(Math.round(a.scale*100))}%/s`:""}`);return` ${s} (${e.part} ${$(e.from)}–${$(e.to)} s): ${String(e.moving)} of ${g(e.things,"thing")} moving${e.overall?`, together ${t(e.overall)}`:""}${e.picture?`; the picture ${t(e.picture)} (difference ${String(e.picture.still)} → ${String(e.picture.match)} after the shift)`:""}${n.length>0?`: ${n.join("; ")}`:""}`}function D(s,e){const t=s.data.text;if(typeof t!="object"||t===null||!("layer"in t))return;const n=t,a=`${S(n)}: `;if(e.startsWith(a))return{layer:n.layer,text:n.text,what:e.slice(a.length)}}const C=3,L=8;function P(s,e=!1){const t=new Map;for(const o of s){const d=H(o),u=`${o.part??""}|${d.key}`,h=t.get(u);if(!h){const w=D(o,d.line);t.set(u,{part:o.part,...o.output==="slides"?{slide:!0}:{},first:o.t,last:o.t,count:1,worst:d.value,line:d.line,...w?{text:w}:{},...d.alike?{alike:d.alike}:{}});continue}if(h.count++,o.t!==void 0&&(h.first=Math.min(h.first??o.t,o.t),h.last=Math.max(h.last??o.t,o.t)),d.value>h.worst){h.worst=d.value,h.line=d.line,d.alike&&(h.alike=d.alike);const w=D(o,d.line);w?h.text=w:delete h.text}}const n=[...t.values()],a=new Map;if(!e)for(const o of n){if(!o.text)continue;const d=`${o.text.layer}|${o.text.what}`;a.set(d,[...a.get(d)??[],o])}const r=new Map;if(!e)for(const o of n){if(!o.alike||o.count>1)continue;const d=o.alike.what;r.set(d,[...r.get(d)??[],o])}const i=[],c=new Set;for(const o of n){if(c.has(o))continue;const d=o.alike?r.get(o.alike.what):void 0;if(d&&d.length>1&&o.alike){for(const y of d)c.add(y);const x=Math.min(...d.map(y=>y.alike?.span[0]??0)),E=Math.max(...d.map(y=>y.alike?.span[1]??0)),j=d.flatMap(y=>y.part?[y.part]:[]),W=j.length>L?`${j.slice(0,L).join(", ")} and ${String(j.length-L)} more`:j.join(", ");i.push(` ${$(x)}–${$(E)} s, the same in ${String(d.length)} parts (${W}): ${o.alike.what} (--all lists each)`);continue}const u=o.text?a.get(`${o.text.layer}|${o.text.what}`):void 0;if(!u||u.length<2||!o.text){i.push(l(o));continue}for(const x of u)c.add(x);const h=u.flatMap(x=>[x.first,x.last].filter(E=>E!==void 0)),w=[...new Set(u.flatMap(x=>x.part?[x.part]:[]))],z=Math.min(...h),B=Math.max(...h),I=h.length===0?"":z===B?`${$(z)} s `:`${$(z)}–${$(B)} s `,N=u.slice(0,C).map(x=>F(x.text?.text??"")),U=u.length>C?` and ${String(u.length-C)} more`:"";i.push(` ${I}${w.length>0?`${w.length===1?w[0]??"":`${String(w.length)} parts`}: `:""}${o.text.layer}: ${String(u.length)} texts, each ${o.text.what}: ${N.join(", ")}${U} (--all lists each)`)}return i;function l(o){return` ${o.first===void 0||o.slide?"":o.count===1||o.first===o.last?`${$(o.first)} s `:`${$(o.first)}–${$(o.last??o.first)} s (${String(o.count)} moments, the most shown) `}${o.part?`${o.part}: `:""}${o.line}`}}function q(s){const e=s[0];if(e?.kind==="still-picture"){const n=e.data.options;return`; a frame every ${String(n.every)} s, ${String(n.width)} px wide, still while ${b(n.change)} or less of its pixels moved more than ${String(n.noise)} levels from the stretch's first; ${n.minSeconds>0?`${String(n.minSeconds)} s or longer`:"every stretch"}`}if(e?.kind==="text-contrast"){const n=e.data.options;return`; WCAG 2.1 ratios over the pixels behind each line's glyphs, the ${String(n.percentile)}th percentile, captured at ${String(n.scale)}× the frame's pixels, blocks at ${f(n.opacity)} opacity or more. For reference, WCAG AA asks 4.5:1 (3:1 for large text, 24 px or 18.66 px bold, in CSS pixels), AAA 7:1 (4.5:1)`}if(e?.kind==="cut-seam"){const n=e.data.options;return`; velocities over ${String(n.frames)} frames each side, at rest under ${String(n.rest)} px/s; ${n.top>0?`the ${String(n.top)} largest things listed each side, moving ones first`:"every thing listed"}; 0° is rightward, 90° downward, ±180° leftward`}if(e?.kind==="flash"){const n=e.data.options;return`; each frame against the frames beside it, ${String(n.width)} px wide, a pixel outside their span by more than ${String(n.noise)} levels, from ${b(n.change)} of the pixels; runs of up to ${g(n.frames,"frame")}; beside a cut, only past ${String(n.usual)}× its shot's usual change a frame`}if(e?.kind==="near-alignment"){const n=e.data.options;return`; lines more than ${String(n.aligned)} pt and up to ${String(n.within)} pt apart`}if(e?.kind==="placement-drift")return`; places more than ${String(e.data.options.drift)} pt apart`;if(e?.kind==="read-size"){const{room:n,phone:a}=e.data.options;return`${n?`; a screen ${String(n.screen)} m wide, the farthest seat ${String(n.distance)} m away`:""}; a ${String(a[0])}×${String(a[1])} pt phone`}if(e?.kind!=="text-time"&&e?.kind!=="words-on-screen")return"";const t=e.data.options;return`; whole: every text node at ${f(t.opacity)} opacity or more with ${f(t.shown)} or more of its glyphs showing, each part looked at every ${String(t.every)} s`}export function formatFacts(s,e={}){const t=[],n=new Map;for(const a of s){const r=G(a);n.set(r,[...n.get(r)??[],a])}for(const[a,r]of n){const i=Object.keys(A).map(c=>[c,r.filter(l=>l.kind===c).length]).filter(([,c])=>c>0).map(([c,l])=>`${c} ${String(l)}`);t.push(`${a}: ${i.join(", ")}`);for(const c of Object.keys(A)){const l=r.filter(o=>o.kind===c);l.length!==0&&t.push(` ${A[c]} (${c})${q(l)}:`,...P(l,e.all===!0))}}return t}export const textOnScreen=s=>`${S(s)}${s.fonts?` in ${s.fonts.join(", ")}`:""}`;
@@ -1,3 +1,3 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- import{comboKey as m,factsOf as $}from"@allyhub-next/video-core";import{plural as i}from"./plural.js";import{consoleJson as w}from"@allyhub-next/project";import{formatConsole as g}from"./console-text.js";export function formatStats(t){const{total:a,checked:n,reused:s,covered:r}=t.outputs;return s===0&&r===0?`${i(a,"version")}, all checked this time`:n===0&&r===0?`${i(a,"version")} unchanged, results reused from the last check`:`${i(a,"version")}: ${[n>0?`${String(n)} checked this time`:"",s>0?`${String(s)} unchanged with results reused from the last check`:"",r>0?`${String(r)} made of parts checked in the others`:""].filter(Boolean).join(", ")}`}const x={error:"✖",warn:"⚠"};export function formatProblem(t){const a=[t.piece,t.combo?m(t.combo):void 0,t.format,t.part,t.t===void 0?void 0:`${t.t.toFixed(2)} s`].filter(Boolean).join(" · "),n=t.where?.file?` (${t.where.file}${t.where.line?`:${String(t.where.line)}`:""})`:"";return`${x[t.level]} ${t.code}${a?` [${a}]`:""} ${t.message}${n}`}export function formatReading(t){const a=$(t,"text-time").filter(e=>e.data.words>0);if(a.length===0)return;const n=e=>[e.piece,e.combo?m(e.combo):void 0,e.format,e.part,e.t===void 0?void 0:`${e.t.toFixed(2)} s`].filter(o=>o!==void 0&&o!=="").join(" · "),s=e=>e.length>40?`${e.slice(0,40)}…`:e,r=a.filter(e=>e.data.seconds>0),h=e=>e.data.seconds/e.data.words,d=r.reduce((e,o)=>!e||h(o)<h(e)?o:e,void 0),l=$(t,"words-on-screen").reduce((e,o)=>!e||o.data.words>e.data.words?o:e,void 0),c=r.reduce((e,o)=>o.data.size&&(!e?.data.size||o.data.size.phone<e.data.size.phone)?o:e,void 0),u=r.reduce((e,o)=>o.data.size?.lowercase&&(!e?.data.size?.lowercase||o.data.size.lowercase.phone<e.data.size.lowercase.phone)?o:e,void 0),f=a.length-r.length,p=[d?`least time per word ${h(d).toFixed(2)} s ("${s(d.data.text.text)}", ${i(d.data.words,"word")} whole for ${d.data.seconds.toFixed(2)} s; ${n(d)})`:void 0,c?.data.size?`smallest on a ${String(c.data.options.phone[0])}-point phone ${String(c.data.size.phone)} pt ("${s(c.data.text.text)}", ${String(c.data.size.px)} px; ${n(c)})`:void 0,u?.data.size?.lowercase?`smallest lowercase on a phone ${String(u.data.size.lowercase.phone)} pt ("${s(u.data.text.text)}", ${String(u.data.size.lowercase.px)} px; ${n(u)})`:void 0,f>0?`${i(f,"text")} never whole`:void 0,l?`most words whole at once ${String(l.data.words)} (${l.data.from.toFixed(2)}–${l.data.until.toFixed(2)} s; ${n(l)})`:void 0].filter(e=>e!==void 0);return`Text on screen, ${i(a.length,"text")} timed: ${p.join("; ")}. Each one: allyhub inspect --kind text-time,words-on-screen`}export function formatCheck(t){const a=new Set(t.targets.map(s=>s.piece)).size,n=[`${i(a,"piece")} · ${formatStats(t.stats)}`];n.push(...g(w(t.console)));for(const s of t.problems)n.push(formatProblem(s));if(t.facts.length>0){n.push(`${i(t.facts.length,"measurement")} for you to judge (text over the speaker, covered areas, flat frames, music length…): allyhub inspect`);const s=formatReading(t.facts);s!==void 0&&n.push(s)}return n.push(formatCounts(t.check)),n.join(`
3
- `)}export function formatCounts(t){return`Result: ${String(t.errors)} must-fix, ${i(t.warnings,"suggestion")}`}
2
+ import{comboKey as $,factsOf as m}from"@allyhub-next/video-core";import{plural as r}from"./plural.js";import{consoleJson as w}from"@allyhub-next/project";import{formatConsole as g}from"./console-text.js";export function formatStats(t){const{total:s,checked:o,reused:n,covered:a}=t.outputs;return n===0&&a===0?`${r(s,"version")}, all checked this time`:o===0&&a===0?`${r(s,"version")} unchanged, results reused from the last check`:`${r(s,"version")}: ${[o>0?`${String(o)} checked this time`:"",n>0?`${String(n)} unchanged with results reused from the last check`:"",a>0?`${String(a)} made of parts checked in the others`:""].filter(Boolean).join(", ")}`}const x={error:"✖",warn:"⚠"};export function formatProblem(t){const s=[t.piece,t.combo?$(t.combo):void 0,t.format,t.part,t.t===void 0?void 0:`${t.t.toFixed(2)} s`].filter(Boolean).join(" · "),o=t.where?.file?` (${t.where.file}${t.where.line?`:${String(t.where.line)}`:""})`:"";return`${x[t.level]} ${t.code}${s?` [${s}]`:""} ${t.message}${o}`}export function formatReading(t){const s=m(t,"text-time").filter(e=>e.data.words>0);if(s.length===0)return;const o=e=>[e.piece,e.combo?$(e.combo):void 0,e.format,e.part,e.t===void 0?void 0:`${e.t.toFixed(2)} s`].filter(i=>i!==void 0&&i!=="").join(" · "),n=e=>e.length>40?`${e.slice(0,40)}…`:e,a=s.filter(e=>e.data.seconds>0),h=e=>e.data.seconds/e.data.words,d=a.reduce((e,i)=>!e||h(i)<h(e)?i:e,void 0),l=m(t,"words-on-screen").reduce((e,i)=>!e||i.data.words>e.data.words?i:e,void 0),c=a.reduce((e,i)=>i.data.size&&(!e?.data.size||i.data.size.phone<e.data.size.phone)?i:e,void 0),u=a.reduce((e,i)=>i.data.size?.lowercase&&(!e?.data.size?.lowercase||i.data.size.lowercase.phone<e.data.size.lowercase.phone)?i:e,void 0),f=s.length-a.length,p=[d?`least time per word ${h(d).toFixed(2)} s ("${n(d.data.text.text)}", ${r(d.data.words,"word")} whole for ${d.data.seconds.toFixed(2)} s; ${o(d)})`:void 0,c?.data.size?`smallest on a ${String(c.data.options.phone[0])}-point phone ${String(c.data.size.phone)} pt ("${n(c.data.text.text)}", ${String(c.data.size.px)} px; ${o(c)})`:void 0,u?.data.size?.lowercase?`smallest lowercase on a phone ${String(u.data.size.lowercase.phone)} pt ("${n(u.data.text.text)}", ${String(u.data.size.lowercase.px)} px; ${o(u)})`:void 0,f>0?`${r(f,"text")} never whole`:void 0,l?`most words whole at once ${String(l.data.words)} (${l.data.from.toFixed(2)}–${l.data.until.toFixed(2)} s; ${o(l)})`:void 0].filter(e=>e!==void 0);return`Text on screen, ${r(s.length,"text")} timed: ${p.join("; ")}. Each one: allyhub inspect --kind text-time,words-on-screen`}function z(t){const s=new Map;for(const n of t)s.set(n.kind,(s.get(n.kind)??0)+1);const o=[...s.entries()].sort((n,a)=>a[1]-n[1]).map(([n])=>n);return`${o.slice(0,4).join(", ")}${o.length>4?"…":""}`}export function formatCheck(t){const s=new Set(t.targets.map(n=>n.piece)).size,o=[`${r(s,"piece")} · ${formatStats(t.stats)}`];o.push(...g(w(t.console)));for(const n of t.problems)o.push(formatProblem(n));if(t.facts.length>0){o.push(`${r(t.facts.length,"measurement")} for you to judge (${z(t.facts)}): allyhub inspect`);const n=formatReading(t.facts);n!==void 0&&o.push(n)}return o.push(formatCounts(t.check)),o.join(`
3
+ `)}export function formatCounts(t){return`Result: ${String(t.errors)} must-fix, ${r(t.warnings,"suggestion")}`}
package/dist/works.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- export const WORKS=[{name:"video",title:"Making a video (one piece, or a batch of ads in combos)",commands:["check","frames","inspect","inspect layout","inspect timeline","inspect motion","inspect still","inspect contrast","inspect seams","inspect flash","inspect loop","inspect combos","audio","add","dev","render"],docs:["video.md","layers.md","speech.md","sound.md"]},{name:"footage",title:"Cutting recorded footage: a talking head, an interview",commands:["words","words edits","align","frames cuts","audio recording","render"],docs:["footage.md","speech.md"]},{name:"slides",title:"Making a deck",commands:["check","frames","inspect layout","dev","render"],docs:["slides.md","layers.md"]},{name:"docs",title:"Writing a doc",commands:["check","dev","render"],docs:["docs.md"]},{name:"sheets",title:"Making a sheet",commands:["sheet import","sheet","check","dev","render"],docs:["sheets.md"]},{name:"websites",title:"Showing a project's videos in a website (an Astro project)",commands:["site media","render"],docs:["project.md"]},{name:"generating",title:"Making media with AI models",commands:["<work>","<work> <tool>","upload","voice"],cloud:{works:["ai-media"]}},{name:"researching",title:"Researching a market online",commands:["<work>","<work> <tool>","frames web"],cloud:{}},{name:"references",title:"Studying reference videos, and a piece against them",commands:["reference","reference compare","reference served","reference set","frames","frames compare","words","audio","align"]},{name:"3d",title:"Building a 3D scenery and its cameras",commands:["scenery","scenery view","scenery map","scenery see","scenery measure","scenery motion","scenery solve","scenery bake","inspect fidelity","dev"],docs:["scenery.md"]},{name:"modeling",title:"Modelling a prop in code, or adding one from a library",commands:["add search","add","3d-model","3d-model capabilities"],docs:["modeling.md","scenery.md"]},{name:"setup",title:"This computer, the account and AllyHub's skills",commands:["skills","skills show","auth login","auth status","auth logout","auth token","orgs list","orgs switch","doctor","mcp"]}],workNamed=e=>WORKS.find(n=>n.name===e);export function cloudNouns(e,n){if(e.cloud===void 0)return[];const s=new Set(WORKS.flatMap(o=>o.cloud?.works??[])),t=e.cloud.works;return n.filter(o=>t===void 0?!s.has(o.name):t.includes(o.name))}export function workTitle(e,n){if(e.cloud===void 0)return e.title;if(n===void 0)return`${e.title} (the cloud catalog could not be read)`;const s=cloudNouns(e,n);return s.length===0?`${e.title}: no cloud tools yet`:`${e.title}: ${s.map(t=>t.name).join(", ")}`}
2
+ export const WORKS=[{name:"video",title:"Making a video (one piece, or a batch of ads in combos)",commands:["check","frames","inspect","inspect layout","inspect timeline","inspect motion","inspect still","inspect contrast","inspect seams","inspect flash","inspect loop","inspect combos","audio","add","dev","render"],docs:["video.md","layers.md","speech.md","sound.md"]},{name:"footage",title:"Cutting recorded footage: a talking head, an interview",commands:["words","words edits","align","frames cuts","audio recording","render"],docs:["footage.md","speech.md"]},{name:"decks",title:"Making a deck",commands:["slides capabilities","slides import","check","frames","inspect layout","inspect contrast","dev","render"],docs:["slides.md","layers.md"]},{name:"docs",title:"Writing a doc",commands:["check","dev","render"],docs:["docs.md"]},{name:"sheets",title:"Making a sheet",commands:["sheet import","sheet","check","dev","render"],docs:["sheets.md"]},{name:"websites",title:"Showing a project's videos in a website (an Astro project)",commands:["site media","render"],docs:["project.md"]},{name:"generating",title:"Making media with AI models",commands:["<work>","<work> <tool>","upload","voice"],cloud:{works:["ai-media"]}},{name:"researching",title:"Researching a market online",commands:["<work>","<work> <tool>","frames web"],cloud:{}},{name:"references",title:"Studying reference videos, and a piece against them",commands:["reference","reference compare","reference served","reference set","frames","frames compare","words","audio","align"]},{name:"3d",title:"Building a 3D scenery and its cameras",commands:["scenery","scenery view","scenery map","scenery see","scenery measure","scenery motion","scenery solve","scenery bake","inspect fidelity","dev"],docs:["scenery.md"]},{name:"modeling",title:"Modelling a prop in code, or adding one from a library",commands:["add search","add","3d-model","3d-model capabilities"],docs:["modeling.md","scenery.md"]},{name:"setup",title:"This computer, the account and AllyHub's skills",commands:["skills","skills show","auth login","auth status","orgs list","doctor"]}],workNamed=e=>WORKS.find(n=>n.name===e);export function cloudNouns(e,n){if(e.cloud===void 0)return[];const s=new Set(WORKS.flatMap(o=>o.cloud?.works??[])),t=e.cloud.works;return n.filter(o=>t===void 0?!s.has(o.name):t.includes(o.name))}export function workTitle(e,n){if(e.cloud===void 0)return e.title;if(n===void 0)return`${e.title} (the cloud catalog could not be read)`;const s=cloudNouns(e,n);return s.length===0?`${e.title}: no cloud tools yet`:`${e.title}: ${s.map(t=>t.name).join(", ")}`}
@@ -0,0 +1,105 @@
1
+ import{Ot as e}from"./react-D0RmGe2w.js";var t=e(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),n=e(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),r=e(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),i=e(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),a=Symbol.for(`yaml.alias`),o=Symbol.for(`yaml.document`),s=Symbol.for(`yaml.map`),c=Symbol.for(`yaml.pair`),l=Symbol.for(`yaml.scalar`),u=Symbol.for(`yaml.seq`),d=Symbol.for(`yaml.node.type`),f=e=>!!e&&typeof e==`object`&&e[d]===a,p=e=>!!e&&typeof e==`object`&&e[d]===o,m=e=>!!e&&typeof e==`object`&&e[d]===s,h=e=>!!e&&typeof e==`object`&&e[d]===c,g=e=>!!e&&typeof e==`object`&&e[d]===l,_=e=>!!e&&typeof e==`object`&&e[d]===u;function v(e){if(e&&typeof e==`object`)switch(e[d]){case s:case u:return!0}return!1}function y(e){if(e&&typeof e==`object`)switch(e[d]){case a:case s:case l:case u:return!0}return!1}var b=e=>(g(e)||v(e))&&!!e.anchor,x=Symbol(`break visit`),S=Symbol(`skip children`),C=Symbol(`remove node`);function w(e,t){let n=E(t);p(e)?T(null,e.contents,n,Object.freeze([e]))===C&&(e.contents=null):T(null,e,n,Object.freeze([]))}w.BREAK=x,w.SKIP=S,w.REMOVE=C;function T(e,t,n,r){let i=ee(e,t,n,r);if(y(i)||h(i))return te(e,r,i),T(e,i,n,r);if(typeof i!=`symbol`){if(v(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=T(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===x)return x;else i===C&&(t.items.splice(e,1),--e)}}else if(h(t)){r=Object.freeze(r.concat(t));let e=T(`key`,t.key,n,r);if(e===x)return x;e===C&&(t.key=null);let i=T(`value`,t.value,n,r);if(i===x)return x;i===C&&(t.value=null)}}return i}function E(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function ee(e,t,n,r){if(typeof n==`function`)return n(e,t,r);if(m(t))return n.Map?.(e,t,r);if(_(t))return n.Seq?.(e,t,r);if(h(t))return n.Pair?.(e,t,r);if(g(t))return n.Scalar?.(e,t,r);if(f(t))return n.Alias?.(e,t,r)}function te(e,t,n){let r=t[t.length-1];if(v(r))r.items[e]=n;else if(h(r))e===`key`?r.key=n:r.value=n;else if(p(r))r.contents=n;else{let e=f(r)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}var ne={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},re=e=>e.replace(/[!,[\]{}]/g,e=>ne[e]),D=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags)}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+re(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],n=Object.entries(this.tags),r;if(e&&n.length>0&&y(e.contents)){let t={};w(e.contents,(e,n)=>{y(n)&&n.tag&&(t[n.tag]=!0)}),r=Object.keys(t)}else r=[];for(let[i,a]of n)i===`!!`&&a===`tag:yaml.org,2002:`||e&&!r.some(e=>e.startsWith(a))||t.push(`%TAG ${i} ${a}`);return t.join(`
2
+ `)}};D.defaultYaml={explicit:!1,version:`1.2`},D.defaultTags={"!!":`tag:yaml.org,2002:`};function ie(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(t)}return!0}function ae(e){let t=new Set;return w(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function oe(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function se(e,t){let n=[],r=new Map,i=null;return{onAnchor:r=>{n.push(r),i??=ae(e);let a=oe(t,i);return i.add(a),a},setAnchors:()=>{for(let e of n){let t=r.get(e);if(typeof t==`object`&&t.anchor&&(g(t.node)||v(t.node)))t.node.anchor=t.anchor;else{let t=Error(`Failed to resolve repeated object (this should not happen)`);throw t.source=e,t}}},sourceObjects:r}}function O(e,t,n,r){if(r&&typeof r==`object`){if(Array.isArray(r))for(let t=0,n=r.length;t<n;++t){let n=r[t],i=O(e,r,String(t),n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}else if(r instanceof Map)for(let t of Array.from(r.keys())){let n=r.get(t),i=O(e,r,t,n);i===void 0?r.delete(t):i!==n&&r.set(t,i)}else if(r instanceof Set)for(let t of Array.from(r)){let n=O(e,r,t,t);n===void 0?r.delete(t):n!==t&&(r.delete(t),r.add(n))}else for(let[t,n]of Object.entries(r)){let i=O(e,r,t,n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}}return e.call(t,n,r)}function k(e,t,n){if(Array.isArray(e))return e.map((e,t)=>k(e,String(t),n));if(e&&typeof e.toJSON==`function`){if(!n||!b(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=e=>{r.res=e,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e==`bigint`&&!n?.keep?Number(e):e}var ce=class{constructor(e){Object.defineProperty(this,d,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:i}={}){if(!p(e))throw TypeError(`A document argument is required`);let a={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n==`number`?n:100},o=k(this,``,a);if(typeof r==`function`)for(let{count:e,res:t}of a.anchors.values())r(t,e);return typeof i==`function`?O(i,{"":o},``,o):o}},le=class extends ce{constructor(e){super(a),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error(`Alias nodes cannot have tags`)}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError(`Alias resolution is disabled`);let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],w(e,{Node:(e,t)=>{(f(t)||b(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n));let r;for(let e of n){if(e===this)break;e.anchor===this.source&&(r=e)}if(r&&t){let{anchors:e,doc:n,maxAliasCount:i}=t,a=e.get(r);if(a||=(k(r,null,t),e.get(r)),a?.res===void 0)throw ReferenceError(`This should not happen: Alias anchor was not resolved?`);if(i>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=ue(n,r,e)),a.count*a.aliasCount>i))throw ReferenceError(`Excessive alias count indicates a resource exhaustion attack`)}return r}toJSON(e,t){if(!t)return{source:this.source};let n=this.resolve(t.doc,t);if(!n){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(e)}return t.anchors.get(n).res}toString(e,t,n){let r=`*${this.source}`;if(e){if(ie(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(e)}if(e.implicitKey)return`${r} `}return r}};function ue(e,t,n){if(f(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}if(v(t)){let r=0;for(let i of t.items){let t=ue(e,i,n);t>r&&(r=t)}return r}if(h(t)){let r=ue(e,t.key,n),i=ue(e,t.value,n);return Math.max(r,i)}return 1}var de=e=>!e||typeof e!=`function`&&typeof e!=`object`,A=class extends ce{constructor(e){super(l),this.value=e}toJSON(e,t){return t?.keep?this.value:k(this.value,e,t)}toString(){return String(this.value)}};A.BLOCK_FOLDED=`BLOCK_FOLDED`,A.BLOCK_LITERAL=`BLOCK_LITERAL`,A.PLAIN=`PLAIN`,A.QUOTE_DOUBLE=`QUOTE_DOUBLE`,A.QUOTE_SINGLE=`QUOTE_SINGLE`;var fe=`tag:yaml.org,2002:`;function pe(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}function me(e,t,n){if(p(e)&&(e=e.contents),y(e))return e;if(h(e)){let t=n.schema[s].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<`u`&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:r,onAnchor:i,onTagObj:a,schema:o,sourceObjects:c}=n,l;if(r&&e&&typeof e==`object`){if(l=c.get(e),l)return l.anchor??(l.anchor=i(e)),new le(l.anchor);l={anchor:null,node:null},c.set(e,l)}t?.startsWith(`!!`)&&(t=fe+t.slice(2));let d=pe(e,t,o.tags);if(!d){if(e&&typeof e.toJSON==`function`&&(e=e.toJSON()),!e||typeof e!=`object`){let t=new A(e);return l&&(l.node=t),t}d=e instanceof Map?o[s]:Symbol.iterator in Object(e)?o[u]:o[s]}a&&(a(d),delete n.onTagObj);let f=d?.createNode?d.createNode(n.schema,e,n):typeof d?.nodeClass?.from==`function`?d.nodeClass.from(n.schema,e,n):new A(e);return t?f.tag=t:d.default||(f.tag=d.tag),l&&(l.node=f),f}function he(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if(typeof n==`number`&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return me(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}var j=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done,ge=class extends ce{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>y(t)||h(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(j(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(v(i))i.addIn(r,t);else if(i===void 0&&this.schema)this.set(n,he(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let r=this.get(t,!0);if(v(r))return r.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...r]=e,i=this.get(n,!0);return r.length===0?!t&&g(i)?i.value:i:v(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!h(t))return!1;let n=t.value;return n==null||e&&g(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let r=this.get(t,!0);return v(r)?r.hasIn(n):!1}setIn(e,t){let[n,...r]=e;if(r.length===0)this.set(n,t);else{let e=this.get(n,!0);if(v(e))e.setIn(r,t);else if(e===void 0&&this.schema)this.set(n,he(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}},_e=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function M(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var N=(e,t,n)=>e.endsWith(`
3
+ `)?M(n,t):n.includes(`
4
+ `)?`
5
+ `+M(n,t):(e.endsWith(` `)?``:` `)+n,ve=`flow`,ye=`block`,be=`quoted`;function xe(e,t,n=`flow`,{indentAtStart:r,lineWidth:i=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){if(!i||i<0)return e;i<a&&(a=0);let c=Math.max(1+a,1+i-t.length);if(e.length<=c)return e;let l=[],u={},d=i-t.length;typeof r==`number`&&(r>i-Math.max(2,a)?l.push(0):d=i-r);let f,p,m=!1,h=-1,g=-1,_=-1;n===`block`&&(h=Se(e,h,t.length),h!==-1&&(d=h+c));for(let r;r=e[h+=1];){if(n===`quoted`&&r===`\\`){switch(g=h,e[h+1]){case`x`:h+=3;break;case`u`:h+=5;break;case`U`:h+=9;break;default:h+=1}_=h}if(r===`
6
+ `)n===`block`&&(h=Se(e,h,t.length)),d=h+t.length+c,f=void 0;else{if(r===` `&&p&&p!==` `&&p!==`
7
+ `&&p!==` `){let t=e[h+1];t&&t!==` `&&t!==`
8
+ `&&t!==` `&&(f=h)}if(h>=d){if(f)l.push(f),d=f+c,f=void 0;else if(n===`quoted`){for(;p===` `||p===` `;)p=r,r=e[h+=1],m=!0;let t=h>_+1?h-2:g-1;if(u[t])return e;l.push(t),u[t]=!0,d=t+c,f=void 0}else m=!0}}p=r}if(m&&s&&s(),l.length===0)return e;o&&o();let v=e.slice(0,l[0]);for(let r=0;r<l.length;++r){let i=l[r],a=l[r+1]||e.length;i===0?v=`\n${t}${e.slice(0,a)}`:(n===`quoted`&&u[i]&&(v+=`${e[i]}\\`),v+=`\n${t}${e.slice(i+1,a)}`)}return v}function Se(e,t,n){let r=t,i=t+1,a=e[i];for(;a===` `||a===` `;)if(t<i+n)a=e[++t];else{do a=e[++t];while(a&&a!==`
9
+ `);r=t,i=t+1,a=e[i]}return r}var Ce=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),we=e=>/^(%|---|\.\.\.)/m.test(e);function Te(e,t,n){if(!t||t<0)return!1;let r=t-n,i=e.length;if(i<=r)return!1;for(let t=0,n=0;t<i;++t)if(e[t]===`
10
+ `){if(t-n>r)return!0;if(n=t+1,i-n<=r)return!1}return!0}function P(e,t){let n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;let{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,a=t.indent||(we(e)?` `:``),o=``,s=0;for(let e=0,t=n[e];t;t=n[++e])if(t===` `&&n[e+1]===`\\`&&n[e+2]===`n`&&(o+=n.slice(s,e)+`\\ `,e+=1,s=e,t=`\\`),t===`\\`)switch(n[e+1]){case`u`:{o+=n.slice(s,e);let t=n.substr(e+2,4);switch(t){case`0000`:o+=`\\0`;break;case`0007`:o+=`\\a`;break;case`000b`:o+=`\\v`;break;case`001b`:o+=`\\e`;break;case`0085`:o+=`\\N`;break;case`00a0`:o+=`\\_`;break;case`2028`:o+=`\\L`;break;case`2029`:o+=`\\P`;break;default:t.substr(0,2)===`00`?o+=`\\x`+t.substr(2):o+=n.substr(e,6)}e+=5,s=e+1}break;case`n`:if(r||n[e+2]===`"`||n.length<i)e+=1;else{for(o+=n.slice(s,e)+`
11
+
12
+ `;n[e+2]===`\\`&&n[e+3]===`n`&&n[e+4]!==`"`;)o+=`
13
+ `,e+=2;o+=a,n[e+2]===` `&&(o+=`\\`),e+=1,s=e+1}break;default:e+=1}return o=s?o+n.slice(s):n,r?o:xe(o,a,be,Ce(t,!1))}function Ee(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
14
+ `)||/[ \t]\n|\n[ \t]/.test(e))return P(e,t);let n=t.indent||(we(e)?` `:``),r=`'`+e.replace(/'/g,`''`).replace(/\n+/g,`$&\n${n}`)+`'`;return t.implicitKey?r:xe(r,n,ve,Ce(t,!1))}function F(e,t){let{singleQuote:n}=t.options,r;if(n===!1)r=P;else{let t=e.includes(`"`),i=e.includes(`'`);r=t&&!i?Ee:i&&!t?P:n?Ee:P}return r(e,t)}var De;try{De=RegExp(`(^|(?<!
15
+ ))
16
+ +(?!
17
+ |$)`,`g`)}catch{De=/\n+(?!\n|$)/g}function Oe({comment:e,type:t,value:n},r,i,a){let{blockQuote:o,commentString:s,lineWidth:c}=r.options;if(!o||/\n[\t ]+$/.test(n))return F(n,r);let l=r.indent||(r.forceBlockIndent||we(n)?` `:``),u=o===`literal`?!0:o===`folded`||t===A.BLOCK_FOLDED?!1:t===A.BLOCK_LITERAL||!Te(n,c,l.length);if(!n)return u?`|
18
+ `:`>
19
+ `;let d,f;for(f=n.length;f>0;--f){let e=n[f-1];if(e!==`
20
+ `&&e!==` `&&e!==` `)break}let p=n.substring(f),m=p.indexOf(`
21
+ `);m===-1?d=`-`:n===p||m!==p.length-1?(d=`+`,a&&a()):d=``,p&&=(n=n.slice(0,-p.length),p[p.length-1]===`
22
+ `&&(p=p.slice(0,-1)),p.replace(De,`$&${l}`));let h=!1,g,_=-1;for(g=0;g<n.length;++g){let e=n[g];if(e===` `)h=!0;else if(e===`
23
+ `)_=g;else break}let v=n.substring(0,_<g?_+1:g);v&&=(n=n.substring(v.length),v.replace(/\n+/g,`$&${l}`));let y=(h?l?`2`:`1`:``)+d;if(e&&(y+=` `+s(e.replace(/ ?[\r\n]+/g,` `)),i&&i()),!u){let e=n.replace(/\n+/g,`
24
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\n+/g,`$&${l}`),i=!1,a=Ce(r,!0);o!==`folded`&&t!==A.BLOCK_FOLDED&&(a.onOverflow=()=>{i=!0});let s=xe(`${v}${e}${p}`,l,ye,a);if(!i)return`>${y}\n${l}${s}`}return n=n.replace(/\n+/g,`$&${l}`),`|${y}\n${l}${v}${n}${p}`}function ke(e,t,n,r){let{type:i,value:a}=e,{actualString:o,implicitKey:s,indent:c,indentStep:l,inFlow:u}=t;if(s&&a.includes(`
25
+ `)||u&&/[[\]{},]/.test(a))return F(a,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(a))return s||u||!a.includes(`
26
+ `)?F(a,t):Oe(e,t,n,r);if(!s&&!u&&i!==A.PLAIN&&a.includes(`
27
+ `))return Oe(e,t,n,r);if(we(a)){if(c===``)return t.forceBlockIndent=!0,Oe(e,t,n,r);if(s&&c===l)return F(a,t)}let d=a.replace(/\n+/g,`$&\n${c}`);if(o){let e=e=>e.default&&e.tag!==`tag:yaml.org,2002:str`&&e.test?.test(d),{compat:n,tags:r}=t.doc.schema;if(r.some(e)||n?.some(e))return F(a,t)}return s?d:xe(d,c,ve,Ce(t,!1))}function Ae(e,t,n,r){let{implicitKey:i,inFlow:a}=t,o=typeof e.value==`string`?e:Object.assign({},e,{value:String(e.value)}),{type:s}=e;s!==A.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(s=A.QUOTE_DOUBLE);let c=e=>{switch(e){case A.BLOCK_FOLDED:case A.BLOCK_LITERAL:return i||a?F(o.value,t):Oe(o,t,n,r);case A.QUOTE_DOUBLE:return P(o.value,t);case A.QUOTE_SINGLE:return Ee(o.value,t);case A.PLAIN:return ke(o,t,n,r);default:return null}},l=c(s);if(l===null){let{defaultKeyType:e,defaultStringType:n}=t.options,r=i&&e||n;if(l=c(r),l===null)throw Error(`Unsupported default string type ${r}`)}return l}function je(e,t){let n=Object.assign({blockQuote:!0,commentString:_e,defaultKeyType:null,defaultStringType:`PLAIN`,directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:`false`,flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:`null`,simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:`true`,verifyAliasOrder:!0},e.schema.toStringOptions,t),r;switch(n.collectionStyle){case`block`:r=!1;break;case`flow`:r=!0;break;default:r=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?` `:``,indent:``,indentStep:typeof n.indent==`number`?` `.repeat(n.indent):` `,inFlow:r,options:n}}function Me(e,t){if(t.tag){let n=e.filter(e=>e.tag===t.tag);if(n.length>0)return n.find(e=>e.format===t.format)??n[0]}let n,r;if(g(t)){r=t.value;let i=e.filter(e=>e.identify?.(r));if(i.length>1){let e=i.filter(e=>e.test);e.length>0&&(i=e)}n=i.find(e=>e.format===t.format)??i.find(e=>!e.format)}else r=t,n=e.find(e=>e.nodeClass&&r instanceof e.nodeClass);if(!n){let e=r?.constructor?.name??(r===null?`null`:typeof r);throw Error(`Tag not resolved for ${e} value`)}return n}function Ne(e,t,{anchors:n,doc:r}){if(!r.directives)return``;let i=[],a=(g(e)||v(e))&&e.anchor;a&&ie(a)&&(n.add(a),i.push(`&${a}`));let o=e.tag??(t.default?null:t.tag);return o&&i.push(r.directives.tagString(o)),i.join(` `)}function I(e,t,n,r){if(h(e))return e.toString(t,n,r);if(f(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError(`Cannot stringify circular structure without alias nodes`);t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let i,a=y(e)?e:t.doc.createNode(e,{onTagObj:e=>i=e});i??=Me(t.doc.schema.tags,a);let o=Ne(a,i,t);o.length>0&&(t.indentAtStart=(t.indentAtStart??0)+o.length+1);let s=typeof i.stringify==`function`?i.stringify(a,t,n,r):g(a)?Ae(a,t,n,r):a.toString(t,n,r);return o?g(a)||s[0]===`{`||s[0]===`[`?`${o} ${s}`:`${o}\n${t.indent}${s}`:s}function Pe({key:e,value:t},n,r,i){let{allNullValues:a,doc:o,indent:s,indentStep:c,options:{commentString:l,indentSeq:u,simpleKeys:d}}=n,f=y(e)&&e.comment||null;if(d){if(f)throw Error(`With simple keys, key nodes cannot have comments`);if(v(e)||!y(e)&&typeof e==`object`)throw Error(`With simple keys, collection cannot be used as a key value`)}let p=!d&&(!e||f&&t==null&&!n.inFlow||v(e)||(g(e)?e.type===A.BLOCK_FOLDED||e.type===A.BLOCK_LITERAL:typeof e==`object`));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(d||!a),indent:s+c});let m=!1,h=!1,b=I(e,n,()=>m=!0,()=>h=!0);if(!p&&!n.inFlow&&b.length>1024){if(d)throw Error(`With simple keys, single line scalar must not span more than 1024 characters`);p=!0}if(n.inFlow){if(a||t==null)return m&&r&&r(),b===``?`?`:p?`? ${b}`:b}else if(a&&!d||t==null&&p)return b=`? ${b}`,f&&!m?b+=N(b,n.indent,l(f)):h&&i&&i(),b;m&&(f=null),p?(f&&(b+=N(b,n.indent,l(f))),b=`? ${b}\n${s}:`):(b=`${b}:`,f&&(b+=N(b,n.indent,l(f))));let x,S,C;y(t)?(x=!!t.spaceBefore,S=t.commentBefore,C=t.comment):(x=!1,S=null,C=null,t&&typeof t==`object`&&(t=o.createNode(t))),n.implicitKey=!1,!p&&!f&&g(t)&&(n.indentAtStart=b.length+1),h=!1,!u&&c.length>=2&&!n.inFlow&&!p&&_(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let w=!1,T=I(t,n,()=>w=!0,()=>h=!0),E=` `;if(f||x||S){if(E=x?`
28
+ `:``,S){let e=l(S);E+=`\n${M(e,n.indent)}`}T===``&&!n.inFlow?E===`
29
+ `&&C&&(E=`
30
+
31
+ `):E+=`\n${n.indent}`}else if(!p&&v(t)){let e=T[0],r=T.indexOf(`
32
+ `),i=r!==-1,a=n.inFlow??t.flow??t.items.length===0;if(i||!a){let t=!1;if(i&&(e===`&`||e===`!`)){let n=T.indexOf(` `);e===`&`&&n!==-1&&n<r&&T[n+1]===`!`&&(n=T.indexOf(` `,n+1)),(n===-1||r<n)&&(t=!0)}t||(E=`\n${n.indent}`)}}else(T===``||T[0]===`
33
+ `)&&(E=``);return b+=E+T,n.inFlow?w&&r&&r():C&&!w?b+=N(b,n.indent,l(C)):h&&i&&i(),b}function Fe(e,t){(e===`debug`||e===`warn`)&&console.warn(t)}var Ie=`<<`,L={identify:e=>e===Ie||typeof e==`symbol`&&e.description===Ie,default:`key`,tag:`tag:yaml.org,2002:merge`,test:/^<<$/,resolve:()=>Object.assign(new A(Symbol(Ie)),{addToJSMap:Re}),stringify:()=>Ie},Le=(e,t)=>(L.identify(t)||g(t)&&(!t.type||t.type===A.PLAIN)&&L.identify(t.value))&&e?.doc.schema.tags.some(e=>e.tag===L.tag&&e.default);function Re(e,t,n){let r=Be(e,n);if(_(r))for(let n of r.items)ze(e,t,n);else if(Array.isArray(r))for(let n of r)ze(e,t,n);else ze(e,t,r)}function ze(e,t,n){let r=Be(e,n);if(!m(r))throw Error(`Merge sources must be maps or map aliases`);let i=r.toJSON(null,e,Map);for(let[e,n]of i)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0});return t}function Be(e,t){return e&&f(t)?t.resolve(e.doc,e):t}function Ve(e,t,{key:n,value:r}){if(y(n)&&n.addToJSMap)n.addToJSMap(e,t,r);else if(Le(e,n))Re(e,t,r);else{let i=k(n,``,e);if(t instanceof Map)t.set(i,k(r,i,e));else if(t instanceof Set)t.add(i);else{let a=He(n,i,e),o=k(r,a,e);a in t?Object.defineProperty(t,a,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[a]=o}}return t}function He(e,t,n){if(t===null)return``;if(typeof t!=`object`)return String(t);if(y(e)&&n?.doc){let t=je(n.doc,{});t.anchors=new Set;for(let e of n.anchors.keys())t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;let r=e.toString(t);if(!n.mapKeyWarned){let e=JSON.stringify(r);e.length>40&&(e=e.substring(0,36)+`..."`),Fe(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}function Ue(e,t,n){return new R(me(e,void 0,n),me(t,void 0,n))}var R=class e{constructor(e,t=null){Object.defineProperty(this,d,{value:c}),this.key=e,this.value=t}clone(t){let{key:n,value:r}=this;return y(n)&&(n=n.clone(t)),y(r)&&(r=r.clone(t)),new e(n,r)}toJSON(e,t){return Ve(t,t?.mapAsMap?new Map:{},this)}toString(e,t,n){return e?.doc?Pe(this,e,t,n):JSON.stringify(this)}};function We(e,t,n){return(t.inFlow??e.flow?Ke:Ge)(e,t,n)}function Ge({comment:e,items:t},n,{blockItemPrefix:r,flowChars:i,itemIndent:a,onChompKeep:o,onComment:s}){let{indent:c,options:{commentString:l}}=n,u=Object.assign({},n,{indent:a,type:null}),d=!1,f=[];for(let e=0;e<t.length;++e){let i=t[e],o=null;if(y(i))!d&&i.spaceBefore&&f.push(``),qe(n,f,i.commentBefore,d),i.comment&&(o=i.comment);else if(h(i)){let e=y(i.key)?i.key:null;e&&(!d&&e.spaceBefore&&f.push(``),qe(n,f,e.commentBefore,d))}d=!1;let s=I(i,u,()=>o=null,()=>d=!0);o&&(s+=N(s,a,l(o))),d&&o&&(d=!1),f.push(r+s)}let p;if(f.length===0)p=i.start+i.end;else{p=f[0];for(let e=1;e<f.length;++e){let t=f[e];p+=t?`\n${c}${t}`:`
34
+ `}}return e?(p+=`
35
+ `+M(l(e),c),s&&s()):d&&o&&o(),p}function Ke({items:e},t,{flowChars:n,itemIndent:r}){let{indent:i,indentStep:a,flowCollectionPadding:o,options:{commentString:s}}=t;r+=a;let c=Object.assign({},t,{indent:r,inFlow:!0,type:null}),l=!1,u=0,d=[];for(let n=0;n<e.length;++n){let i=e[n],a=null;if(y(i))i.spaceBefore&&d.push(``),qe(t,d,i.commentBefore,!1),i.comment&&(a=i.comment);else if(h(i)){let e=y(i.key)?i.key:null;e&&(e.spaceBefore&&d.push(``),qe(t,d,e.commentBefore,!1),e.comment&&(l=!0));let n=y(i.value)?i.value:null;n?(n.comment&&(a=n.comment),n.commentBefore&&(l=!0)):i.value==null&&e?.comment&&(a=e.comment)}a&&(l=!0);let o=I(i,c,()=>a=null);l||=d.length>u||o.includes(`
36
+ `),n<e.length-1?o+=`,`:t.options.trailingComma&&(t.options.lineWidth>0&&(l||=d.reduce((e,t)=>e+t.length+2,2)+(o.length+2)>t.options.lineWidth),l&&(o+=`,`)),a&&(o+=N(o,r,s(a))),d.push(o),u=d.length}let{start:f,end:p}=n;if(d.length===0)return f+p;if(!l){let e=d.reduce((e,t)=>e+t.length+2,2);l=t.options.lineWidth>0&&e>t.options.lineWidth}if(l){let e=f;for(let t of d)e+=t?`\n${a}${i}${t}`:`
37
+ `;return`${e}\n${i}${p}`}return`${f}${o}${d.join(` `)}${o}${p}`}function qe({indent:e,options:{commentString:t}},n,r,i){if(r&&i&&(r=r.replace(/^\n+/,``)),r){let i=M(t(r),e);n.push(i.trimStart())}}function z(e,t){let n=g(t)?t.value:t;for(let r of e)if(h(r)&&(r.key===t||r.key===n||g(r.key)&&r.key.value===n))return r}var B=class extends ge{static get tagName(){return`tag:yaml.org,2002:map`}constructor(e){super(s,e),this.items=[]}static from(e,t,n){let{keepUndefined:r,replacer:i}=n,a=new this(e),o=(e,o)=>{if(typeof i==`function`)o=i.call(t,e,o);else if(Array.isArray(i)&&!i.includes(e))return;(o!==void 0||r)&&a.items.push(Ue(e,o,n))};if(t instanceof Map)for(let[e,n]of t)o(e,n);else if(t&&typeof t==`object`)for(let e of Object.keys(t))o(e,t[e]);return typeof e.sortMapEntries==`function`&&a.items.sort(e.sortMapEntries),a}add(e,t){let n;n=h(e)?e:!e||typeof e!=`object`||!(`key`in e)?new R(e,e?.value):new R(e.key,e.value);let r=z(this.items,n.key),i=this.schema?.sortMapEntries;if(r){if(!t)throw Error(`Key ${n.key} already set`);g(r.value)&&de(n.value)?r.value.value=n.value:r.value=n.value}else if(i){let e=this.items.findIndex(e=>i(n,e)<0);e===-1?this.items.push(n):this.items.splice(e,0,n)}else this.items.push(n)}delete(e){let t=z(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let n=z(this.items,e)?.value;return(!t&&g(n)?n.value:n)??void 0}has(e){return!!z(this.items,e)}set(e,t){this.add(new R(e,t),!0)}toJSON(e,t,n){let r=n?new n:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(r);for(let e of this.items)Ve(t,r,e);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(let e of this.items)if(!h(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),We(this,e,{blockItemPrefix:``,flowChars:{start:`{`,end:`}`},itemIndent:e.indent||``,onChompKeep:n,onComment:t})}},V={collection:`map`,default:!0,nodeClass:B,tag:`tag:yaml.org,2002:map`,resolve(e,t){return m(e)||t(`Expected a mapping for this tag`),e},createNode:(e,t,n)=>B.from(e,t,n)},H=class extends ge{static get tagName(){return`tag:yaml.org,2002:seq`}constructor(e){super(u,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=Je(e);return typeof t==`number`&&this.items.splice(t,1).length>0}get(e,t){let n=Je(e);if(typeof n!=`number`)return;let r=this.items[n];return!t&&g(r)?r.value:r}has(e){let t=Je(e);return typeof t==`number`&&t<this.items.length}set(e,t){let n=Je(e);if(typeof n!=`number`)throw Error(`Expected a valid index, not ${e}.`);let r=this.items[n];g(r)&&de(t)?r.value=t:this.items[n]=t}toJSON(e,t){let n=[];t?.onCreate&&t.onCreate(n);let r=0;for(let e of this.items)n.push(k(e,String(r++),t));return n}toString(e,t,n){return e?We(this,e,{blockItemPrefix:`- `,flowChars:{start:`[`,end:`]`},itemIndent:(e.indent||``)+` `,onChompKeep:n,onComment:t}):JSON.stringify(this)}static from(e,t,n){let{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t)){let e=0;for(let a of t){if(typeof r==`function`){let n=t instanceof Set?a:String(e++);a=r.call(t,n,a)}i.items.push(me(a,void 0,n))}}return i}};function Je(e){let t=g(e)?e.value:e;return t&&typeof t==`string`&&(t=Number(t)),typeof t==`number`&&Number.isInteger(t)&&t>=0?t:null}var U={collection:`seq`,default:!0,nodeClass:H,tag:`tag:yaml.org,2002:seq`,resolve(e,t){return _(e)||t(`Expected a sequence for this tag`),e},createNode:(e,t,n)=>H.from(e,t,n)},Ye={identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify(e,t,n,r){return t=Object.assign({actualString:!0},t),Ae(e,t,n,r)}},Xe={identify:e=>e==null,createNode:()=>new A(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new A(null),stringify:({source:e},t)=>typeof e==`string`&&Xe.test.test(e)?e:t.options.nullStr},Ze={identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new A(e[0]===`t`||e[0]===`T`),stringify({source:e,value:t},n){return e&&Ze.test.test(e)&&t===(e[0]===`t`||e[0]===`T`)?e:t?n.options.trueStr:n.options.falseStr}};function W({format:e,minFractionDigits:t,tag:n,value:r}){if(typeof r==`bigint`)return String(r);let i=typeof r==`number`?r:Number(r);if(!isFinite(i))return isNaN(i)?`.nan`:i<0?`-.inf`:`.inf`;let a=Object.is(r,-0)?`-0`:JSON.stringify(r);if(!e&&t&&(!n||n===`tag:yaml.org,2002:float`)&&/^-?\d/.test(a)&&!a.includes(`e`)){let e=a.indexOf(`.`);e<0&&(e=a.length,a+=`.`);let n=t-(a.length-e-1);for(;n-->0;)a+=`0`}return a}var Qe={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()===`nan`?NaN:e[0]===`-`?-1/0:1/0,stringify:W},$e={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`EXP`,test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():W(e)}},et={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new A(parseFloat(e)),n=e.indexOf(`.`);return n!==-1&&e[e.length-1]===`0`&&(t.minFractionDigits=e.length-n-1),t},stringify:W},tt=e=>typeof e==`bigint`||Number.isInteger(e),nt=(e,t,n,{intAsBigInt:r})=>r?BigInt(e):parseInt(e.substring(t),n);function rt(e,t,n){let{value:r}=e;return tt(r)&&r>=0?n+r.toString(t):W(e)}var it={identify:e=>tt(e)&&e>=0,default:!0,tag:`tag:yaml.org,2002:int`,format:`OCT`,test:/^0o[0-7]+$/,resolve:(e,t,n)=>nt(e,2,8,n),stringify:e=>rt(e,8,`0o`)},at={identify:tt,default:!0,tag:`tag:yaml.org,2002:int`,test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>nt(e,0,10,n),stringify:W},ot={identify:e=>tt(e)&&e>=0,default:!0,tag:`tag:yaml.org,2002:int`,format:`HEX`,test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>nt(e,2,16,n),stringify:e=>rt(e,16,`0x`)},st=[V,U,Ye,Xe,Ze,it,at,ot,Qe,$e,et];function ct(e){return typeof e==`bigint`||Number.isInteger(e)}var lt=({value:e})=>JSON.stringify(e),ut=[{identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify:lt},{identify:e=>e==null,createNode:()=>new A(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^null$/,resolve:()=>null,stringify:lt},{identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^true$|^false$/,resolve:e=>e===`true`,stringify:lt},{identify:ct,default:!0,tag:`tag:yaml.org,2002:int`,test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>ct(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:lt}],dt=[V,U].concat(ut,{default:!0,tag:``,test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}}),ft={identify:e=>e instanceof Uint8Array,default:!1,tag:`tag:yaml.org,2002:binary`,resolve(e,t){if(typeof atob==`function`){let t=atob(e.replace(/[\n\r]/g,``)),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n[e]=t.charCodeAt(e);return n}return t(`This environment does not support reading binary tags; either Buffer or atob is required`),e},stringify({comment:e,type:t,value:n},r,i,a){if(!n)return``;let o=n,s;if(typeof btoa==`function`){let e=``;for(let t=0;t<o.length;++t)e+=String.fromCharCode(o[t]);s=btoa(e)}else throw Error(`This environment does not support writing binary tags; either Buffer or btoa is required`);if(t??=A.BLOCK_LITERAL,t!==A.QUOTE_DOUBLE){let e=Math.max(r.options.lineWidth-r.indent.length,r.options.minContentWidth),n=Math.ceil(s.length/e),i=Array(n);for(let t=0,r=0;t<n;++t,r+=e)i[t]=s.substr(r,e);s=i.join(t===A.BLOCK_LITERAL?`
38
+ `:` `)}return Ae({comment:e,type:t,value:s},r,i,a)}};function pt(e,t){if(_(e))for(let n=0;n<e.items.length;++n){let r=e.items[n];if(!h(r)){if(m(r)){r.items.length>1&&t(`Each pair must have its own sequence indicator`);let e=r.items[0]||new R(new A(null));if(r.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${r.commentBefore}\n${e.key.commentBefore}`:r.commentBefore),r.comment){let t=e.value??e.key;t.comment=t.comment?`${r.comment}\n${t.comment}`:r.comment}r=e}e.items[n]=h(r)?r:new R(r)}}else t(`Expected a sequence for this tag`);return e}function mt(e,t,n){let{replacer:r}=n,i=new H(e);i.tag=`tag:yaml.org,2002:pairs`;let a=0;if(t&&Symbol.iterator in Object(t))for(let e of t){typeof r==`function`&&(e=r.call(t,String(a++),e));let o,s;if(Array.isArray(e)){if(e.length===2)o=e[0],s=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`)}else if(e&&e instanceof Object){let t=Object.keys(e);if(t.length===1)o=t[0],s=e[o];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else o=e;i.items.push(Ue(o,s,n))}return i}var ht={collection:`seq`,default:!1,tag:`tag:yaml.org,2002:pairs`,resolve:pt,createNode:mt},gt=class e extends H{constructor(){super(),this.add=B.prototype.add.bind(this),this.delete=B.prototype.delete.bind(this),this.get=B.prototype.get.bind(this),this.has=B.prototype.has.bind(this),this.set=B.prototype.set.bind(this),this.tag=e.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;t?.onCreate&&t.onCreate(n);for(let e of this.items){let r,i;if(h(e)?(r=k(e.key,``,t),i=k(e.value,r,t)):r=k(e,``,t),n.has(r))throw Error(`Ordered maps must not include duplicate keys`);n.set(r,i)}return n}static from(e,t,n){let r=mt(e,t,n),i=new this;return i.items=r.items,i}};gt.tag=`tag:yaml.org,2002:omap`;var _t={collection:`seq`,identify:e=>e instanceof Map,nodeClass:gt,default:!1,tag:`tag:yaml.org,2002:omap`,resolve(e,t){let n=pt(e,t),r=[];for(let{key:e}of n.items)g(e)&&(r.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):r.push(e.value));return Object.assign(new gt,n)},createNode:(e,t,n)=>gt.from(e,t,n)};function vt({value:e,source:t},n){return t&&(e?yt:bt).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}var yt={identify:e=>e===!0,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new A(!0),stringify:vt},bt={identify:e=>e===!1,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new A(!1),stringify:vt},xt={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()===`nan`?NaN:e[0]===`-`?-1/0:1/0,stringify:W},St={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`EXP`,test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,``)),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():W(e)}},Ct={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new A(parseFloat(e.replace(/_/g,``))),n=e.indexOf(`.`);if(n!==-1){let r=e.substring(n+1).replace(/_/g,``);r[r.length-1]===`0`&&(t.minFractionDigits=r.length)}return t},stringify:W},G=e=>typeof e==`bigint`||Number.isInteger(e);function wt(e,t,n,{intAsBigInt:r}){let i=e[0];if((i===`-`||i===`+`)&&(t+=1),e=e.substring(t).replace(/_/g,``),r){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`}let t=BigInt(e);return i===`-`?BigInt(-1)*t:t}let a=parseInt(e,n);return i===`-`?-1*a:a}function Tt(e,t,n){let{value:r}=e;if(G(r)){let e=r.toString(t);return r<0?`-`+n+e.substr(1):n+e}return W(e)}var Et={identify:G,default:!0,tag:`tag:yaml.org,2002:int`,format:`BIN`,test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>wt(e,2,2,n),stringify:e=>Tt(e,2,`0b`)},Dt={identify:G,default:!0,tag:`tag:yaml.org,2002:int`,format:`OCT`,test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>wt(e,1,8,n),stringify:e=>Tt(e,8,`0`)},Ot={identify:G,default:!0,tag:`tag:yaml.org,2002:int`,test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>wt(e,0,10,n),stringify:W},kt={identify:G,default:!0,tag:`tag:yaml.org,2002:int`,format:`HEX`,test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>wt(e,2,16,n),stringify:e=>Tt(e,16,`0x`)},At=class e extends B{constructor(t){super(t),this.tag=e.tag}add(e){let t;t=h(e)?e:e&&typeof e==`object`&&`key`in e&&`value`in e&&e.value===null?new R(e.key,null):new R(e,null),z(this.items,t.key)||this.items.push(t)}get(e,t){let n=z(this.items,e);return!t&&h(n)?g(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!=`boolean`)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=z(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new R(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw Error(`Set items must all have null values`)}static from(e,t,n){let{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)typeof r==`function`&&(e=r.call(t,e,e)),i.items.push(Ue(e,null,n));return i}};At.tag=`tag:yaml.org,2002:set`;var jt={collection:`map`,identify:e=>e instanceof Set,nodeClass:At,default:!1,tag:`tag:yaml.org,2002:set`,createNode:(e,t,n)=>At.from(e,t,n),resolve(e,t){if(m(e)){if(e.hasAllNullValues(!0))return Object.assign(new At,e);t(`Set items must all have null values`)}else t(`Expected a mapping for this tag`);return e}};function Mt(e,t){let n=e[0],r=n===`-`||n===`+`?e.substring(1):e,i=e=>t?BigInt(e):Number(e),a=r.replace(/_/g,``).split(`:`).reduce((e,t)=>e*i(60)+i(t),i(0));return n===`-`?i(-1)*a:a}function Nt(e){let{value:t}=e,n=e=>e;if(typeof t==`bigint`)n=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return W(e);let r=``;t<0&&(r=`-`,t*=n(-1));let i=n(60),a=[t%i];return t<60?a.unshift(0):(t=(t-a[0])/i,a.unshift(t%i),t>=60&&(t=(t-a[0])/i,a.unshift(t))),r+a.map(e=>String(e).padStart(2,`0`)).join(`:`).replace(/000000\d*$/,``)}var Pt={identify:e=>typeof e==`bigint`||Number.isInteger(e),default:!0,tag:`tag:yaml.org,2002:int`,format:`TIME`,test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>Mt(e,n),stringify:Nt},Ft={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`TIME`,test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>Mt(e,!1),stringify:Nt},It={identify:e=>e instanceof Date,default:!0,tag:`tag:yaml.org,2002:timestamp`,test:RegExp(`^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$`),resolve(e){let t=e.match(It.test);if(!t)throw Error(`!!timestamp expects a date, starting with yyyy-mm-dd`);let[,n,r,i,a,o,s]=t.map(Number),c=t[7]?Number((t[7]+`00`).substr(1,3)):0,l=Date.UTC(n,r-1,i,a||0,o||0,s||0,c),u=t[8];if(u&&u!==`Z`){let e=Mt(u,!1);Math.abs(e)<30&&(e*=60),l-=6e4*e}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,``)??``},Lt=[V,U,Ye,Xe,yt,bt,Et,Dt,Ot,kt,xt,St,Ct,ft,L,_t,ht,jt,Pt,Ft,It],Rt=new Map([[`core`,st],[`failsafe`,[V,U,Ye]],[`json`,dt],[`yaml11`,Lt],[`yaml-1.1`,Lt]]),zt={binary:ft,bool:Ze,float:et,floatExp:$e,floatNaN:Qe,floatTime:Ft,int:at,intHex:ot,intOct:it,intTime:Pt,map:V,merge:L,null:Xe,omap:_t,pairs:ht,seq:U,set:jt,timestamp:It},Bt={"tag:yaml.org,2002:binary":ft,"tag:yaml.org,2002:merge":L,"tag:yaml.org,2002:omap":_t,"tag:yaml.org,2002:pairs":ht,"tag:yaml.org,2002:set":jt,"tag:yaml.org,2002:timestamp":It};function Vt(e,t,n){let r=Rt.get(t);if(r&&!e)return n&&!r.includes(L)?r.concat(L):r.slice();let i=r;if(!i){if(Array.isArray(e))i=[];else{let e=Array.from(Rt.keys()).filter(e=>e!==`yaml11`).map(e=>JSON.stringify(e)).join(`, `);throw Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}}if(Array.isArray(e))for(let t of e)i=i.concat(t);else typeof e==`function`&&(i=e(i.slice()));return n&&(i=i.concat(L)),i.reduce((e,t)=>{let n=typeof t==`string`?zt[t]:t;if(!n){let e=JSON.stringify(t),n=Object.keys(zt).map(e=>JSON.stringify(e)).join(`, `);throw Error(`Unknown custom tag ${e}; use one of ${n}`)}return e.includes(n)||e.push(n),e},[])}var Ht=(e,t)=>e.key<t.key?-1:+(e.key>t.key),Ut=class e{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:r,schema:i,sortMapEntries:a,toStringDefaults:o}){this.compat=Array.isArray(e)?Vt(e,`compat`):e?Vt(null,e):null,this.name=typeof i==`string`&&i||`core`,this.knownTags=r?Bt:{},this.tags=Vt(t,this.name,n),this.toStringOptions=o??null,Object.defineProperty(this,s,{value:V}),Object.defineProperty(this,l,{value:Ye}),Object.defineProperty(this,u,{value:U}),this.sortMapEntries=typeof a==`function`?a:a===!0?Ht:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};function Wt(e,t){let n=[],r=t.directives===!0;if(t.directives!==!1&&e.directives){let t=e.directives.toString(e);t?(n.push(t),r=!0):e.directives.docStart&&(r=!0)}r&&n.push(`---`);let i=je(e,t),{commentString:a}=i.options;if(e.commentBefore){n.length!==1&&n.unshift(``);let t=a(e.commentBefore);n.unshift(M(t,``))}let o=!1,s=null;if(e.contents){if(y(e.contents)){if(e.contents.spaceBefore&&r&&n.push(``),e.contents.commentBefore){let t=a(e.contents.commentBefore);n.push(M(t,``))}i.forceBlockIndent=!!e.comment,s=e.contents.comment}let t=s?void 0:()=>o=!0,c=I(e.contents,i,()=>s=null,t);s&&(c+=N(c,``,a(s))),(c[0]===`|`||c[0]===`>`)&&n[n.length-1]===`---`?n[n.length-1]=`--- ${c}`:n.push(c)}else n.push(I(e.contents,i));if(e.directives?.docEnd){if(e.comment){let t=a(e.comment);t.includes(`
39
+ `)?(n.push(`...`),n.push(M(t,``))):n.push(`... ${t}`)}else n.push(`...`)}else{let t=e.comment;t&&o&&(t=t.replace(/^\n+/,``)),t&&((!o||s)&&n[n.length-1]!==``&&n.push(``),n.push(M(a(t),``)))}return n.join(`
40
+ `)+`
41
+ `}var Gt=class e{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,d,{value:o});let r=null;typeof t==`function`||Array.isArray(t)?r=t:n===void 0&&t&&(n=t,t=void 0);let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:`warn`,prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:`1.2`},n);this.options=i;let{version:a}=i;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new D({version:a}),this.setSchema(a,n),this.contents=e===void 0?null:this.createNode(e,r,n)}clone(){let t=Object.create(e.prototype,{[d]:{value:o}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=y(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(e){K(this.contents)&&this.contents.add(e)}addIn(e,t){K(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let n=ae(this);e.anchor=!t||n.has(t)?oe(t||`a`,n):t}return new le(e.anchor)}createNode(e,t,n){let r;if(typeof t==`function`)e=t.call({"":e},``,e),r=t;else if(Array.isArray(t)){let e=t.filter(e=>typeof e==`number`||e instanceof String||e instanceof Number).map(String);e.length>0&&(t=t.concat(e)),r=t}else n===void 0&&t&&(n=t,t=void 0);let{aliasDuplicateObjects:i,anchorPrefix:a,flow:o,keepUndefined:s,onTagObj:c,tag:l}=n??{},{onAnchor:u,setAnchors:d,sourceObjects:f}=se(this,a||`a`),p={aliasDuplicateObjects:i??!0,keepUndefined:s??!1,onAnchor:u,onTagObj:c,replacer:r,schema:this.schema,sourceObjects:f},m=me(e,l,p);return o&&v(m)&&(m.flow=!0),d(),m}createPair(e,t,n={}){return new R(this.createNode(e,null,n),this.createNode(t,null,n))}delete(e){return K(this.contents)?this.contents.delete(e):!1}deleteIn(e){return j(e)?this.contents!=null&&(this.contents=null,!0):K(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return v(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return j(e)?!t&&g(this.contents)?this.contents.value:this.contents:v(this.contents)?this.contents.getIn(e,t):void 0}has(e){return v(this.contents)?this.contents.has(e):!1}hasIn(e){return j(e)?this.contents!==void 0:v(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=he(this.schema,[e],t):K(this.contents)&&this.contents.set(e,t)}setIn(e,t){j(e)?this.contents=t:this.contents==null?this.contents=he(this.schema,Array.from(e),t):K(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e==`number`&&(e=String(e));let n;switch(e){case`1.1`:this.directives?this.directives.yaml.version=`1.1`:this.directives=new D({version:`1.1`}),n={resolveKnownTags:!1,schema:`yaml-1.1`};break;case`1.2`:case`next`:this.directives?this.directives.yaml.version=e:this.directives=new D({version:e}),n={resolveKnownTags:!0,schema:`core`};break;case null:this.directives&&delete this.directives,n=null;break;default:{let t=JSON.stringify(e);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new Ut(Object.assign(n,t));else throw Error(`With a null YAML version, the { schema: Schema } option is required`)}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:r,onAnchor:i,reviver:a}={}){let o={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof r==`number`?r:100},s=k(this.contents,t??``,o);if(typeof i==`function`)for(let{count:e,res:t}of o.anchors.values())i(t,e);return typeof a==`function`?O(a,{"":s},``,s):s}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw Error(`Document with errors cannot be stringified`);if(`indent`in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let t=JSON.stringify(e.indent);throw Error(`"indent" option must be a positive integer, not ${t}`)}return Wt(this,e)}};function K(e){if(v(e))return!0;throw Error(`Expected a YAML collection as document contents`)}var Kt=class extends Error{constructor(e,t,n,r){super(),this.name=e,this.code=n,this.message=r,this.pos=t}},q=class extends Kt{constructor(e,t,n){super(`YAMLParseError`,e,t,n)}},qt=class extends Kt{constructor(e,t,n){super(`YAMLWarning`,e,t,n)}},Jt=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(e=>t.linePos(e));let{line:r,col:i}=n.linePos[0];n.message+=` at line ${r}, column ${i}`;let a=i-1,o=e.substring(t.lineStarts[r-1],t.lineStarts[r]).replace(/[\n\r]+$/,``);if(a>=60&&o.length>80){let e=Math.min(a-39,o.length-79);o=`…`+o.substring(e),a-=e-1}if(o.length>80&&(o=o.substring(0,79)+`…`),r>1&&/^ *$/.test(o.substring(0,a))){let n=e.substring(t.lineStarts[r-2],t.lineStarts[r-1]);n.length>80&&(n=n.substring(0,79)+`…
42
+ `),o=n+o}if(/[^ ]/.test(o)){let e=1,t=n.linePos[1];t?.line===r&&t.col>i&&(e=Math.max(1,Math.min(t.col-i,80-a)));let s=` `.repeat(a)+`^`.repeat(e);n.message+=`:\n\n${o}\n${s}\n`}};function J(e,{flow:t,indicator:n,next:r,offset:i,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d=``,f=``,p=!1,m=!1,h=null,g=null,_=null,v=null,y=null,b=null,x=null;for(let i of e)switch(m&&=(i.type!==`space`&&i.type!==`newline`&&i.type!==`comma`&&a(i.offset,`MISSING_CHAR`,`Tags and anchors must be separated from the next token by white space`),!1),h&&=(l&&i.type!==`comment`&&i.type!==`newline`&&a(h,`TAB_AS_INDENT`,`Tabs are not allowed as indentation`),null),i.type){case`space`:!t&&(n!==`doc-start`||r?.type!==`flow-collection`)&&i.source.includes(` `)&&(h=i),u=!0;break;case`comment`:{u||a(i,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`);let e=i.source.substring(1)||` `;d?d+=f+e:d=e,f=``,l=!1;break}case`newline`:l?d?d+=i.source:b&&n===`seq-item-ind`||(c=!0):f+=i.source,l=!0,p=!0,(g||_)&&(v=i),u=!0;break;case`anchor`:g&&a(i,`MULTIPLE_ANCHORS`,`A node can have at most one anchor`),i.source.endsWith(`:`)&&a(i.offset+i.source.length-1,`BAD_ALIAS`,`Anchor ending in : is ambiguous`,!0),g=i,x??=i.offset,l=!1,u=!1,m=!0;break;case`tag`:_&&a(i,`MULTIPLE_TAGS`,`A node can have at most one tag`),_=i,x??=i.offset,l=!1,u=!1,m=!0;break;case n:(g||_)&&a(i,`BAD_PROP_ORDER`,`Anchors and tags must be after the ${i.source} indicator`),b&&a(i,`UNEXPECTED_TOKEN`,`Unexpected ${i.source} in ${t??`collection`}`),b=i,l=n===`seq-item-ind`||n===`explicit-key-ind`,u=!1;break;case`comma`:if(t){y&&a(i,`UNEXPECTED_TOKEN`,`Unexpected , in ${t}`),y=i,l=!1,u=!1;break}default:a(i,`UNEXPECTED_TOKEN`,`Unexpected ${i.type} token`),l=!1,u=!1}let S=e[e.length-1],C=S?S.offset+S.source.length:i;return m&&r&&r.type!==`space`&&r.type!==`newline`&&r.type!==`comma`&&(r.type!==`scalar`||r.source!==``)&&a(r.offset,`MISSING_CHAR`,`Tags and anchors must be separated from the next token by white space`),h&&(l&&h.indent<=o||r?.type===`block-map`||r?.type===`block-seq`)&&a(h,`TAB_AS_INDENT`,`Tabs are not allowed as indentation`),{comma:y,found:b,spaceBefore:c,comment:d,hasNewline:p,anchor:g,tag:_,newlineAfterProp:v,end:C,start:x??C}}function Y(e){if(!e)return null;switch(e.type){case`alias`:case`scalar`:case`double-quoted-scalar`:case`single-quoted-scalar`:if(e.source.includes(`
43
+ `))return!0;if(e.end){for(let t of e.end)if(t.type===`newline`)return!0}return!1;case`flow-collection`:for(let t of e.items){for(let e of t.start)if(e.type===`newline`)return!0;if(t.sep){for(let e of t.sep)if(e.type===`newline`)return!0}if(Y(t.key)||Y(t.value))return!0}return!1;default:return!0}}function Yt(e,t,n){if(t?.type===`flow-collection`){let r=t.end[0];r.indent===e&&(r.source===`]`||r.source===`}`)&&Y(t)&&n(r,`BAD_INDENT`,`Flow end indicator should be more indented than parent`,!0)}}function Xt(e,t,n){let{uniqueKeys:r}=e.options;if(r===!1)return!1;let i=typeof r==`function`?r:(e,t)=>e===t||g(e)&&g(t)&&e.value===t.value;return t.some(e=>i(e.key,n))}var Zt=`All mapping items must start at the same column`;function Qt({composeNode:e,composeEmptyNode:t},n,r,i,a){let o=new((a?.nodeClass)??B)(n.schema);n.atRoot&&=!1;let s=r.offset,c=null;for(let a of r.items){let{start:l,key:u,sep:d,value:f}=a,p=J(l,{indicator:`explicit-key-ind`,next:u??d?.[0],offset:s,onError:i,parentIndent:r.indent,startOnNewline:!0}),m=!p.found;if(m){if(u&&(u.type===`block-seq`?i(s,`BLOCK_AS_IMPLICIT_KEY`,`A block sequence may not be used as an implicit map key`):`indent`in u&&u.indent!==r.indent&&i(s,`BAD_INDENT`,Zt)),!p.anchor&&!p.tag&&!d){c=p.end,p.comment&&(o.comment?o.comment+=`
44
+ `+p.comment:o.comment=p.comment);continue}(p.newlineAfterProp||Y(u))&&i(u??l[l.length-1],`MULTILINE_IMPLICIT_KEY`,`Implicit keys need to be on a single line`)}else p.found?.indent!==r.indent&&i(s,`BAD_INDENT`,Zt);n.atKey=!0;let h=p.end,g=u?e(n,u,p,i):t(n,h,l,null,p,i);n.schema.compat&&Yt(r.indent,u,i),n.atKey=!1,Xt(n,o.items,g)&&i(h,`DUPLICATE_KEY`,`Map keys must be unique`);let _=J(d??[],{indicator:`map-value-ind`,next:f,offset:g.range[2],onError:i,parentIndent:r.indent,startOnNewline:!u||u.type===`block-scalar`});if(s=_.end,_.found){m&&(f?.type===`block-map`&&!_.hasNewline&&i(s,`BLOCK_AS_IMPLICIT_KEY`,`Nested mappings are not allowed in compact mappings`),n.options.strict&&p.start<_.found.offset-1024&&i(g.range,`KEY_OVER_1024_CHARS`,`The : indicator must be at most 1024 chars after the start of an implicit block mapping key`));let c=f?e(n,f,_,i):t(n,s,d,null,_,i);n.schema.compat&&Yt(r.indent,f,i),s=c.range[2];let l=new R(g,c);n.options.keepSourceTokens&&(l.srcToken=a),o.items.push(l)}else{m&&i(g.range,`MISSING_CHAR`,`Implicit map keys need to be followed by map values`),_.comment&&(g.comment?g.comment+=`
45
+ `+_.comment:g.comment=_.comment);let e=new R(g);n.options.keepSourceTokens&&(e.srcToken=a),o.items.push(e)}}return c&&c<s&&i(c,`IMPOSSIBLE`,`Map comment with trailing content`),o.range=[r.offset,s,c??s],o}function $t({composeNode:e,composeEmptyNode:t},n,r,i,a){let o=new((a?.nodeClass)??H)(n.schema);n.atRoot&&=!1,n.atKey&&=!1;let s=r.offset,c=null;for(let{start:a,value:l}of r.items){let u=J(a,{indicator:`seq-item-ind`,next:l,offset:s,onError:i,parentIndent:r.indent,startOnNewline:!0});if(!u.found){if(u.anchor||u.tag||l)l?.type===`block-seq`?i(u.end,`BAD_INDENT`,`All sequence items must start at the same column`):i(s,`MISSING_CHAR`,`Sequence item without - indicator`);else{c=u.end,u.comment&&(o.comment=u.comment);continue}}let d=l?e(n,l,u,i):t(n,u.end,a,null,u,i);n.schema.compat&&Yt(r.indent,l,i),s=d.range[2],o.items.push(d)}return o.range=[r.offset,s,c??s],o}function en(e,t,n,r){let i=``;if(e){let a=!1,o=``;for(let s of e){let{source:e,type:c}=s;switch(c){case`space`:a=!0;break;case`comment`:{n&&!a&&r(s,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`);let t=e.substring(1)||` `;i?i+=o+t:i=t,o=``;break}case`newline`:i&&(o+=e),a=!0;break;default:r(s,`UNEXPECTED_TOKEN`,`Unexpected ${c} at node end`)}t+=e.length}}return{comment:i,offset:t}}var tn=`Block collections are not allowed within flow collections`,nn=e=>e&&(e.type===`block-map`||e.type===`block-seq`);function rn({composeNode:e,composeEmptyNode:t},n,r,i,a){let o=r.start.source===`{`,s=o?`flow map`:`flow sequence`,c=new((a?.nodeClass)??(o?B:H))(n.schema);c.flow=!0;let l=n.atRoot;l&&(n.atRoot=!1),n.atKey&&=!1;let u=r.offset+r.start.source.length;for(let a=0;a<r.items.length;++a){let l=r.items[a],{start:d,key:f,sep:p,value:m}=l,g=J(d,{flow:s,indicator:`explicit-key-ind`,next:f??p?.[0],offset:u,onError:i,parentIndent:r.indent,startOnNewline:!1});if(!g.found){if(!g.anchor&&!g.tag&&!p&&!m){a===0&&g.comma?i(g.comma,`UNEXPECTED_TOKEN`,`Unexpected , in ${s}`):a<r.items.length-1&&i(g.start,`UNEXPECTED_TOKEN`,`Unexpected empty item in ${s}`),g.comment&&(c.comment?c.comment+=`
46
+ `+g.comment:c.comment=g.comment),u=g.end;continue}!o&&n.options.strict&&Y(f)&&i(f,`MULTILINE_IMPLICIT_KEY`,`Implicit keys of flow sequence pairs need to be on a single line`)}if(a===0)g.comma&&i(g.comma,`UNEXPECTED_TOKEN`,`Unexpected , in ${s}`);else if(g.comma||i(g.start,`MISSING_CHAR`,`Missing , between ${s} items`),g.comment){let e=``;loop:for(let t of d)switch(t.type){case`comma`:case`space`:break;case`comment`:e=t.source.substring(1);break loop;default:break loop}if(e){let t=c.items[c.items.length-1];h(t)&&(t=t.value??t.key),t.comment?t.comment+=`
47
+ `+e:t.comment=e,g.comment=g.comment.substring(e.length+1)}}if(!o&&!p&&!g.found){let r=m?e(n,m,g,i):t(n,g.end,p,null,g,i);c.items.push(r),u=r.range[2],nn(m)&&i(r.range,`BLOCK_IN_FLOW`,tn)}else{n.atKey=!0;let a=g.end,h=f?e(n,f,g,i):t(n,a,d,null,g,i);nn(f)&&i(h.range,`BLOCK_IN_FLOW`,tn),n.atKey=!1;let _=J(p??[],{flow:s,indicator:`map-value-ind`,next:m,offset:h.range[2],onError:i,parentIndent:r.indent,startOnNewline:!1});if(_.found){if(!o&&!g.found&&n.options.strict){if(p)for(let e of p){if(e===_.found)break;if(e.type===`newline`){i(e,`MULTILINE_IMPLICIT_KEY`,`Implicit keys of flow sequence pairs need to be on a single line`);break}}g.start<_.found.offset-1024&&i(_.found,`KEY_OVER_1024_CHARS`,`The : indicator must be at most 1024 chars after the start of an implicit flow sequence key`)}}else m&&(`source`in m&&m.source?.[0]===`:`?i(m,`MISSING_CHAR`,`Missing space after : in ${s}`):i(_.start,`MISSING_CHAR`,`Missing , or : between ${s} items`));let v=m?e(n,m,_,i):_.found?t(n,_.end,p,null,_,i):null;v?nn(m)&&i(v.range,`BLOCK_IN_FLOW`,tn):_.comment&&(h.comment?h.comment+=`
48
+ `+_.comment:h.comment=_.comment);let y=new R(h,v);if(n.options.keepSourceTokens&&(y.srcToken=l),o){let e=c;Xt(n,e.items,h)&&i(a,`DUPLICATE_KEY`,`Map keys must be unique`),e.items.push(y)}else{let e=new B(n.schema);e.flow=!0,e.items.push(y);let t=(v??h).range;e.range=[h.range[0],t[1],t[2]],c.items.push(e)}u=v?v.range[2]:_.end}}let d=o?`}`:`]`,[f,...p]=r.end,m=u;if(f?.source===d)m=f.offset+f.source.length;else{let e=s[0].toUpperCase()+s.substring(1),t=l?`${e} must end with a ${d}`:`${e} in block collection must be sufficiently indented and end with a ${d}`;i(u,l?`MISSING_CHAR`:`BAD_INDENT`,t),f&&f.source.length!==1&&p.unshift(f)}if(p.length>0){let e=en(p,m,n.options.strict,i);e.comment&&(c.comment?c.comment+=`
49
+ `+e.comment:c.comment=e.comment),c.range=[r.offset,m,e.offset]}else c.range=[r.offset,m,m];return c}function an(e,t,n,r,i,a){let o=n.type===`block-map`?Qt(e,t,n,r,a):n.type===`block-seq`?$t(e,t,n,r,a):rn(e,t,n,r,a),s=o.constructor;return i===`!`||i===s.tagName?(o.tag=s.tagName,o):(i&&(o.tag=i),o)}function on(e,t,n,r,i){let a=r.tag,o=a?t.directives.tagName(a.source,e=>i(a,`TAG_RESOLVE_FAILED`,e)):null;if(n.type===`block-seq`){let{anchor:e,newlineAfterProp:t}=r,n=e&&a?e.offset>a.offset?e:a:e??a;n&&(!t||t.offset<n.offset)&&i(n,`MISSING_CHAR`,`Missing newline after block sequence props`)}let s=n.type===`block-map`?`map`:n.type===`block-seq`?`seq`:n.start.source===`{`?`map`:`seq`;if(!a||!o||o===`!`||o===B.tagName&&s===`map`||o===H.tagName&&s===`seq`)return an(e,t,n,i,o);let c=t.schema.tags.find(e=>e.tag===o&&e.collection===s);if(!c){let r=t.schema.knownTags[o];if(r?.collection===s)t.schema.tags.push(Object.assign({},r,{default:!1})),c=r;else return r?i(a,`BAD_COLLECTION_TYPE`,`${r.tag} used for ${s} collection, but expects ${r.collection??`scalar`}`,!0):i(a,`TAG_RESOLVE_FAILED`,`Unresolved tag: ${o}`,!0),an(e,t,n,i,o)}let l=an(e,t,n,i,o,c),u=c.resolve?.(l,e=>i(a,`TAG_RESOLVE_FAILED`,e),t.options)??l,d=y(u)?u:new A(u);return d.range=l.range,d.tag=o,c?.format&&(d.format=c.format),d}function sn(e,t,n){let r=t.offset,i=cn(t,e.options.strict,n);if(!i)return{value:``,type:null,comment:``,range:[r,r,r]};let a=i.mode===`>`?A.BLOCK_FOLDED:A.BLOCK_LITERAL,o=t.source?ln(t.source):[],s=o.length;for(let e=o.length-1;e>=0;--e){let t=o[e][1];if(t===``||t===`\r`)s=e;else break}if(s===0){let e=i.chomp===`+`&&o.length>0?`
50
+ `.repeat(Math.max(1,o.length-1)):``,n=r+i.length;return t.source&&(n+=t.source.length),{value:e,type:a,comment:i.comment,range:[r,n,n]}}let c=t.indent+i.indent,l=t.offset+i.length,u=0;for(let t=0;t<s;++t){let[r,a]=o[t];if(a===``||a===`\r`)i.indent===0&&r.length>c&&(c=r.length);else{r.length<c&&n(l+r.length,`MISSING_CHAR`,`Block scalars with more-indented leading empty lines must use an explicit indentation indicator`),i.indent===0&&(c=r.length),u=t,c===0&&!e.atRoot&&n(l,`BAD_INDENT`,`Block scalar values in collections must be indented`);break}l+=r.length+a.length+1}for(let e=o.length-1;e>=s;--e)o[e][0].length>c&&(s=e+1);let d=``,f=``,p=!1;for(let e=0;e<u;++e)d+=o[e][0].slice(c)+`
51
+ `;for(let e=u;e<s;++e){let[t,r]=o[e];l+=t.length+r.length+1;let s=r[r.length-1]===`\r`;if(s&&(r=r.slice(0,-1)),r&&t.length<c){let e=`Block scalar lines must not be less indented than their ${i.indent?`explicit indentation indicator`:`first line`}`;n(l-r.length-(s?2:1),`BAD_INDENT`,e),t=``}a===A.BLOCK_LITERAL?(d+=f+t.slice(c)+r,f=`
52
+ `):t.length>c||r[0]===` `?(f===` `?f=`
53
+ `:!p&&f===`
54
+ `&&(f=`
55
+
56
+ `),d+=f+t.slice(c)+r,f=`
57
+ `,p=!0):r===``?f===`
58
+ `?d+=`
59
+ `:f=`
60
+ `:(d+=f+r,f=` `,p=!1)}switch(i.chomp){case`-`:break;case`+`:for(let e=s;e<o.length;++e)d+=`
61
+ `+o[e][0].slice(c);d[d.length-1]!==`
62
+ `&&(d+=`
63
+ `);break;default:d+=`
64
+ `}let m=r+i.length+t.source.length;return{value:d,type:a,comment:i.comment,range:[r,m,m]}}function cn({offset:e,props:t},n,r){if(t[0].type!==`block-scalar-header`)return r(t[0],`IMPOSSIBLE`,`Block scalar header not found`),null;let{source:i}=t[0],a=i[0],o=0,s=``,c=-1;for(let t=1;t<i.length;++t){let n=i[t];if(!s&&(n===`-`||n===`+`))s=n;else{let r=Number(n);!o&&r?o=r:c===-1&&(c=e+t)}}c!==-1&&r(c,`UNEXPECTED_TOKEN`,`Block scalar header includes extra characters: ${i}`);let l=!1,u=``,d=i.length;for(let e=1;e<t.length;++e){let i=t[e];switch(i.type){case`space`:l=!0;case`newline`:d+=i.source.length;break;case`comment`:n&&!l&&r(i,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`),d+=i.source.length,u=i.source.substring(1);break;case`error`:r(i,`UNEXPECTED_TOKEN`,i.message),d+=i.source.length;break;default:{r(i,`UNEXPECTED_TOKEN`,`Unexpected token in block scalar header: ${i.type}`);let e=i.source;e&&typeof e==`string`&&(d+=e.length)}}}return{mode:a,indent:o,chomp:s,comment:u,length:d}}function ln(e){let t=e.split(/\n( *)/),n=t[0],r=n.match(/^( *)/),i=[r?.[1]?[r[1],n.slice(r[1].length)]:[``,n]];for(let e=1;e<t.length;e+=2)i.push([t[e],t[e+1]]);return i}function un(e,t,n){let{offset:r,type:i,source:a,end:o}=e,s,c,l=(e,t,i)=>n(r+e,t,i);switch(i){case`scalar`:s=A.PLAIN,c=dn(a,l);break;case`single-quoted-scalar`:s=A.QUOTE_SINGLE,c=fn(a,l);break;case`double-quoted-scalar`:s=A.QUOTE_DOUBLE,c=mn(a,l);break;default:return n(e,`UNEXPECTED_TOKEN`,`Expected a flow scalar value, but found: ${i}`),{value:``,type:null,comment:``,range:[r,r+a.length,r+a.length]}}let u=r+a.length,d=en(o,u,t,n);return{value:c,type:s,comment:d.comment,range:[r,u,d.offset]}}function dn(e,t){let n=``;switch(e[0]){case` `:n=`a tab character`;break;case`,`:n=`flow indicator character ,`;break;case`%`:n=`directive indicator character %`;break;case`|`:case`>`:n=`block scalar indicator ${e[0]}`;break;case`@`:case"`":n=`reserved character ${e[0]}`}return n&&t(0,`BAD_SCALAR_START`,`Plain value cannot start with ${n}`),pn(e)}function fn(e,t){return(e[e.length-1]!==`'`||e.length===1)&&t(e.length,`MISSING_CHAR`,`Missing closing 'quote`),pn(e.slice(1,-1)).replace(/''/g,`'`)}function pn(e){let t=/(.*?)\r?\n/sy,n=t.exec(e);if(!n)return e;let r,i;try{r=RegExp(`(?<![ ])[ ]+$`),i=RegExp(`^[ ]+|(?<![ ])[ ]+$`,`g`)}catch{r=/[ \t]+$/,i=/^[ \t]+|[ \t]+$/g}let a=n[1].replace(r,``),o=` `,s=t.lastIndex;for(;n=t.exec(e);){let e=n[1].replace(i,``);e===``?o===`
65
+ `?a+=o:o=`
66
+ `:(a+=o+e,o=` `),s=t.lastIndex}let c=/[ \t]*(.*)/sy;return c.lastIndex=s,n=c.exec(e),a+o+(n?.[1]??``)}function mn(e,t){let n=``;for(let r=1;r<e.length-1;++r){let i=e[r];if(i!==`\r`||e[r+1]!==`
67
+ `){if(i===`
68
+ `){let{fold:t,offset:i}=hn(e,r);n+=t,r=i}else if(i===`\\`){let i=e[++r],a=gn[i];if(a)n+=a;else if(i===`
69
+ `)for(i=e[r+1];i===` `||i===` `;)i=e[++r+1];else if(i===`\r`&&e[r+1]===`
70
+ `)for(i=e[++r+1];i===` `||i===` `;)i=e[++r+1];else if(i===`x`||i===`u`||i===`U`){let a=i===`x`?2:i===`u`?4:8;n+=_n(e,r+1,a,t),r+=a}else{let i=e.substr(r-1,2);t(r-1,`BAD_DQ_ESCAPE`,`Invalid escape sequence ${i}`),n+=i}}else if(i===` `||i===` `){let t=r,a=e[r+1];for(;a===` `||a===` `;)a=e[++r+1];a!==`
71
+ `&&(a!==`\r`||e[r+2]!==`
72
+ `)&&(n+=r>t?e.slice(t,r+1):i)}else n+=i}}return(e[e.length-1]!==`"`||e.length===1)&&t(e.length,`MISSING_CHAR`,`Missing closing "quote`),n}function hn(e,t){let n=``,r=e[t+1];for(;(r===` `||r===` `||r===`
73
+ `||r===`\r`)&&(r!==`\r`||e[t+2]===`
74
+ `);)r===`
75
+ `&&(n+=`
76
+ `),t+=1,r=e[t+1];return n||=` `,{fold:n,offset:t}}var gn={0:`\0`,a:`\x07`,b:`\b`,e:`\x1B`,f:`\f`,n:`
77
+ `,r:`\r`,t:` `,v:`\v`,N:`…`,_:`\xA0`,L:`\u2028`,P:`\u2029`," ":` `,'"':`"`,"/":`/`,"\\":`\\`," ":` `};function _n(e,t,n,r){let i=e.substr(t,n),a=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(a)}catch{let i=e.substr(t-2,n+2);return r(t-2,`BAD_DQ_ESCAPE`,`Invalid escape sequence ${i}`),i}}function vn(e,t,n,r){let{value:i,type:a,comment:o,range:s}=t.type===`block-scalar`?sn(e,t,r):un(t,e.options.strict,r),c=n?e.directives.tagName(n.source,e=>r(n,`TAG_RESOLVE_FAILED`,e)):null,u;u=e.options.stringKeys&&e.atKey?e.schema[l]:c?yn(e.schema,i,c,n,r):t.type===`scalar`?bn(e,i,t,r):e.schema[l];let d;try{let a=u.resolve(i,e=>r(n??t,`TAG_RESOLVE_FAILED`,e),e.options);d=g(a)?a:new A(a)}catch(e){let a=e instanceof Error?e.message:String(e);r(n??t,`TAG_RESOLVE_FAILED`,a),d=new A(i)}return d.range=s,d.source=i,a&&(d.type=a),c&&(d.tag=c),u.format&&(d.format=u.format),o&&(d.comment=o),d}function yn(e,t,n,r,i){if(n===`!`)return e[l];let a=[];for(let t of e.tags)if(!t.collection&&t.tag===n){if(t.default&&t.test)a.push(t);else return t}for(let e of a)if(e.test?.test(t))return e;let o=e.knownTags[n];return o&&!o.collection?(e.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(r,`TAG_RESOLVE_FAILED`,`Unresolved tag: ${n}`,n!==`tag:yaml.org,2002:str`),e[l])}function bn({atKey:e,directives:t,schema:n},r,i,a){let o=n.tags.find(t=>(t.default===!0||e&&t.default===`key`)&&t.test?.test(r))||n[l];if(n.compat){let e=n.compat.find(e=>e.default&&e.test?.test(r))??n[l];o.tag!==e.tag&&a(i,`TAG_RESOLVE_FAILED`,`Value may be parsed as either ${t.tagString(o.tag)} or ${t.tagString(e.tag)}`,!0)}return o}function xn(e,t,n){if(t){n??=t.length;for(let r=n-1;r>=0;--r){let n=t[r];switch(n.type){case`space`:case`comment`:case`newline`:e-=n.source.length;continue}for(n=t[++r];n?.type===`space`;)e+=n.source.length,n=t[++r];break}}return e}var Sn={composeNode:Cn,composeEmptyNode:wn};function Cn(e,t,n,r){let i=e.atKey,{spaceBefore:a,comment:o,anchor:s,tag:c}=n,l,u=!0;switch(t.type){case`alias`:l=Tn(e,t,r),(s||c)&&r(t,`ALIAS_PROPS`,`An alias node must not specify any properties`);break;case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:case`block-scalar`:l=vn(e,t,c,r),s&&(l.anchor=s.source.substring(1));break;case`block-map`:case`block-seq`:case`flow-collection`:try{l=on(Sn,e,t,n,r),s&&(l.anchor=s.source.substring(1))}catch(e){r(t,`RESOURCE_EXHAUSTION`,e instanceof Error?e.message:String(e))}break;default:r(t,`UNEXPECTED_TOKEN`,t.type===`error`?t.message:`Unsupported token (type: ${t.type})`),u=!1}return l??=wn(e,t.offset,void 0,null,n,r),s&&l.anchor===``&&r(s,`BAD_ALIAS`,`Anchor cannot be an empty string`),i&&e.options.stringKeys&&(!g(l)||typeof l.value!=`string`||l.tag&&l.tag!==`tag:yaml.org,2002:str`)&&r(c??t,`NON_STRING_KEY`,`With stringKeys, all keys must be strings`),a&&(l.spaceBefore=!0),o&&(t.type===`scalar`&&t.source===``?l.comment=o:l.commentBefore=o),e.options.keepSourceTokens&&u&&(l.srcToken=t),l}function wn(e,t,n,r,{spaceBefore:i,comment:a,anchor:o,tag:s,end:c},l){let u=vn(e,{type:`scalar`,offset:xn(t,n,r),indent:-1,source:``},s,l);return o&&(u.anchor=o.source.substring(1),u.anchor===``&&l(o,`BAD_ALIAS`,`Anchor cannot be an empty string`)),i&&(u.spaceBefore=!0),a&&(u.comment=a,u.range[2]=c),u}function Tn({options:e},{offset:t,source:n,end:r},i){let a=new le(n.substring(1));a.source===``&&i(t,`BAD_ALIAS`,`Alias cannot be an empty string`),a.source.endsWith(`:`)&&i(t+n.length-1,`BAD_ALIAS`,`Alias ending in : is ambiguous`,!0);let o=t+n.length,s=en(r,o,e.strict,i);return a.range=[t,o,s.offset],s.comment&&(a.comment=s.comment),a}function En(e,t,{offset:n,start:r,value:i,end:a},o){let s=new Gt(void 0,Object.assign({_directives:t},e)),c={atKey:!1,atRoot:!0,directives:s.directives,options:s.options,schema:s.schema},l=J(r,{indicator:`doc-start`,next:i??a?.[0],offset:n,onError:o,parentIndent:0,startOnNewline:!0});l.found&&(s.directives.docStart=!0,i&&(i.type===`block-map`||i.type===`block-seq`)&&!l.hasNewline&&o(l.end,`MISSING_CHAR`,`Block collection cannot start on same line with directives-end marker`)),s.contents=i?Cn(c,i,l,o):wn(c,l.end,r,null,l,o);let u=s.contents.range[2],d=en(a,u,!1,o);return d.comment&&(s.comment=d.comment),s.range=[n,u,d.offset],s}function Dn(e){if(typeof e==`number`)return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:n}=e;return[t,t+(typeof n==`string`?n.length:1)]}function On(e){let t=``,n=!1,r=!1;for(let i=0;i<e.length;++i){let a=e[i];switch(a[0]){case`#`:t+=(t===``?``:r?`
78
+
79
+ `:`
80
+ `)+(a.substring(1)||` `),n=!0,r=!1;break;case`%`:e[i+1]?.[0]!==`#`&&(i+=1),n=!1;break;default:n||(r=!0),n=!1}}return{comment:t,afterEmptyLine:r}}var kn=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,n,r)=>{let i=Dn(e);r?this.warnings.push(new qt(i,t,n)):this.errors.push(new q(i,t,n))},this.directives=new D({version:e.version||`1.2`}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:r}=On(this.prelude);if(n){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${n}`:n;else if(r||e.directives.docStart||!i)e.commentBefore=n;else if(v(i)&&!i.flow&&i.items.length>0){let e=i.items[0];h(e)&&(e=e.key);let t=e.commentBefore;e.commentBefore=t?`${n}\n${t}`:n}else{let e=i.commentBefore;i.commentBefore=e?`${n}\n${e}`:n}}if(t){for(let t=0;t<this.errors.length;++t)e.errors.push(this.errors[t]);for(let t=0;t<this.warnings.length;++t)e.warnings.push(this.warnings[t])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:On(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(let t of e)yield*this.next(t);yield*this.end(t,n)}*next(e){switch(e.type){case`directive`:this.directives.add(e.source,(t,n,r)=>{let i=Dn(e);i[0]+=t,this.onError(i,`BAD_DIRECTIVE`,n,r)}),this.prelude.push(e.source),this.atDirectives=!0;break;case`document`:{let t=En(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,`MISSING_CHAR`,`Missing directives-end/doc-start indicator line`),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case`byte-order-mark`:case`space`:break;case`comment`:case`newline`:this.prelude.push(e.source);break;case`error`:{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new q(Dn(e),`UNEXPECTED_TOKEN`,t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case`doc-end`:{if(!this.doc){this.errors.push(new q(Dn(e),`UNEXPECTED_TOKEN`,`Unexpected doc-end without preceding document`));break}this.doc.directives.docEnd=!0;let t=en(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let e=this.doc.comment;this.doc.comment=e?`${e}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new q(Dn(e),`UNEXPECTED_TOKEN`,`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let e=new Gt(void 0,Object.assign({_directives:this.directives},this.options));this.atDirectives&&this.onError(t,`MISSING_CHAR`,`Missing directives-end indicator line`),e.range=[0,t,t],this.decorate(e,!1),yield e}}},An=Symbol(`break visit`),jn=Symbol(`skip children`),Mn=Symbol(`remove item`);function X(e,t){`type`in e&&e.type===`document`&&(e={start:e.start,value:e.value}),Nn(Object.freeze([]),e,t)}X.BREAK=An,X.SKIP=jn,X.REMOVE=Mn,X.itemAtPath=(e,t)=>{let n=e;for(let[e,r]of t){let t=n?.[e];if(t&&`items`in t)n=t.items[r];else return}return n},X.parentCollection=(e,t)=>{let n=X.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],i=n?.[r];if(i&&`items`in i)return i;throw Error(`Parent collection not found`)};function Nn(e,t,n){let r=n(t,e);if(typeof r==`symbol`)return r;for(let i of[`key`,`value`]){let a=t[i];if(a&&`items`in a){for(let t=0;t<a.items.length;++t){let r=Nn(Object.freeze(e.concat([[i,t]])),a.items[t],n);if(typeof r==`number`)t=r-1;else if(r===An)return An;else r===Mn&&(a.items.splice(t,1),--t)}typeof r==`function`&&i===`key`&&(r=r(t,e))}}return typeof r==`function`?r(t,e):r}function Pn(e){switch(e){case``:return`byte-order-mark`;case``:return`doc-mode`;case``:return`flow-error-end`;case``:return`scalar`;case`---`:return`doc-start`;case`...`:return`doc-end`;case``:case`
81
+ `:case`\r
82
+ `:return`newline`;case`-`:return`seq-item-ind`;case`?`:return`explicit-key-ind`;case`:`:return`map-value-ind`;case`{`:return`flow-map-start`;case`}`:return`flow-map-end`;case`[`:return`flow-seq-start`;case`]`:return`flow-seq-end`;case`,`:return`comma`}switch(e[0]){case` `:case` `:return`space`;case`#`:return`comment`;case`%`:return`directive-line`;case`*`:return`alias`;case`&`:return`anchor`;case`!`:return`tag`;case`'`:return`single-quoted-scalar`;case`"`:return`double-quoted-scalar`;case`|`:case`>`:return`block-scalar-header`}return null}function Z(e){switch(e){case void 0:case` `:case`
83
+ `:case`\r`:case` `:return!0;default:return!1}}var Fn=new Set(`0123456789ABCDEFabcdef`),In=new Set(`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()`),Ln=new Set(`,[]{}`),Rn=new Set(` ,[]{}
84
+ \r `),zn=e=>!e||Rn.has(e),Bn=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer=``,this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if(typeof e!=`string`)throw TypeError(`source is not a string`);this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let n=this.next??`stream`;for(;n&&(t||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===` `||t===` `;)t=this.buffer[++e];return!t||t===`#`||t===`
85
+ `||t===`\r`&&this.buffer[e+1]===`
86
+ `}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let n=0;for(;t===` `;)t=this.buffer[++n+e];if(t===`\r`){let t=this.buffer[n+e+1];if(t===`
87
+ `||!t&&!this.atEnd)return e+n+1}return t===`
88
+ `||n>=this.indentNext||!t&&!this.atEnd?e+n:-1}if(t===`-`||t===`.`){let t=this.buffer.substr(e,3);if((t===`---`||t===`...`)&&Z(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!=`number`||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
89
+ `,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]===`\r`&&--e,this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case`stream`:return yield*this.parseStream();case`line-start`:return yield*this.parseLineStart();case`block-start`:return yield*this.parseBlockStart();case`doc`:return yield*this.parseDocument();case`flow`:return yield*this.parseFlowCollection();case`quoted-scalar`:return yield*this.parseQuotedScalar();case`block-scalar`:return yield*this.parseBlockScalar();case`plain-scalar`:return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext(`stream`);if(e[0]===``&&(yield*this.pushCount(1),e=e.substring(1)),e[0]===`%`){let t=e.length,n=e.indexOf(`#`);for(;n!==-1;){let r=e[n-1];if(r===` `||r===` `){t=n-1;break}n=e.indexOf(`#`,n+1)}for(;;){let n=e[t-1];if(n===` `||n===` `)--t;else break}let r=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-r),this.pushNewline(),`stream`}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),`stream`}return yield``,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext(`line-start`);if(e===`-`||e===`.`){if(!this.atEnd&&!this.hasChars(4))return this.setNext(`line-start`);let e=this.peek(3);if((e===`---`||e===`...`)&&Z(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,e===`---`?`doc`:`stream`}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Z(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext(`block-start`);if((e===`-`||e===`?`||e===`:`)&&Z(t)){let e=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=e,`block-start`}return`doc`}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext(`doc`);let t=yield*this.pushIndicators();switch(e[t]){case`#`:yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case`{`:case`[`:return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,`flow`;case`}`:case`]`:return yield*this.pushCount(1),`doc`;case`*`:return yield*this.pushUntil(zn),`doc`;case`"`:case`'`:return yield*this.parseQuotedScalar();case`|`:case`>`:return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,n=-1;do e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=n=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0);let r=this.getLine();if(r===null)return this.setNext(`flow`);if((n!==-1&&n<this.indentNext&&r[0]!==`#`||n===0&&(r.startsWith(`---`)||r.startsWith(`...`))&&Z(r[3]))&&(n!==this.indentNext-1||this.flowLevel!==1||r[0]!==`]`&&r[0]!==`}`))return this.flowLevel=0,yield``,yield*this.parseLineStart();let i=0;for(;r[i]===`,`;)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(i+=yield*this.pushIndicators(),r[i]){case void 0:return`flow`;case`#`:return yield*this.pushCount(r.length-i),`flow`;case`{`:case`[`:return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,`flow`;case`}`:case`]`:return yield*this.pushCount(1),this.flowKey=!0,--this.flowLevel,this.flowLevel?`flow`:`doc`;case`*`:return yield*this.pushUntil(zn),`flow`;case`"`:case`'`:return this.flowKey=!0,yield*this.parseQuotedScalar();case`:`:{let e=this.charAt(1);if(this.flowKey||Z(e)||e===`,`)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),`flow`}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if(e===`'`)for(;t!==-1&&this.buffer[t+1]===`'`;)t=this.buffer.indexOf(`'`,t+2);else for(;t!==-1;){let e=0;for(;this.buffer[t-1-e]===`\\`;)e+=1;if(e%2==0)break;t=this.buffer.indexOf(`"`,t+1)}let n=this.buffer.substring(0,t),r=n.indexOf(`
90
+ `,this.pos);if(r!==-1){for(;r!==-1;){let e=this.continueScalar(r+1);if(e===-1)break;r=n.indexOf(`
91
+ `,e)}r!==-1&&(t=r-(n[r-1]===`\r`?2:1))}if(t===-1){if(!this.atEnd)return this.setNext(`quoted-scalar`);t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?`flow`:`doc`}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if(t===`+`)this.blockScalarKeep=!0;else if(t>`0`&&t<=`9`)this.blockScalarIndent=Number(t)-1;else if(t!==`-`)break}return yield*this.pushUntil(e=>Z(e)||e===`#`)}*parseBlockScalar(){let e=this.pos-1,t=0,n;loop:for(let r=this.pos;n=this.buffer[r];++r)switch(n){case` `:t+=1;break;case`
92
+ `:e=r,t=0;break;case`\r`:{let e=this.buffer[r+1];if(!e&&!this.atEnd)return this.setNext(`block-scalar`);if(e===`
93
+ `)break}default:break loop}if(!n&&!this.atEnd)return this.setNext(`block-scalar`);if(t>=this.indentNext){this.indentNext=this.blockScalarIndent===-1?t:this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let t=this.continueScalar(e+1);if(t===-1)break;e=this.buffer.indexOf(`
94
+ `,t)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext(`block-scalar`);e=this.buffer.length}}let r=e+1;for(n=this.buffer[r];n===` `;)n=this.buffer[++r];if(n===` `){for(;n===` `||n===` `||n===`\r`||n===`
95
+ `;)n=this.buffer[++r];e=r-1}else if(!this.blockScalarKeep)do{let n=e-1,r=this.buffer[n];r===`\r`&&(r=this.buffer[--n]);let i=n;for(;r===` `;)r=this.buffer[--n];if(r===`
96
+ `&&n>=this.pos&&n+1+t>i)e=n;else break}while(1);return yield``,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,n=this.pos-1,r;for(;r=this.buffer[++n];)if(r===`:`){let r=this.buffer[n+1];if(Z(r)||e&&Ln.has(r))break;t=n}else if(Z(r)){let i=this.buffer[n+1];if(r===`\r`&&(i===`
97
+ `?(n+=1,r=`
98
+ `,i=this.buffer[n+1]):t=n),i===`#`||e&&Ln.has(i))break;if(r===`
99
+ `){let e=this.continueScalar(n+1);if(e===-1)break;n=Math.max(n,e-2)}}else{if(e&&Ln.has(r))break;t=n}return!r&&!this.atEnd?this.setNext(`plain-scalar`):(yield``,yield*this.pushToIndex(t+1,!0),e?`flow`:`doc`)}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(t&&(yield``),0)}*pushIndicators(){let e=0;loop:for(;;){switch(this.charAt(0)){case`!`:e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue loop;case`&`:e+=yield*this.pushUntil(zn),e+=yield*this.pushSpaces(!0);continue loop;case`-`:case`?`:case`:`:{let t=this.flowLevel>0,n=this.charAt(1);if(Z(n)||t&&Ln.has(n)){t?this.flowKey&&=!1:this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue loop}}}break loop}return e}*pushTag(){if(this.charAt(1)===`<`){let e=this.pos+2,t=this.buffer[e];for(;!Z(t)&&t!==`>`;)t=this.buffer[++e];return yield*this.pushToIndex(t===`>`?e+1:e,!1)}{let e=this.pos+1,t=this.buffer[e];for(;t;)if(In.has(t))t=this.buffer[++e];else if(t===`%`&&Fn.has(this.buffer[e+1])&&Fn.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
100
+ `?yield*this.pushCount(1):e===`\r`&&this.charAt(1)===`
101
+ `?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,n;do n=this.buffer[++t];while(n===` `||e&&n===` `);let r=t-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=t),r}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}},Vn=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,n=this.lineStarts.length;for(;t<n;){let r=t+n>>1;this.lineStarts[r]<e?t=r+1:n=r}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(t===0)return{line:0,col:e};let r=this.lineStarts[t-1];return{line:t,col:e-r+1}}}};function Q(e,t){for(let n=0;n<e.length;++n)if(e[n].type===t)return!0;return!1}function Hn(e){for(let t=0;t<e.length;++t)switch(e[t].type){case`space`:case`comment`:case`newline`:break;default:return t}return-1}function Un(e){switch(e?.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:case`flow-collection`:return!0;default:return!1}}function Wn(e){switch(e.type){case`document`:return e.start;case`block-map`:{let t=e.items[e.items.length-1];return t.sep??t.start}case`block-seq`:return e.items[e.items.length-1].start;default:return[]}}function $(e){if(e.length===0)return[];let t=e.length;loop:for(;--t>=0;)switch(e[t].type){case`doc-start`:case`explicit-key-ind`:case`map-value-ind`:case`seq-item-ind`:case`newline`:break loop}for(;e[++t]?.type===`space`;);return e.splice(t,e.length)}function Gn(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let n=0;n<t.length;++n)e.push(t[n])}function Kn(e){if(e.start.type===`flow-seq-start`)for(let t of e.items)t.sep&&!t.value&&!Q(t.start,`explicit-key-ind`)&&!Q(t.sep,`map-value-ind`)&&(t.key&&(t.value=t.key),delete t.key,Un(t.value)?t.value.end?Gn(t.value.end,t.sep):t.value.end=t.sep:Gn(t.start,t.sep),delete t.sep)}var qn=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source=``,this.type=``,this.lexer=new Bn,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(e,t))yield*this.next(n);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=Pn(e);if(!t){let t=`Not a YAML token: ${e}`;yield*this.pop({type:`error`,offset:this.offset,message:t,source:e}),this.offset+=e.length}else if(t===`scalar`)this.atNewLine=!1,this.atScalar=!0,this.type=`scalar`;else{switch(this.type=t,yield*this.step(),t){case`newline`:this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case`space`:this.atNewLine&&e[0]===` `&&(this.indent+=e.length);break;case`explicit-key-ind`:case`map-value-ind`:case`seq-item-ind`:this.atNewLine&&(this.indent+=e.length);break;case`doc-mode`:case`flow-error-end`:return;default:this.atNewLine=!1}this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type===`doc-end`&&e?.type!==`doc-end`){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:`doc-end`,offset:this.offset,source:this.source})}else{if(!e)return yield*this.stream();switch(e.type){case`document`:return yield*this.document(e);case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return yield*this.scalar(e);case`block-scalar`:return yield*this.blockScalar(e);case`block-map`:return yield*this.blockMap(e);case`block-seq`:return yield*this.blockSequence(e);case`flow-collection`:return yield*this.flowCollection(e);case`doc-end`:return yield*this.documentEnd(e)}yield*this.pop()}}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e??this.stack.pop();if(!t)yield{type:`error`,offset:this.offset,source:``,message:`Tried to pop an empty stack`};else if(this.stack.length===0)yield t;else{let e=this.peek(1);switch(t.type===`block-scalar`?t.indent=`indent`in e?e.indent:0:t.type===`flow-collection`&&e.type===`document`&&(t.indent=0),t.type===`flow-collection`&&Kn(t),e.type){case`document`:e.value=t;break;case`block-scalar`:e.props.push(t);break;case`block-map`:{let n=e.items[e.items.length-1];if(n.value){e.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}if(n.sep)n.value=t;else{Object.assign(n,{key:t,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case`block-seq`:{let n=e.items[e.items.length-1];n.value?e.items.push({start:[],value:t}):n.value=t;break}case`flow-collection`:{let n=e.items[e.items.length-1];!n||n.value?e.items.push({start:[],key:t,sep:[]}):n.sep?n.value=t:Object.assign(n,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((e.type===`document`||e.type===`block-map`||e.type===`block-seq`)&&(t.type===`block-map`||t.type===`block-seq`)){let n=t.items[t.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&Hn(n.start)===-1&&(t.indent===0||n.start.every(e=>e.type!==`comment`||e.indent<t.indent))&&(e.type===`document`?e.end=n.start:e.items.push({start:n.start}),t.items.splice(-1,1))}}}*stream(){switch(this.type){case`directive-line`:yield{type:`directive`,offset:this.offset,source:this.source};return;case`byte-order-mark`:case`space`:case`comment`:case`newline`:yield this.sourceToken;return;case`doc-mode`:case`doc-start`:{let e={type:`document`,offset:this.offset,start:[]};this.type===`doc-start`&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:`error`,offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case`doc-start`:Hn(e.start)===-1?e.start.push(this.sourceToken):(yield*this.pop(),yield*this.step());return;case`anchor`:case`tag`:case`space`:case`comment`:case`newline`:e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:`error`,offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type===`map-value-ind`){let t=$(Wn(this.peek(2))),n;e.end?(n=e.end,n.push(this.sourceToken),delete e.end):n=[this.sourceToken];let r={type:`block-map`,offset:e.offset,indent:e.indent,items:[{start:t,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case`space`:case`comment`:case`newline`:e.props.push(this.sourceToken);return;case`scalar`:if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let e=this.source.indexOf(`
102
+ `)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
103
+ `,e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(this.onKeyLine=!1,t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){Gn(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,r=n&&(t.sep||t.explicitKey)&&this.type!==`seq-item-ind`,i=[];if(r&&t.sep&&!t.value){let n=[];for(let r=0;r<t.sep.length;++r){let i=t.sep[r];switch(i.type){case`newline`:n.push(r);break;case`space`:break;case`comment`:i.indent>e.indent&&(n.length=0);break;default:n.length=0}}n.length>=2&&(i=t.sep.splice(n[1]))}switch(this.type){case`anchor`:case`tag`:r||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`explicit-key-ind`:!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):r||t.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case`map-value-ind`:if(t.explicitKey){if(!t.sep){if(Q(t.start,`newline`))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let e=$(t.start);this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Q(t.sep,`map-value-ind`))this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(Un(t.key)&&!Q(t.sep,`newline`)){let e=$(t.start),n=t.key,r=t.sep;r.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:n,sep:r}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken)}else t.sep?t.value||r?e.items.push({start:i,key:null,sep:[this.sourceToken]}):Q(t.sep,`map-value-ind`)?this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);r||t.value?(e.items.push({start:i,key:n,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(n):(Object.assign(t,{key:n,sep:[]}),this.onKeyLine=!0);return}default:{let r=this.startBlockValue(e);if(r){if(r.type===`block-seq`){if(!t.explicitKey&&t.sep&&!Q(t.sep,`newline`)){yield*this.pop({type:`error`,offset:this.offset,message:`Unexpected block-seq-ind on same line with key`,source:this.source});return}}else n&&e.items.push({start:i});this.stack.push(r);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){Gn(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case`anchor`:case`tag`:if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case`seq-item-ind`:if(this.indent!==e.indent)break;t.value||Q(t.start,`seq-item-ind`)?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let t=this.startBlockValue(e);if(t){this.stack.push(t);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type===`flow-error-end`){let e;do yield*this.pop(),e=this.peek(1);while(e?.type===`flow-collection`)}else if(e.end.length===0){switch(this.type){case`comma`:case`explicit-key-ind`:!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case`map-value-ind`:!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case`space`:case`comment`:case`newline`:case`anchor`:case`tag`:!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]});return}case`flow-map-end`:case`flow-seq-end`:e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let t=this.peek(2);if(t.type===`block-map`&&(this.type===`map-value-ind`&&t.indent===e.indent||this.type===`newline`&&!t.items[t.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type===`map-value-ind`&&t.type!==`flow-collection`){let n=$(Wn(t));Kn(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let i={type:`block-map`,offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf(`
104
+ `)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
105
+ `,e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return this.flowScalar(this.type);case`block-scalar-header`:return{type:`block-scalar`,offset:this.offset,indent:this.indent,props:[this.sourceToken],source:``};case`flow-map-start`:case`flow-seq-start`:return{type:`flow-collection`,offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case`seq-item-ind`:return{type:`block-seq`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case`explicit-key-ind`:{this.onKeyLine=!0;let t=$(Wn(e));return t.push(this.sourceToken),{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case`map-value-ind`:{this.onKeyLine=!0;let t=$(Wn(e));return{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!==`comment`||this.indent<=t?!1:e.every(e=>e.type===`newline`||e.type===`space`)}*documentEnd(e){this.type!==`doc-mode`&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case`comma`:case`doc-start`:case`doc-end`:case`flow-seq-end`:case`flow-map-end`:case`map-value-ind`:yield*this.pop(),yield*this.step();break;case`newline`:this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop())}}};function Jn(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new Vn||null,prettyErrors:t}}function Yn(e,t={}){let{lineCounter:n,prettyErrors:r}=Jn(t),i=new qn(n?.addNewLine),a=new kn(t),o=null;for(let t of a.compose(i.parse(e),!0,e.length))if(!o)o=t;else if(o.options.logLevel!==`silent`){o.errors.push(new q(t.range.slice(0,2),`MULTIPLE_DOCS`,`Source contains multiple documents; please use YAML.parseAllDocuments()`));break}return r&&n&&(o.errors.forEach(Jt(e,n)),o.warnings.forEach(Jt(e,n))),o}export{g as a,r as c,m as i,n as l,Vn as n,_ as o,Gt as r,i as s,Yn as t,t as u};