universal-physics-tensor 0.47.1 → 1.0.2

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 (702) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +405 -383
  3. package/bin/upt.mjs +7 -1
  4. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +108 -0
  5. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -0
  6. package/dist/atlas/benchmark/hybrid-retrieval.js +241 -0
  7. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -0
  8. package/dist/atlas/catalog-formal-ref.d.ts +24 -0
  9. package/dist/atlas/catalog-formal-ref.d.ts.map +1 -0
  10. package/dist/atlas/catalog-formal-ref.js +36 -0
  11. package/dist/atlas/catalog-formal-ref.js.map +1 -0
  12. package/dist/atlas/chain-pipeline.d.ts +52 -0
  13. package/dist/atlas/chain-pipeline.d.ts.map +1 -0
  14. package/dist/atlas/chain-pipeline.js +176 -0
  15. package/dist/atlas/chain-pipeline.js.map +1 -0
  16. package/dist/atlas/composition-table.d.ts +11 -46
  17. package/dist/atlas/composition-table.d.ts.map +1 -1
  18. package/dist/atlas/composition-table.js +7 -124
  19. package/dist/atlas/composition-table.js.map +1 -1
  20. package/dist/atlas/conventions.d.ts +4 -58
  21. package/dist/atlas/conventions.d.ts.map +1 -1
  22. package/dist/atlas/conventions.js +3 -88
  23. package/dist/atlas/conventions.js.map +1 -1
  24. package/dist/atlas/derive-evidence.d.ts +50 -3
  25. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  26. package/dist/atlas/derive-evidence.js +73 -4
  27. package/dist/atlas/derive-evidence.js.map +1 -1
  28. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  29. package/dist/atlas/diffusion/bridges-closure.js +5 -1
  30. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  31. package/dist/atlas/index.d.ts +9 -7
  32. package/dist/atlas/index.d.ts.map +1 -1
  33. package/dist/atlas/index.js +6 -5
  34. package/dist/atlas/index.js.map +1 -1
  35. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  36. package/dist/atlas/oscillators/bridges-exact.js +6 -0
  37. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  38. package/dist/atlas/oscillators/bridges-limits.d.ts +2 -0
  39. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  40. package/dist/atlas/oscillators/bridges-limits.js +11 -19
  41. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  42. package/dist/atlas/oscillators/limit-witnesses.d.ts +93 -0
  43. package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -0
  44. package/dist/atlas/oscillators/limit-witnesses.js +152 -0
  45. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -0
  46. package/dist/atlas/oscillators/models.d.ts +2 -1
  47. package/dist/atlas/oscillators/models.d.ts.map +1 -1
  48. package/dist/atlas/oscillators/models.js +4 -3
  49. package/dist/atlas/oscillators/models.js.map +1 -1
  50. package/dist/atlas/oscillators/norm-transport-witness.d.ts +37 -0
  51. package/dist/atlas/oscillators/norm-transport-witness.d.ts.map +1 -0
  52. package/dist/atlas/oscillators/norm-transport-witness.js +58 -0
  53. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -0
  54. package/dist/atlas/oscillators/norm-transport.d.ts +44 -0
  55. package/dist/atlas/oscillators/norm-transport.d.ts.map +1 -0
  56. package/dist/atlas/oscillators/norm-transport.js +66 -0
  57. package/dist/atlas/oscillators/norm-transport.js.map +1 -0
  58. package/dist/atlas/oscillators/norms.d.ts +11 -0
  59. package/dist/atlas/oscillators/norms.d.ts.map +1 -0
  60. package/dist/atlas/oscillators/norms.js +11 -0
  61. package/dist/atlas/oscillators/norms.js.map +1 -0
  62. package/dist/atlas/oscillators/pendulum-motion.d.ts +38 -0
  63. package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -0
  64. package/dist/atlas/oscillators/pendulum-motion.js +122 -0
  65. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -0
  66. package/dist/atlas/oscillators/phase-carriage.d.ts +38 -0
  67. package/dist/atlas/oscillators/phase-carriage.d.ts.map +1 -0
  68. package/dist/atlas/oscillators/phase-carriage.js +96 -0
  69. package/dist/atlas/oscillators/phase-carriage.js.map +1 -0
  70. package/dist/atlas/oscillators/phase-translation.d.ts +46 -0
  71. package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -0
  72. package/dist/atlas/oscillators/phase-translation.js +178 -0
  73. package/dist/atlas/oscillators/phase-translation.js.map +1 -0
  74. package/dist/atlas/oscillators/position-translation.d.ts +59 -0
  75. package/dist/atlas/oscillators/position-translation.d.ts.map +1 -0
  76. package/dist/atlas/oscillators/position-translation.js +254 -0
  77. package/dist/atlas/oscillators/position-translation.js.map +1 -0
  78. package/dist/atlas/path-bound.d.ts +126 -9
  79. package/dist/atlas/path-bound.d.ts.map +1 -1
  80. package/dist/atlas/path-bound.js +372 -23
  81. package/dist/atlas/path-bound.js.map +1 -1
  82. package/dist/atlas/physjs-ref.d.ts +141 -0
  83. package/dist/atlas/physjs-ref.d.ts.map +1 -0
  84. package/dist/atlas/physjs-ref.js +878 -0
  85. package/dist/atlas/physjs-ref.js.map +1 -0
  86. package/dist/atlas/proof-target.d.ts +32 -0
  87. package/dist/atlas/proof-target.d.ts.map +1 -0
  88. package/dist/atlas/proof-target.js +140 -0
  89. package/dist/atlas/proof-target.js.map +1 -0
  90. package/dist/atlas/regime.d.ts +12 -136
  91. package/dist/atlas/regime.d.ts.map +1 -1
  92. package/dist/atlas/regime.js +8 -254
  93. package/dist/atlas/regime.js.map +1 -1
  94. package/dist/atlas/serialize.d.ts.map +1 -1
  95. package/dist/atlas/serialize.js +25 -0
  96. package/dist/atlas/serialize.js.map +1 -1
  97. package/dist/atlas/translation-registry.d.ts +22 -0
  98. package/dist/atlas/translation-registry.d.ts.map +1 -0
  99. package/dist/atlas/translation-registry.js +31 -0
  100. package/dist/atlas/translation-registry.js.map +1 -0
  101. package/dist/atlas/translation.d.ts +116 -0
  102. package/dist/atlas/translation.d.ts.map +1 -0
  103. package/dist/atlas/translation.js +34 -0
  104. package/dist/atlas/translation.js.map +1 -0
  105. package/dist/atlas/types.d.ts +74 -240
  106. package/dist/atlas/types.d.ts.map +1 -1
  107. package/dist/atlas/types.js +5 -37
  108. package/dist/atlas/types.js.map +1 -1
  109. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  110. package/dist/atlas/waves/bridges-closure.js +4 -0
  111. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  112. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  113. package/dist/atlas/waves/bridges.js +3 -0
  114. package/dist/atlas/waves/bridges.js.map +1 -1
  115. package/dist/atlas/waves/models.js +1 -1
  116. package/dist/atlas/waves/models.js.map +1 -1
  117. package/dist/atlas/witness-dominance.d.ts +50 -0
  118. package/dist/atlas/witness-dominance.d.ts.map +1 -0
  119. package/dist/atlas/witness-dominance.js +86 -0
  120. package/dist/atlas/witness-dominance.js.map +1 -0
  121. package/dist/atlas/witness-specs.d.ts +30 -0
  122. package/dist/atlas/witness-specs.d.ts.map +1 -1
  123. package/dist/atlas/witness-specs.js +107 -0
  124. package/dist/atlas/witness-specs.js.map +1 -1
  125. package/dist/bridges/be53-yang-mills-confrontation.d.ts +81 -0
  126. package/dist/bridges/be53-yang-mills-confrontation.d.ts.map +1 -0
  127. package/dist/bridges/be53-yang-mills-confrontation.js +110 -0
  128. package/dist/bridges/be53-yang-mills-confrontation.js.map +1 -0
  129. package/dist/bridges/be63-chandrasekhar-mass.d.ts.map +1 -1
  130. package/dist/bridges/be63-chandrasekhar-mass.js +1 -3
  131. package/dist/bridges/be63-chandrasekhar-mass.js.map +1 -1
  132. package/dist/bridges/confrontation-coverage.d.ts +5 -61
  133. package/dist/bridges/confrontation-coverage.d.ts.map +1 -1
  134. package/dist/bridges/confrontation-coverage.js +5 -70
  135. package/dist/bridges/confrontation-coverage.js.map +1 -1
  136. package/dist/bridges/confrontations.d.ts +1 -1
  137. package/dist/bridges/confrontations.d.ts.map +1 -1
  138. package/dist/bridges/confrontations.js +291 -3
  139. package/dist/bridges/confrontations.js.map +1 -1
  140. package/dist/bridges/equations/be-13-einstein-trace.d.ts +2 -3
  141. package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -1
  142. package/dist/bridges/equations/be-13-einstein-trace.js +2 -3
  143. package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -1
  144. package/dist/bridges/equations/be-38-mond.d.ts +7 -5
  145. package/dist/bridges/equations/be-38-mond.d.ts.map +1 -1
  146. package/dist/bridges/equations/be-38-mond.js +7 -5
  147. package/dist/bridges/equations/be-38-mond.js.map +1 -1
  148. package/dist/bridges/equations/be-42-hawking-temperature.d.ts +3 -0
  149. package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -1
  150. package/dist/bridges/equations/be-42-hawking-temperature.js +8 -1
  151. package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -1
  152. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +21 -0
  153. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +1 -1
  154. package/dist/bridges/equations/be-53-yang-mills-beta.js +12 -0
  155. package/dist/bridges/equations/be-53-yang-mills-beta.js.map +1 -1
  156. package/dist/bridges/evaluator-inputs.d.ts +21 -0
  157. package/dist/bridges/evaluator-inputs.d.ts.map +1 -0
  158. package/dist/bridges/evaluator-inputs.js +75 -0
  159. package/dist/bridges/evaluator-inputs.js.map +1 -0
  160. package/dist/bridges/evaluators.d.ts +46 -0
  161. package/dist/bridges/evaluators.d.ts.map +1 -1
  162. package/dist/bridges/evaluators.js +57 -16
  163. package/dist/bridges/evaluators.js.map +1 -1
  164. package/dist/bridges/gravitational-lensing.d.ts +1 -1
  165. package/dist/bridges/gravitational-lensing.js +1 -1
  166. package/dist/bridges/index.d.ts +3 -2
  167. package/dist/bridges/index.d.ts.map +1 -1
  168. package/dist/bridges/index.js +15 -14
  169. package/dist/bridges/index.js.map +1 -1
  170. package/dist/bridges/observations/types.d.ts +110 -2
  171. package/dist/bridges/observations/types.d.ts.map +1 -1
  172. package/dist/bridges/observations/types.js +29 -0
  173. package/dist/bridges/observations/types.js.map +1 -1
  174. package/dist/bridges/perihelion-precession.d.ts +1 -1
  175. package/dist/bridges/perihelion-precession.js +1 -1
  176. package/dist/bridges/tensor-index.d.ts +39 -0
  177. package/dist/bridges/tensor-index.d.ts.map +1 -0
  178. package/dist/bridges/tensor-index.js +66 -0
  179. package/dist/bridges/tensor-index.js.map +1 -0
  180. package/dist/canonical/canonical-equation.d.ts +1 -1
  181. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  182. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  183. package/dist/canonical/entries/atomic.js +32 -10
  184. package/dist/canonical/entries/atomic.js.map +1 -1
  185. package/dist/canonical/entries/dimensional-classics.js +2 -2
  186. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  187. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  188. package/dist/canonical/entries/mechanics.js +10 -6
  189. package/dist/canonical/entries/mechanics.js.map +1 -1
  190. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  191. package/dist/canonical/entries/relativity.js +41 -8
  192. package/dist/canonical/entries/relativity.js.map +1 -1
  193. package/dist/canonical/entries/thermo-nuclear-cosmo.js +5 -5
  194. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  195. package/dist/canonical/linkage.d.ts.map +1 -1
  196. package/dist/canonical/linkage.js +31 -28
  197. package/dist/canonical/linkage.js.map +1 -1
  198. package/dist/canonical/normal-form.d.ts +17 -0
  199. package/dist/canonical/normal-form.d.ts.map +1 -1
  200. package/dist/canonical/normal-form.js +21 -4
  201. package/dist/canonical/normal-form.js.map +1 -1
  202. package/dist/canonical/structural.d.ts +84 -0
  203. package/dist/canonical/structural.d.ts.map +1 -0
  204. package/dist/canonical/structural.js +107 -0
  205. package/dist/canonical/structural.js.map +1 -0
  206. package/dist/cases/brownian-sphere.d.ts +68 -0
  207. package/dist/cases/brownian-sphere.d.ts.map +1 -0
  208. package/dist/cases/brownian-sphere.js +353 -0
  209. package/dist/cases/brownian-sphere.js.map +1 -0
  210. package/dist/cases/damped-resonator.d.ts +23 -0
  211. package/dist/cases/damped-resonator.d.ts.map +1 -0
  212. package/dist/cases/damped-resonator.js +224 -0
  213. package/dist/cases/damped-resonator.js.map +1 -0
  214. package/dist/cases/index.d.ts +11 -0
  215. package/dist/cases/index.d.ts.map +1 -0
  216. package/dist/cases/index.js +29 -0
  217. package/dist/cases/index.js.map +1 -0
  218. package/dist/cases/kepler-rv.d.ts +13 -0
  219. package/dist/cases/kepler-rv.d.ts.map +1 -0
  220. package/dist/cases/kepler-rv.js +168 -0
  221. package/dist/cases/kepler-rv.js.map +1 -0
  222. package/dist/cases/lumped-cooling.d.ts +46 -0
  223. package/dist/cases/lumped-cooling.d.ts.map +1 -0
  224. package/dist/cases/lumped-cooling.js +261 -0
  225. package/dist/cases/lumped-cooling.js.map +1 -0
  226. package/dist/cases/quadrature.d.ts +14 -0
  227. package/dist/cases/quadrature.d.ts.map +1 -0
  228. package/dist/cases/quadrature.js +41 -0
  229. package/dist/cases/quadrature.js.map +1 -0
  230. package/dist/cases/resistor-noise.d.ts +14 -0
  231. package/dist/cases/resistor-noise.d.ts.map +1 -0
  232. package/dist/cases/resistor-noise.js +210 -0
  233. package/dist/cases/resistor-noise.js.map +1 -0
  234. package/dist/cases/skin-depth.d.ts +21 -0
  235. package/dist/cases/skin-depth.d.ts.map +1 -0
  236. package/dist/cases/skin-depth.js +174 -0
  237. package/dist/cases/skin-depth.js.map +1 -0
  238. package/dist/cases/types.d.ts +115 -0
  239. package/dist/cases/types.d.ts.map +1 -0
  240. package/dist/cases/types.js +20 -0
  241. package/dist/cases/types.js.map +1 -0
  242. package/dist/cli/commands/_atlas-map.d.ts +409 -0
  243. package/dist/cli/commands/_atlas-map.d.ts.map +1 -0
  244. package/dist/cli/commands/_atlas-map.js +1014 -0
  245. package/dist/cli/commands/_atlas-map.js.map +1 -0
  246. package/dist/cli/commands/_atlas-route.d.ts +111 -0
  247. package/dist/cli/commands/_atlas-route.d.ts.map +1 -0
  248. package/dist/cli/commands/_atlas-route.js +140 -0
  249. package/dist/cli/commands/_atlas-route.js.map +1 -0
  250. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  251. package/dist/cli/commands/_discovery-opts.js +10 -1
  252. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  253. package/dist/cli/commands/atlas.d.ts +20 -0
  254. package/dist/cli/commands/atlas.d.ts.map +1 -1
  255. package/dist/cli/commands/atlas.js +333 -19
  256. package/dist/cli/commands/atlas.js.map +1 -1
  257. package/dist/cli/commands/audit.d.ts.map +1 -1
  258. package/dist/cli/commands/audit.js +12 -3
  259. package/dist/cli/commands/audit.js.map +1 -1
  260. package/dist/cli/commands/axes.js +4 -4
  261. package/dist/cli/commands/candidates.d.ts.map +1 -1
  262. package/dist/cli/commands/candidates.js +3 -2
  263. package/dist/cli/commands/candidates.js.map +1 -1
  264. package/dist/cli/commands/canonical.d.ts.map +1 -1
  265. package/dist/cli/commands/canonical.js +39 -10
  266. package/dist/cli/commands/canonical.js.map +1 -1
  267. package/dist/cli/commands/confront.d.ts.map +1 -1
  268. package/dist/cli/commands/confront.js +210 -28
  269. package/dist/cli/commands/confront.js.map +1 -1
  270. package/dist/cli/commands/connectors.d.ts.map +1 -1
  271. package/dist/cli/commands/connectors.js +5 -4
  272. package/dist/cli/commands/connectors.js.map +1 -1
  273. package/dist/cli/commands/coverage.js +3 -3
  274. package/dist/cli/commands/derive.d.ts.map +1 -1
  275. package/dist/cli/commands/derive.js +22 -9
  276. package/dist/cli/commands/derive.js.map +1 -1
  277. package/dist/cli/commands/discover.d.ts.map +1 -1
  278. package/dist/cli/commands/discover.js +149 -32
  279. package/dist/cli/commands/discover.js.map +1 -1
  280. package/dist/cli/commands/eval.d.ts.map +1 -1
  281. package/dist/cli/commands/eval.js +87 -17
  282. package/dist/cli/commands/eval.js.map +1 -1
  283. package/dist/cli/commands/evaluate.d.ts +30 -0
  284. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  285. package/dist/cli/commands/evaluate.js +441 -25
  286. package/dist/cli/commands/evaluate.js.map +1 -1
  287. package/dist/cli/commands/explain.d.ts.map +1 -1
  288. package/dist/cli/commands/explain.js +38 -11
  289. package/dist/cli/commands/explain.js.map +1 -1
  290. package/dist/cli/commands/frontier.d.ts +3 -0
  291. package/dist/cli/commands/frontier.d.ts.map +1 -0
  292. package/dist/cli/commands/frontier.js +28 -0
  293. package/dist/cli/commands/frontier.js.map +1 -0
  294. package/dist/cli/commands/ground.d.ts.map +1 -1
  295. package/dist/cli/commands/ground.js +37 -12
  296. package/dist/cli/commands/ground.js.map +1 -1
  297. package/dist/cli/commands/index.d.ts +5 -0
  298. package/dist/cli/commands/index.d.ts.map +1 -1
  299. package/dist/cli/commands/index.js +5 -0
  300. package/dist/cli/commands/index.js.map +1 -1
  301. package/dist/cli/commands/map.d.ts +8 -0
  302. package/dist/cli/commands/map.d.ts.map +1 -1
  303. package/dist/cli/commands/map.js +385 -57
  304. package/dist/cli/commands/map.js.map +1 -1
  305. package/dist/cli/commands/metric.d.ts +3 -0
  306. package/dist/cli/commands/metric.d.ts.map +1 -0
  307. package/dist/cli/commands/metric.js +136 -0
  308. package/dist/cli/commands/metric.js.map +1 -0
  309. package/dist/cli/commands/path.d.ts +109 -1
  310. package/dist/cli/commands/path.d.ts.map +1 -1
  311. package/dist/cli/commands/path.js +1019 -109
  312. package/dist/cli/commands/path.js.map +1 -1
  313. package/dist/cli/commands/predict.d.ts.map +1 -1
  314. package/dist/cli/commands/predict.js +3 -2
  315. package/dist/cli/commands/predict.js.map +1 -1
  316. package/dist/cli/commands/priority.d.ts.map +1 -1
  317. package/dist/cli/commands/priority.js +3 -2
  318. package/dist/cli/commands/priority.js.map +1 -1
  319. package/dist/cli/commands/probe.d.ts +7 -0
  320. package/dist/cli/commands/probe.d.ts.map +1 -1
  321. package/dist/cli/commands/probe.js +234 -52
  322. package/dist/cli/commands/probe.js.map +1 -1
  323. package/dist/cli/commands/recover.d.ts.map +1 -1
  324. package/dist/cli/commands/recover.js +17 -6
  325. package/dist/cli/commands/recover.js.map +1 -1
  326. package/dist/cli/commands/regime.d.ts +1 -1
  327. package/dist/cli/commands/regime.d.ts.map +1 -1
  328. package/dist/cli/commands/regime.js +134 -33
  329. package/dist/cli/commands/regime.js.map +1 -1
  330. package/dist/cli/commands/retrieve.d.ts +3 -0
  331. package/dist/cli/commands/retrieve.d.ts.map +1 -0
  332. package/dist/cli/commands/retrieve.js +65 -0
  333. package/dist/cli/commands/retrieve.js.map +1 -0
  334. package/dist/cli/commands/search.d.ts +3 -0
  335. package/dist/cli/commands/search.d.ts.map +1 -0
  336. package/dist/cli/commands/search.js +70 -0
  337. package/dist/cli/commands/search.js.map +1 -0
  338. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  339. package/dist/cli/commands/symbolic.js +107 -16
  340. package/dist/cli/commands/symbolic.js.map +1 -1
  341. package/dist/cli/commands/testplan.d.ts +3 -0
  342. package/dist/cli/commands/testplan.d.ts.map +1 -0
  343. package/dist/cli/commands/testplan.js +131 -0
  344. package/dist/cli/commands/testplan.js.map +1 -0
  345. package/dist/cli/conventions.d.ts +22 -0
  346. package/dist/cli/conventions.d.ts.map +1 -0
  347. package/dist/cli/conventions.js +48 -0
  348. package/dist/cli/conventions.js.map +1 -0
  349. package/dist/cli/euler-guard.d.ts +9 -0
  350. package/dist/cli/euler-guard.d.ts.map +1 -0
  351. package/dist/cli/euler-guard.js +11 -0
  352. package/dist/cli/euler-guard.js.map +1 -0
  353. package/dist/cli/eval-numbers.d.ts +26 -0
  354. package/dist/cli/eval-numbers.d.ts.map +1 -0
  355. package/dist/cli/eval-numbers.js +48 -0
  356. package/dist/cli/eval-numbers.js.map +1 -0
  357. package/dist/cli/expr-print.d.ts +25 -0
  358. package/dist/cli/expr-print.d.ts.map +1 -0
  359. package/dist/cli/expr-print.js +123 -0
  360. package/dist/cli/expr-print.js.map +1 -0
  361. package/dist/cli/graphs.d.ts +26 -0
  362. package/dist/cli/graphs.d.ts.map +1 -1
  363. package/dist/cli/graphs.js +19 -0
  364. package/dist/cli/graphs.js.map +1 -1
  365. package/dist/cli/main.d.ts +4 -10
  366. package/dist/cli/main.d.ts.map +1 -1
  367. package/dist/cli/main.js +370 -167
  368. package/dist/cli/main.js.map +1 -1
  369. package/dist/cli/map-evidence.d.ts +47 -0
  370. package/dist/cli/map-evidence.d.ts.map +1 -0
  371. package/dist/cli/map-evidence.js +53 -0
  372. package/dist/cli/map-evidence.js.map +1 -0
  373. package/dist/cli/output.d.ts +21 -1
  374. package/dist/cli/output.d.ts.map +1 -1
  375. package/dist/cli/output.js +5 -1
  376. package/dist/cli/output.js.map +1 -1
  377. package/dist/{composition → cli}/poster-source.d.ts +3 -2
  378. package/dist/cli/poster-source.d.ts.map +1 -0
  379. package/dist/{composition → cli}/poster-source.js +2 -1
  380. package/dist/cli/poster-source.js.map +1 -0
  381. package/dist/cli/record-reach.d.ts +44 -0
  382. package/dist/cli/record-reach.d.ts.map +1 -0
  383. package/dist/cli/record-reach.js +228 -0
  384. package/dist/cli/record-reach.js.map +1 -0
  385. package/dist/cli/record-tables.d.ts +38 -0
  386. package/dist/cli/record-tables.d.ts.map +1 -0
  387. package/dist/cli/record-tables.js +110 -0
  388. package/dist/cli/record-tables.js.map +1 -0
  389. package/dist/cli/record.d.ts +141 -0
  390. package/dist/cli/record.d.ts.map +1 -0
  391. package/dist/cli/record.js +612 -0
  392. package/dist/cli/record.js.map +1 -0
  393. package/dist/cli/search-index.d.ts +56 -0
  394. package/dist/cli/search-index.d.ts.map +1 -0
  395. package/dist/cli/search-index.js +190 -0
  396. package/dist/cli/search-index.js.map +1 -0
  397. package/dist/cli/statuses.d.ts +25 -0
  398. package/dist/cli/statuses.d.ts.map +1 -0
  399. package/dist/cli/statuses.js +276 -0
  400. package/dist/cli/statuses.js.map +1 -0
  401. package/dist/cli/version.d.ts +8 -0
  402. package/dist/cli/version.d.ts.map +1 -1
  403. package/dist/cli/version.js +32 -1
  404. package/dist/cli/version.js.map +1 -1
  405. package/dist/cli-api.d.ts +34 -16
  406. package/dist/cli-api.d.ts.map +1 -1
  407. package/dist/cli-api.js +32 -12
  408. package/dist/cli-api.js.map +1 -1
  409. package/dist/composition/audit-coverage.d.ts +70 -0
  410. package/dist/composition/audit-coverage.d.ts.map +1 -0
  411. package/dist/composition/audit-coverage.js +80 -0
  412. package/dist/composition/audit-coverage.js.map +1 -0
  413. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  414. package/dist/composition/bridge-analysis.js +2 -1
  415. package/dist/composition/bridge-analysis.js.map +1 -1
  416. package/dist/composition/buckingham-filter.d.ts +34 -0
  417. package/dist/composition/buckingham-filter.d.ts.map +1 -0
  418. package/dist/composition/buckingham-filter.js +64 -0
  419. package/dist/composition/buckingham-filter.js.map +1 -0
  420. package/dist/composition/canonical-compare.d.ts +29 -16
  421. package/dist/composition/canonical-compare.d.ts.map +1 -1
  422. package/dist/composition/canonical-compare.js +355 -59
  423. package/dist/composition/canonical-compare.js.map +1 -1
  424. package/dist/composition/canonical-graph.d.ts +2 -2
  425. package/dist/composition/canonical-graph.js +3 -3
  426. package/dist/composition/canonical-graph.js.map +1 -1
  427. package/dist/composition/canonical-prefactors.d.ts +24 -1
  428. package/dist/composition/canonical-prefactors.d.ts.map +1 -1
  429. package/dist/composition/canonical-prefactors.js +97 -1
  430. package/dist/composition/canonical-prefactors.js.map +1 -1
  431. package/dist/composition/catalog-graph.d.ts +4 -4
  432. package/dist/composition/catalog-graph.d.ts.map +1 -1
  433. package/dist/composition/catalog-graph.js +6 -4
  434. package/dist/composition/catalog-graph.js.map +1 -1
  435. package/dist/composition/chain-candidate.d.ts +43 -0
  436. package/dist/composition/chain-candidate.d.ts.map +1 -0
  437. package/dist/composition/chain-candidate.js +56 -0
  438. package/dist/composition/chain-candidate.js.map +1 -0
  439. package/dist/composition/chain-match.d.ts +19 -0
  440. package/dist/composition/chain-match.d.ts.map +1 -0
  441. package/dist/composition/chain-match.js +10 -0
  442. package/dist/composition/chain-match.js.map +1 -0
  443. package/dist/composition/chain-regime.d.ts +34 -0
  444. package/dist/composition/chain-regime.d.ts.map +1 -0
  445. package/dist/composition/chain-regime.js +89 -0
  446. package/dist/composition/chain-regime.js.map +1 -0
  447. package/dist/composition/compose-symbolic.js +1 -1
  448. package/dist/composition/compose-symbolic.js.map +1 -1
  449. package/dist/composition/compose.d.ts +11 -0
  450. package/dist/composition/compose.d.ts.map +1 -1
  451. package/dist/composition/compose.js +30 -10
  452. package/dist/composition/compose.js.map +1 -1
  453. package/dist/composition/composition-recovery.d.ts +47 -0
  454. package/dist/composition/composition-recovery.d.ts.map +1 -0
  455. package/dist/composition/composition-recovery.js +77 -0
  456. package/dist/composition/composition-recovery.js.map +1 -0
  457. package/dist/composition/consequence.d.ts +39 -0
  458. package/dist/composition/consequence.d.ts.map +1 -1
  459. package/dist/composition/consequence.js +37 -0
  460. package/dist/composition/consequence.js.map +1 -1
  461. package/dist/{bridges → composition}/descriptor.d.ts +6 -3
  462. package/dist/composition/descriptor.d.ts.map +1 -0
  463. package/dist/{bridges → composition}/descriptor.js +7 -4
  464. package/dist/composition/descriptor.js.map +1 -0
  465. package/dist/composition/discovery.d.ts +20 -0
  466. package/dist/composition/discovery.d.ts.map +1 -1
  467. package/dist/composition/discovery.js +27 -5
  468. package/dist/composition/discovery.js.map +1 -1
  469. package/dist/composition/edge.d.ts +1 -1
  470. package/dist/composition/edge.d.ts.map +1 -1
  471. package/dist/composition/edge.js.map +1 -1
  472. package/dist/composition/edges/_catalog-helpers.d.ts +4 -0
  473. package/dist/composition/edges/_catalog-helpers.d.ts.map +1 -1
  474. package/dist/composition/edges/_catalog-helpers.js +15 -0
  475. package/dist/composition/edges/_catalog-helpers.js.map +1 -1
  476. package/dist/composition/edges/calibration.d.ts +0 -9
  477. package/dist/composition/edges/calibration.d.ts.map +1 -1
  478. package/dist/composition/edges/calibration.js +85 -0
  479. package/dist/composition/edges/calibration.js.map +1 -1
  480. package/dist/composition/edges/catalog-condensed-matter.d.ts +0 -9
  481. package/dist/composition/edges/catalog-condensed-matter.d.ts.map +1 -1
  482. package/dist/composition/edges/catalog-condensed-matter.js +32 -1
  483. package/dist/composition/edges/catalog-condensed-matter.js.map +1 -1
  484. package/dist/composition/edges/catalog-fields.d.ts.map +1 -1
  485. package/dist/composition/edges/catalog-fields.js +2 -1
  486. package/dist/composition/edges/catalog-fields.js.map +1 -1
  487. package/dist/composition/edges/catalog-full.d.ts +4 -2
  488. package/dist/composition/edges/catalog-full.d.ts.map +1 -1
  489. package/dist/composition/edges/catalog-full.js +4 -2
  490. package/dist/composition/edges/catalog-full.js.map +1 -1
  491. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +0 -10
  492. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -1
  493. package/dist/composition/edges/catalog-gravitation-cosmology.js +31 -1
  494. package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -1
  495. package/dist/composition/edges/catalog-quantum.d.ts +0 -10
  496. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
  497. package/dist/composition/edges/catalog-quantum.js +53 -17
  498. package/dist/composition/edges/catalog-quantum.js.map +1 -1
  499. package/dist/composition/edges/catalog-tranche.d.ts +0 -15
  500. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  501. package/dist/composition/edges/catalog-tranche.js +70 -16
  502. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  503. package/dist/composition/edges/proved-seeds.d.ts +39 -0
  504. package/dist/composition/edges/proved-seeds.d.ts.map +1 -0
  505. package/dist/composition/edges/proved-seeds.js +197 -0
  506. package/dist/composition/edges/proved-seeds.js.map +1 -0
  507. package/dist/composition/enumerate.d.ts +20 -0
  508. package/dist/composition/enumerate.d.ts.map +1 -1
  509. package/dist/composition/enumerate.js +23 -0
  510. package/dist/composition/enumerate.js.map +1 -1
  511. package/dist/composition/expr-eval.d.ts +5 -4
  512. package/dist/composition/expr-eval.d.ts.map +1 -1
  513. package/dist/composition/expr-eval.js +40 -6
  514. package/dist/composition/expr-eval.js.map +1 -1
  515. package/dist/composition/expr-simplify.js +1 -1
  516. package/dist/composition/expr-simplify.js.map +1 -1
  517. package/dist/composition/expr-subst.d.ts +2 -1
  518. package/dist/composition/expr-subst.d.ts.map +1 -1
  519. package/dist/composition/expr-subst.js +9 -2
  520. package/dist/composition/expr-subst.js.map +1 -1
  521. package/dist/composition/frontier-account.d.ts +78 -0
  522. package/dist/composition/frontier-account.d.ts.map +1 -0
  523. package/dist/composition/frontier-account.js +127 -0
  524. package/dist/composition/frontier-account.js.map +1 -0
  525. package/dist/composition/graph-viz.d.ts +7 -22
  526. package/dist/composition/graph-viz.d.ts.map +1 -1
  527. package/dist/composition/graph-viz.js +4 -27
  528. package/dist/composition/graph-viz.js.map +1 -1
  529. package/dist/composition/grounding.d.ts +49 -0
  530. package/dist/composition/grounding.d.ts.map +1 -1
  531. package/dist/composition/grounding.js +38 -0
  532. package/dist/composition/grounding.js.map +1 -1
  533. package/dist/composition/index.d.ts +0 -2
  534. package/dist/composition/index.d.ts.map +1 -1
  535. package/dist/composition/index.js +1 -1
  536. package/dist/composition/index.js.map +1 -1
  537. package/dist/composition/not-composable-seeds.d.ts +30 -0
  538. package/dist/composition/not-composable-seeds.d.ts.map +1 -0
  539. package/dist/composition/not-composable-seeds.js +90 -0
  540. package/dist/composition/not-composable-seeds.js.map +1 -0
  541. package/dist/composition/probe/expression-gaps.d.ts +27 -0
  542. package/dist/composition/probe/expression-gaps.d.ts.map +1 -0
  543. package/dist/composition/probe/expression-gaps.js +47 -0
  544. package/dist/composition/probe/expression-gaps.js.map +1 -0
  545. package/dist/composition/probe/frontier.d.ts +2 -1
  546. package/dist/composition/probe/frontier.d.ts.map +1 -1
  547. package/dist/composition/probe/frontier.js +3 -2
  548. package/dist/composition/probe/frontier.js.map +1 -1
  549. package/dist/composition/probe/index.d.ts +4 -1
  550. package/dist/composition/probe/index.d.ts.map +1 -1
  551. package/dist/composition/probe/index.js +3 -1
  552. package/dist/composition/probe/index.js.map +1 -1
  553. package/dist/composition/probe/pipeline.d.ts +2 -0
  554. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  555. package/dist/composition/probe/pipeline.js +6 -2
  556. package/dist/composition/probe/pipeline.js.map +1 -1
  557. package/dist/composition/probe/problem.d.ts +7 -0
  558. package/dist/composition/probe/problem.d.ts.map +1 -1
  559. package/dist/composition/probe/problem.js +15 -5
  560. package/dist/composition/probe/problem.js.map +1 -1
  561. package/dist/composition/probe/search-budget.d.ts.map +1 -1
  562. package/dist/composition/probe/search-budget.js +6 -2
  563. package/dist/composition/probe/search-budget.js.map +1 -1
  564. package/dist/composition/probe/study.d.ts +340 -0
  565. package/dist/composition/probe/study.d.ts.map +1 -0
  566. package/dist/composition/probe/study.js +1519 -0
  567. package/dist/composition/probe/study.js.map +1 -0
  568. package/dist/composition/proposed-bridges.js +1 -1
  569. package/dist/composition/proposed-bridges.js.map +1 -1
  570. package/dist/composition/quantities/_dims.d.ts +6 -0
  571. package/dist/composition/quantities/_dims.d.ts.map +1 -1
  572. package/dist/composition/quantities/_dims.js +6 -0
  573. package/dist/composition/quantities/_dims.js.map +1 -1
  574. package/dist/composition/quantities/condensed-matter.d.ts +16 -0
  575. package/dist/composition/quantities/condensed-matter.d.ts.map +1 -1
  576. package/dist/composition/quantities/condensed-matter.js +43 -2
  577. package/dist/composition/quantities/condensed-matter.js.map +1 -1
  578. package/dist/composition/quantities/fields.d.ts +10 -0
  579. package/dist/composition/quantities/fields.d.ts.map +1 -1
  580. package/dist/composition/quantities/fields.js +37 -2
  581. package/dist/composition/quantities/fields.js.map +1 -1
  582. package/dist/composition/quantities/gravitation-cosmology.d.ts +4 -0
  583. package/dist/composition/quantities/gravitation-cosmology.d.ts.map +1 -1
  584. package/dist/composition/quantities/gravitation-cosmology.js +14 -0
  585. package/dist/composition/quantities/gravitation-cosmology.js.map +1 -1
  586. package/dist/composition/quantities/quantum.d.ts +2 -0
  587. package/dist/composition/quantities/quantum.d.ts.map +1 -1
  588. package/dist/composition/quantities/quantum.js +7 -0
  589. package/dist/composition/quantities/quantum.js.map +1 -1
  590. package/dist/composition/quantities.d.ts +4 -16
  591. package/dist/composition/quantities.d.ts.map +1 -1
  592. package/dist/composition/quantities.js +4 -16
  593. package/dist/composition/quantities.js.map +1 -1
  594. package/dist/composition/retrodiction.d.ts.map +1 -1
  595. package/dist/composition/retrodiction.js +6 -2
  596. package/dist/composition/retrodiction.js.map +1 -1
  597. package/dist/composition/uncertainty.d.ts +1 -1
  598. package/dist/composition/uncertainty.d.ts.map +1 -1
  599. package/dist/composition/user-equation.d.ts +79 -8
  600. package/dist/composition/user-equation.d.ts.map +1 -1
  601. package/dist/composition/user-equation.js +224 -32
  602. package/dist/composition/user-equation.js.map +1 -1
  603. package/dist/core/constants.d.ts +17 -5
  604. package/dist/core/constants.d.ts.map +1 -1
  605. package/dist/core/constants.js +17 -5
  606. package/dist/core/constants.js.map +1 -1
  607. package/dist/core/types.d.ts +1 -1
  608. package/dist/core/types.d.ts.map +1 -1
  609. package/dist/core/types.js +2 -1
  610. package/dist/core/types.js.map +1 -1
  611. package/dist/dimensional/curvature.d.ts +7 -56
  612. package/dist/dimensional/curvature.d.ts.map +1 -1
  613. package/dist/dimensional/curvature.js +7 -76
  614. package/dist/dimensional/curvature.js.map +1 -1
  615. package/dist/dimensional/dimension-spec.d.ts +7 -1
  616. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  617. package/dist/dimensional/dimension-spec.js +131 -3
  618. package/dist/dimensional/dimension-spec.js.map +1 -1
  619. package/dist/dimensional/formula-names.d.ts +30 -0
  620. package/dist/dimensional/formula-names.d.ts.map +1 -0
  621. package/dist/dimensional/formula-names.js +37 -0
  622. package/dist/dimensional/formula-names.js.map +1 -0
  623. package/dist/dimensional/natural-units.d.ts +33 -0
  624. package/dist/dimensional/natural-units.d.ts.map +1 -0
  625. package/dist/dimensional/natural-units.js +58 -0
  626. package/dist/dimensional/natural-units.js.map +1 -0
  627. package/dist/{composition → dimensional}/symbolic-constants.d.ts +21 -2
  628. package/dist/dimensional/symbolic-constants.d.ts.map +1 -0
  629. package/dist/dimensional/symbolic-constants.js +122 -0
  630. package/dist/dimensional/symbolic-constants.js.map +1 -0
  631. package/dist/dimensional/unit-convention.d.ts +30 -0
  632. package/dist/dimensional/unit-convention.d.ts.map +1 -0
  633. package/dist/dimensional/unit-convention.js +60 -0
  634. package/dist/dimensional/unit-convention.js.map +1 -0
  635. package/dist/dimensional/units.d.ts +43 -0
  636. package/dist/dimensional/units.d.ts.map +1 -0
  637. package/dist/dimensional/units.js +197 -0
  638. package/dist/dimensional/units.js.map +1 -0
  639. package/dist/index.d.ts +11 -5
  640. package/dist/index.d.ts.map +1 -1
  641. package/dist/index.js +10 -3
  642. package/dist/index.js.map +1 -1
  643. package/dist/numerical/bianchi-residual.d.ts +55 -0
  644. package/dist/numerical/bianchi-residual.d.ts.map +1 -0
  645. package/dist/numerical/bianchi-residual.js +79 -0
  646. package/dist/numerical/bianchi-residual.js.map +1 -0
  647. package/dist/numerical/binding-value.d.ts +67 -0
  648. package/dist/numerical/binding-value.d.ts.map +1 -0
  649. package/dist/numerical/binding-value.js +349 -0
  650. package/dist/numerical/binding-value.js.map +1 -0
  651. package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
  652. package/dist/numerical/connection-lowering-helpers.js +13 -26
  653. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  654. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  655. package/dist/numerical/curvature-lowering-helpers.js +9 -0
  656. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  657. package/dist/numerical/float64-engine.d.ts.map +1 -1
  658. package/dist/numerical/float64-engine.js +23 -16
  659. package/dist/numerical/float64-engine.js.map +1 -1
  660. package/dist/numerical/formula-dimension.d.ts +14 -0
  661. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  662. package/dist/numerical/formula-dimension.js +56 -9
  663. package/dist/numerical/formula-dimension.js.map +1 -1
  664. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  665. package/dist/numerical/formula-mathts.js +75 -6
  666. package/dist/numerical/formula-mathts.js.map +1 -1
  667. package/dist/numerical/formula.d.ts +33 -0
  668. package/dist/numerical/formula.d.ts.map +1 -1
  669. package/dist/numerical/formula.js +75 -6
  670. package/dist/numerical/formula.js.map +1 -1
  671. package/dist/numerical/spacetime-metrics.d.ts +243 -0
  672. package/dist/numerical/spacetime-metrics.d.ts.map +1 -0
  673. package/dist/numerical/spacetime-metrics.js +1056 -0
  674. package/dist/numerical/spacetime-metrics.js.map +1 -0
  675. package/dist/relations/category.d.ts +38 -0
  676. package/dist/relations/category.d.ts.map +1 -0
  677. package/dist/relations/category.js +23 -0
  678. package/dist/relations/category.js.map +1 -0
  679. package/dist/relations/composition-table.d.ts +61 -0
  680. package/dist/relations/composition-table.d.ts.map +1 -0
  681. package/dist/relations/composition-table.js +140 -0
  682. package/dist/relations/composition-table.js.map +1 -0
  683. package/dist/relations/conventions.d.ts +63 -0
  684. package/dist/relations/conventions.d.ts.map +1 -0
  685. package/dist/relations/conventions.js +93 -0
  686. package/dist/relations/conventions.js.map +1 -0
  687. package/dist/relations/regime.d.ts +159 -0
  688. package/dist/relations/regime.d.ts.map +1 -0
  689. package/dist/relations/regime.js +304 -0
  690. package/dist/relations/regime.js.map +1 -0
  691. package/dist/relations/types.d.ts +257 -0
  692. package/dist/relations/types.d.ts.map +1 -0
  693. package/dist/relations/types.js +35 -0
  694. package/dist/relations/types.js.map +1 -0
  695. package/package.json +166 -163
  696. package/dist/bridges/descriptor.d.ts.map +0 -1
  697. package/dist/bridges/descriptor.js.map +0 -1
  698. package/dist/composition/poster-source.d.ts.map +0 -1
  699. package/dist/composition/poster-source.js.map +0 -1
  700. package/dist/composition/symbolic-constants.d.ts.map +0 -1
  701. package/dist/composition/symbolic-constants.js +0 -65
  702. package/dist/composition/symbolic-constants.js.map +0 -1
@@ -35,6 +35,13 @@
35
35
  * makes the error invisible without this gate: the danger is not a wrong
36
36
  * magnitude, it is a right magnitude attached to the wrong norm.
37
37
  *
38
+ * The one way through is a DECLARATION on the exact bridge
39
+ * (`AtlasBridge.normTransports`, `docs/planning/ADR-transported-norm-composition.md`):
40
+ * a norm, a direction, a factor `K` and a time map, each with a witness. A route
41
+ * that crosses the bridge in that direction, carrying a bound in that norm,
42
+ * composes with `(K, 0)`; every other norm and direction is still refused, and
43
+ * the refusal names the declaration that is missing.
44
+ *
38
45
  * ⚠ **Correction to the S2.2 brief.** The brief states that no field records a
39
46
  * norm and that Phase 2 must add `norm?` to `ApproximationBound`. That is
40
47
  * out of date: `ApproximationBound.norm` already exists as a MANDATORY
@@ -61,15 +68,15 @@ import { ATLAS_FAMILIES } from './families.js';
61
68
  * oscillator family alone, which made the diffusion and wave families
62
69
  * unsearchable once they existed. A route stays INSIDE one family: a bridge
63
70
  * that ends in another family's model is not followed across (stated, not
64
- * hidden — cross-family routes are out of this function's scope).
71
+ * hidden — cross-family routes are {@link findAtlasPath}'s scope).
65
72
  *
66
73
  * @internal
67
74
  */
68
75
  const FAMILIES = Object.fromEntries(ATLAS_FAMILIES.map((f) => [f.family, f]));
69
- /** Expand a family's bridges into directed edges. Single-premise chains only. */
70
- function directedEdges(family) {
76
+ /** Expand bridges into directed edges. Single-premise chains only. */
77
+ function directedEdges(bridges) {
71
78
  const edges = [];
72
- for (const bridge of family.bridges) {
79
+ for (const bridge of bridges) {
73
80
  // Sprint 2 scope: a multi-premise bridge is a JOIN, not a link in a chain,
74
81
  // and is skipped rather than silently reduced to its first premise.
75
82
  if (bridge.premises.length !== 1)
@@ -108,10 +115,117 @@ export function findPath(family, from, to) {
108
115
  throw new RangeError(`findPath: '${endpoint}' is not a model of family '${family}'`);
109
116
  }
110
117
  }
118
+ return shortestChain(fam.bridges, from, to);
119
+ }
120
+ /**
121
+ * Shortest chain of bridges from `from` to `to` across EVERY registered
122
+ * family, or `null` if none exists.
123
+ *
124
+ * A family is a filing label, not a physical boundary: `ab-kg-schrodinger` is
125
+ * filed under waves and ends in the diffusion family's free Schrödinger model.
126
+ * The search runs over the union of all families' bridges under the same
127
+ * rules as {@link findPath} — an exact equivalence both ways, every lossy
128
+ * relation forward only — and the route it returns is composed by
129
+ * {@link boundPath} exactly as a single-family route is. Crossing a family
130
+ * adds no composition rule.
131
+ *
132
+ * Ties are broken by {@link ATLAS_FAMILIES} order, then each family's bridge
133
+ * order, so the result is stable across runs.
134
+ *
135
+ * @throws RangeError if an endpoint is not a model of any family.
136
+ * @internal
137
+ */
138
+ export function findAtlasPath(from, to) {
139
+ const models = new Set(ATLAS_FAMILIES.flatMap((f) => f.models.map((m) => m.id)));
140
+ for (const endpoint of [from, to]) {
141
+ if (!models.has(endpoint)) {
142
+ throw new RangeError(`findAtlasPath: '${endpoint}' is not a model of any atlas family`);
143
+ }
144
+ }
145
+ return shortestChain(ATLAS_FAMILIES.flatMap((f) => f.bridges), from, to);
146
+ }
147
+ /**
148
+ * The simple routes from `from` to `to` across every registered family, as
149
+ * far as a bounded search reaches. Each route is a list of bridges, and no route
150
+ * visits a model twice. Traversal follows the same rules as
151
+ * {@link findAtlasPath}: an exact equivalence both ways, every lossy relation
152
+ * forward only, multi-premise bridges skipped.
153
+ *
154
+ * The search runs by bridge count (every route of k bridges before any of
155
+ * k + 1), with ties in {@link ATLAS_FAMILIES} order and then bridge order. It stops
156
+ * once it has found `limit + 1` routes, or after expanding `budget` partial
157
+ * routes. Stopping early is REPORTED, not hidden: `exhausted` is false,
158
+ * `stoppedBy` says which bound stopped it, and `completeThrough` is the largest
159
+ * bridge count up to which every route has been found. When `exhausted` is
160
+ * true, `routes` holds all of them.
161
+ *
162
+ * @throws RangeError if an endpoint is not a model of any family, or `limit`
163
+ * is not a positive integer (via {@link enumerateRoutes}).
164
+ * @internal
165
+ */
166
+ export function enumerateAtlasRoutes(from, to, limit, budget = 100_000) {
167
+ const models = new Set(ATLAS_FAMILIES.flatMap((f) => f.models.map((m) => m.id)));
168
+ for (const endpoint of [from, to]) {
169
+ if (!models.has(endpoint)) {
170
+ throw new RangeError(`enumerateAtlasRoutes: '${endpoint}' is not a model of any atlas family`);
171
+ }
172
+ }
173
+ return enumerateRoutes(ATLAS_FAMILIES.flatMap((f) => f.bridges), from, to, limit, budget);
174
+ }
175
+ /**
176
+ * {@link enumerateAtlasRoutes} over an explicit bridge list; endpoints are not
177
+ * validated against any family.
178
+ * @throws RangeError if `limit` is not a positive integer.
179
+ * @internal
180
+ */
181
+ export function enumerateRoutes(bridges, from, to, limit, budget = 100_000) {
182
+ if (!Number.isInteger(limit) || limit < 1) {
183
+ throw new RangeError(`enumerateRoutes: limit must be a positive integer, got ${limit}`);
184
+ }
185
+ if (from === to)
186
+ return { routes: [[]], exhausted: true, completeThrough: null, stoppedBy: null };
187
+ const outgoing = new Map();
188
+ for (const edge of directedEdges(bridges)) {
189
+ const bucket = outgoing.get(edge.from);
190
+ if (bucket === undefined)
191
+ outgoing.set(edge.from, [edge]);
192
+ else
193
+ bucket.push(edge);
194
+ }
195
+ const routes = [];
196
+ let layer = [{ at: from, visited: new Set([from]), bridges: [] }];
197
+ let expanded = 0;
198
+ for (let length = 1; layer.length > 0; length++) {
199
+ const next = [];
200
+ for (const p of layer) {
201
+ if (++expanded > budget) {
202
+ return { routes: routes.slice(0, limit), exhausted: false, completeThrough: length - 1, stoppedBy: 'budget' };
203
+ }
204
+ for (const edge of outgoing.get(p.at) ?? []) {
205
+ if (p.visited.has(edge.to))
206
+ continue;
207
+ const route = [...p.bridges, edge.bridge];
208
+ if (edge.to === to) {
209
+ routes.push(route);
210
+ if (routes.length > limit) {
211
+ return { routes: routes.slice(0, limit), exhausted: false, completeThrough: length - 1, stoppedBy: 'limit' };
212
+ }
213
+ }
214
+ else {
215
+ next.push({ at: edge.to, visited: new Set([...p.visited, edge.to]), bridges: route });
216
+ }
217
+ }
218
+ }
219
+ layer = next;
220
+ }
221
+ return { routes, exhausted: true, completeThrough: null, stoppedBy: null };
222
+ }
223
+ /** Breadth-first shortest chain over `bridges`; endpoints already validated. */
224
+ function shortestChain(bridges, from, to) {
111
225
  if (from === to)
112
226
  return [];
113
227
  const outgoing = new Map();
114
- for (const edge of directedEdges(fam)) {
228
+ for (const edge of directedEdges(bridges)) {
115
229
  const bucket = outgoing.get(edge.from);
116
230
  if (bucket === undefined)
117
231
  outgoing.set(edge.from, [edge]);
@@ -142,10 +256,35 @@ export function findPath(family, from, to) {
142
256
  }
143
257
  return null;
144
258
  }
259
+ function modelFamilyOf(id) {
260
+ if (id === null)
261
+ return undefined;
262
+ return ATLAS_FAMILIES.find((f) => f.models.some((m) => m.id === id))?.family;
263
+ }
264
+ function familiesDiffer(a, b) {
265
+ return a !== undefined && b !== undefined && a !== b;
266
+ }
267
+ /**
268
+ * A cross-family transport with a witness. An empty witness id or test is not
269
+ * one, and `kind: 'formal'` is not one: `formally-proved` is only a reviewed
270
+ * `formalRef`, which a transport does not carry.
271
+ */
272
+ function vocabularyTransport(bridge, norm, fromModel, toModel) {
273
+ if (fromModel === null || toModel === null)
274
+ return undefined;
275
+ return (bridge.normTransports ?? []).find((nt) => nt.from === norm &&
276
+ nt.fromModel === fromModel &&
277
+ nt.toModel === toModel &&
278
+ nt.timeMap.uniform &&
279
+ familiesDiffer(modelFamilyOf(nt.fromModel), modelFamilyOf(nt.toModel)) &&
280
+ nt.witness.id !== '' &&
281
+ nt.witness.test !== '' &&
282
+ nt.witness.kind !== 'formal');
283
+ }
145
284
  /**
146
285
  * The error bound a chain of bridges carries — or an explicit no-claim.
147
286
  *
148
- * Four gates, in this order. Each one is a reason to refuse, and the FIRST
287
+ * Five gates, in this order. Each one is a reason to refuse, and the FIRST
149
288
  * reason found is the one reported; none of them is skippable by a caller.
150
289
  *
151
290
  * 1. **Relation.** `composeRelation` is folded along the path. The moment the
@@ -160,10 +299,21 @@ export function findPath(family, from, to) {
160
299
  * edge that is neither bounded nor exact — is tolerated only as the LAST
161
300
  * entry, where it terminates the claim (`terminal: true`); anywhere else it
162
301
  * throws `MissingLipschitzError` rather than inventing a constant.
163
- * 4. **Norm.** Every stated norm on the path must be the SAME norm, and no
164
- * unnormed exact map may carry a normed claim. An `exact-equivalence`
165
- * states no norm (it has no `bound`), so a path mixing one with a normed
166
- * bound is `'norm-not-stated'` — see the module note.
302
+ * 4. **Norm.** Every stated norm on the path must be the SAME norm as the bound
303
+ * reaching it, and no unnormed exact map may carry a normed claim. An
304
+ * `exact-equivalence` states no norm (it has no `bound`), so a path mixing
305
+ * one with a normed bound is `'norm-not-stated'` — see the module note —
306
+ * UNLESS the exact bridge declares a `NormTransport` from the running norm,
307
+ * for the direction the route crosses it, with a uniform time map. Then it
308
+ * contributes `(K, 0)` and the running norm becomes the transport's `to`.
309
+ * A mismatch is reported before a missing norm.
310
+ * 5. **Vocabulary.** When the models a norm is carried between sit in different
311
+ * families, string equality is not a match. The carry needs a
312
+ * `NormTransport` whose `fromModel` / `toModel` are the models the route
313
+ * crosses, whose `from` is the running norm, whose time map is uniform, and
314
+ * whose witness is present. Otherwise the refusal is
315
+ * `'cross-family-unmapped'`. A one-step route has nothing to carry, so this
316
+ * gate does not fire. A missing Lipschitz constant is reported first.
167
317
  *
168
318
  * @throws RangeError on an empty path. Returning `IDENTITY_BOUND` for "no
169
319
  * edges" would be a bound asserted about nothing.
@@ -215,17 +365,122 @@ export function boundPath(bridges) {
215
365
  // constant. Any OTHER relation with no bound has an unknown Lipschitz
216
366
  // constant, and `null` is what says so. Conflating the two would either
217
367
  // invent a constant for a lossy map or throw on an exact one.
368
+ //
369
+ // An exact edge AFTER a bound contributes `(K, 0)` in its declared transport's
370
+ // `to` norm, but only when it declares a transport from the norm the bound so
371
+ // far is in, for the direction the route crosses it
372
+ // (docs/planning/ADR-transported-norm-composition.md). Without one it stays the
373
+ // identity in no norm, and gate 4 refuses.
374
+ const entries = entryModels(bridges);
218
375
  const pairs = [];
219
- const norms = new Set();
220
- const unnormedIdentities = [];
221
- for (const bridge of bridges) {
376
+ const stated = [];
377
+ const transports = [];
378
+ const unnormed = [];
379
+ let running = null;
380
+ let mismatch = null;
381
+ let normFamily;
382
+ let normModel = null;
383
+ let vocabulary = null;
384
+ for (let index = 0; index < bridges.length; index++) {
385
+ const bridge = bridges[index];
386
+ const entry = entries[index] ?? null;
387
+ const exit = entry === null ? null : bridge.relation === 'exact-equivalence' ? otherEnd(bridge, entry) : bridge.conclusion;
388
+ const entryFam = modelFamilyOf(entry);
389
+ const exitFam = modelFamilyOf(exit);
390
+ if (running !== null &&
391
+ normFamily !== undefined &&
392
+ entryFam !== undefined &&
393
+ normFamily !== entryFam &&
394
+ vocabulary === null) {
395
+ const carried = vocabularyTransport(bridge, running, normModel, entry);
396
+ if (carried === undefined) {
397
+ vocabulary = {
398
+ bridgeId: bridge.id,
399
+ fromFamily: normFamily,
400
+ toFamily: entryFam,
401
+ norm: running,
402
+ fromModel: normModel ?? '?',
403
+ toModel: entry ?? '?',
404
+ };
405
+ }
406
+ else {
407
+ pairs.push({ K: carried.K, delta: 0 });
408
+ transports.push({ index, bridgeId: bridge.id, transport: carried });
409
+ running = carried.to;
410
+ normFamily = modelFamilyOf(carried.toModel);
411
+ normModel = carried.toModel;
412
+ }
413
+ }
222
414
  if (bridge.bound !== undefined) {
223
415
  pairs.push({ K: bridge.bound.K, delta: bridge.bound.delta });
224
- norms.add(bridge.bound.norm);
416
+ stated.push(bridge.bound.norm);
417
+ const statedFamily = familiesDiffer(entryFam, exitFam) ? entryFam : (exitFam ?? entryFam);
418
+ if (vocabulary === null && running !== null && bridge.bound.norm !== running) {
419
+ if (normFamily !== undefined && statedFamily !== undefined && normFamily !== statedFamily) {
420
+ vocabulary = {
421
+ bridgeId: bridge.id,
422
+ fromFamily: normFamily,
423
+ toFamily: statedFamily,
424
+ norm: running,
425
+ fromModel: normModel ?? '?',
426
+ toModel: exit ?? '?',
427
+ };
428
+ }
429
+ else if (mismatch === null) {
430
+ mismatch =
431
+ `'${bridge.id}' states '${bridge.bound.norm}', but the bound reaching it is in '${running}'` +
432
+ (transports.length > 0 ? ` after ${transports.map((a) => `'${a.transport.id}'`).join(', ')}` : '');
433
+ }
434
+ }
435
+ running = bridge.bound.norm;
436
+ if (familiesDiffer(entryFam, exitFam)) {
437
+ const into = vocabularyTransport(bridge, running, entry, exit);
438
+ if (into !== undefined) {
439
+ pairs.push({ K: into.K, delta: 0 });
440
+ transports.push({ index, bridgeId: bridge.id, transport: into });
441
+ running = into.to;
442
+ normFamily = exitFam;
443
+ normModel = exit;
444
+ }
445
+ else {
446
+ normFamily = entryFam;
447
+ normModel = entry;
448
+ }
449
+ }
450
+ else {
451
+ normFamily = statedFamily;
452
+ normModel = exit ?? entry;
453
+ }
225
454
  }
226
455
  else if (bridge.relation === 'exact-equivalence') {
456
+ const declared = bridge.normTransports ?? [];
457
+ const normNow = running;
458
+ const applies = (nt) => nt.from === normNow && nt.fromModel === entry && nt.toModel === exit;
459
+ const transport = normNow === null ? undefined : declared.find((nt) => applies(nt) && nt.timeMap.uniform);
460
+ if (transport !== undefined) {
461
+ pairs.push({ K: transport.K, delta: 0 });
462
+ transports.push({ index, bridgeId: bridge.id, transport });
463
+ running = transport.to;
464
+ normModel = exit;
465
+ const carriedFamily = modelFamilyOf(exit);
466
+ if (carriedFamily !== undefined)
467
+ normFamily = carriedFamily;
468
+ continue;
469
+ }
227
470
  pairs.push(IDENTITY_BOUND);
228
- unnormedIdentities.push(bridge.id);
471
+ if (running === null) {
472
+ unnormed.push(`'${bridge.id}' comes before any bound, and no transport is defined for an exact map there`);
473
+ continue;
474
+ }
475
+ const nonUniform = declared.find((nt) => applies(nt) && !nt.timeMap.uniform);
476
+ const others = declared.filter((nt) => !applies(nt));
477
+ unnormed.push(`'${bridge.id}' declares no norm transport from '${running}' for ${entry ?? '?'} → ${exit ?? '?'}` +
478
+ (nonUniform !== undefined
479
+ ? ` (its transport '${nonUniform.id}' has a non-uniform time map and is not applied)`
480
+ : '') +
481
+ (others.length > 0
482
+ ? `; it declares only ${others.map((nt) => `'${nt.from}' → '${nt.to}' for ${nt.fromModel} → ${nt.toModel}`).join(', ')}`
483
+ : ''));
229
484
  }
230
485
  else {
231
486
  pairs.push(null);
@@ -237,22 +492,36 @@ export function boundPath(bridges) {
237
492
  // composite is a harder failure than an unstatable norm, and reporting the
238
493
  // softer one would mask it.
239
494
  const composed = composeBoundPath(pairs);
495
+ // ── Gate 5: a family boundary is not string equality ──────────────────────
496
+ // After the Lipschitz gate, so a missing constant is still the harder failure.
497
+ // Before the string mismatch: across families the strings were never the same
498
+ // norm, and a mismatch would claim they were compared.
499
+ if (vocabulary !== null) {
500
+ return {
501
+ kind: 'no-claim',
502
+ reason: 'cross-family-unmapped',
503
+ detail: `'${vocabulary.bridgeId}' has no norm transport of '${vocabulary.norm}' from family '${vocabulary.fromFamily}' ` +
504
+ `(${vocabulary.fromModel}) into family '${vocabulary.toFamily}' (${vocabulary.toModel}), so the path carries no bound`,
505
+ };
506
+ }
240
507
  // ── Gate 4: one norm, and no unnormed map carrying a normed claim ─────────
241
- if (norms.size > 1) {
508
+ const distinct = [...new Set(stated)];
509
+ if (mismatch !== null) {
242
510
  return {
243
511
  kind: 'no-claim',
244
512
  reason: 'norm-mismatch',
245
- detail: `the path states ${norms.size} different norms (${[...norms].map((n) => `'${n}'`).join(', ')}); ` +
246
- 'bounds in different norms do not compose',
513
+ detail: distinct.length > 1
514
+ ? `the path states ${distinct.length} different norms (${distinct.map((n) => `'${n}'`).join(', ')}); ` +
515
+ 'bounds in different norms do not compose'
516
+ : `${mismatch}; bounds in different norms do not compose`,
247
517
  };
248
518
  }
249
- if (unnormedIdentities.length > 0 && norms.size > 0) {
519
+ if (unnormed.length > 0 && stated.length > 0) {
250
520
  return {
251
521
  kind: 'no-claim',
252
522
  reason: 'norm-not-stated',
253
- detail: `${unnormedIdentities.map((id) => `'${id}'`).join(', ')} state no norm, so they ` +
254
- `contribute IDENTITY_BOUND in no norm; the composite cannot be claimed in ` +
255
- `'${[...norms][0]}'`,
523
+ detail: `${unnormed.join('; ')}. An exact map with no transport for the norm contributes IDENTITY_BOUND in no ` +
524
+ `norm, so the composite cannot be claimed in '${stated[0]}'`,
256
525
  };
257
526
  }
258
527
  return {
@@ -260,9 +529,89 @@ export function boundPath(bridges) {
260
529
  bound: composed.bound,
261
530
  terminal: composed.terminal,
262
531
  relation,
263
- norm: [...norms][0] ?? null,
532
+ norm: running,
533
+ ...(transports.length > 0 ? { transports } : {}),
264
534
  };
265
535
  }
536
+ /**
537
+ * The model each step of a route is entered from, or `null` where the list is
538
+ * not a chain. An exact equivalence may be crossed either way; the first one is
539
+ * read as reversed when the next step leaves from its premise and not from its
540
+ * conclusion. Every other relation is crossed forward.
541
+ *
542
+ * @internal
543
+ */
544
+ export function routeEntryModels(bridges) {
545
+ if (bridges.length === 0)
546
+ return [];
547
+ return entryModels(bridges);
548
+ }
549
+ function entryModels(bridges) {
550
+ const first = bridges[0];
551
+ let at = first.premises.length === 1 ? first.premises[0] : null;
552
+ if (first.relation === 'exact-equivalence' && at !== null && bridges.length > 1) {
553
+ const next = bridges[1];
554
+ const ends = [...next.premises, next.conclusion];
555
+ if (!ends.includes(first.conclusion) && ends.includes(at))
556
+ at = first.conclusion;
557
+ }
558
+ const entries = [];
559
+ for (const b of bridges) {
560
+ entries.push(at);
561
+ at = b.relation === 'exact-equivalence' ? (at === null ? null : otherEnd(b, at)) : b.conclusion;
562
+ }
563
+ return entries;
564
+ }
565
+ /**
566
+ * True when step `index` sits in a different model family from the previous
567
+ * step and no applied transport restates a clock onto it. The step's own
568
+ * horizon is then unevaluated: a family change does not copy one.
569
+ *
570
+ * @internal
571
+ */
572
+ export function familyChangeBlocksHorizon(bridges, transports, index) {
573
+ if (index <= 0 || index >= bridges.length)
574
+ return false;
575
+ const entries = entryModels(bridges);
576
+ const exitAt = (i) => {
577
+ const entry = entries[i] ?? null;
578
+ const bridge = bridges[i];
579
+ if (entry === null)
580
+ return null;
581
+ return bridge.relation === 'exact-equivalence' ? otherEnd(bridge, entry) : bridge.conclusion;
582
+ };
583
+ const previous = modelFamilyOf(exitAt(index - 1));
584
+ const here = modelFamilyOf(exitAt(index)) ?? modelFamilyOf(entries[index] ?? null);
585
+ if (!familiesDiffer(previous, here))
586
+ return false;
587
+ return !transports.some((a) => a.index === index && a.transport.timeMap.uniform);
588
+ }
589
+ /** The end of an exact bridge a route leaves by, entering at `entry`; `null` when `entry` is neither end. */
590
+ function otherEnd(bridge, entry) {
591
+ if (bridge.premises.length !== 1)
592
+ return null;
593
+ if (entry === bridge.premises[0])
594
+ return bridge.conclusion;
595
+ if (entry === bridge.conclusion)
596
+ return bridge.premises[0];
597
+ return null;
598
+ }
599
+ /**
600
+ * The horizon of the bound on `bridges[index]` as it reads at the END of the
601
+ * route: restated through every transport applied after it (a
602
+ * {@link PathBoundClaim}'s `transports`; none for a no-claim). `null` when that
603
+ * step carries no bound.
604
+ *
605
+ * @internal
606
+ */
607
+ export function horizonOnRoute(bridges, transports, index) {
608
+ const bound = bridges[index]?.bound;
609
+ if (bound === undefined)
610
+ return null;
611
+ const later = transports.filter((a) => a.index > index);
612
+ const holds = later.reduce((h, a) => a.transport.timeMap.restateHorizon(h), bound.horizonHolds);
613
+ return { horizon: bound.horizon, restatedBy: later, holds };
614
+ }
266
615
  /** Re-exported so a caller need not reach into the algebra module. @internal */
267
616
  export { IDENTITY_BOUND };
268
617
  //# sourceMappingURL=path-bound.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-bound.js","sourceRoot":"","sources":["../../src/atlas/path-bound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-bound.js","sourceRoot":"","sources":["../../src/atlas/path-bound.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAA0C,MAAM,CAAC,WAAW,CACxE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CACzC,CAAC;AAgBF,sEAAsE;AACtE,SAAS,aAAa,CAAC,OAA+B;IACpD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,2EAA2E;QAC3E,oEAAoE;QACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAc,EACd,IAAY,EACZ,EAAU;IAEV,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,6BAA6B,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,KAAK,MAAM,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,UAAU,CAAC,cAAc,QAAQ,+BAA+B,MAAM,GAAG,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,EAAU;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,KAAK,MAAM,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,UAAU,CAAC,mBAAmB,QAAQ,sCAAsC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAClB,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EACxC,IAAI,EACJ,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,EAAU,EACV,KAAa,EACb,MAAM,GAAG,OAAO;IAEhB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,KAAK,MAAM,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,UAAU,CAAC,0BAA0B,QAAQ,sCAAsC,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5F,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA+B,EAC/B,IAAY,EACZ,EAAU,EACV,KAAa,EACb,MAAM,GAAG,OAAO;IAEhB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,UAAU,CAAC,0DAA0D,KAAK,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAElG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;;YACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAOD,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,IAAI,KAAK,GAAc,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,GAAc,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAAC;gBACxB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YAChH,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACrC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;wBAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;oBAC/G,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,gFAAgF;AAChF,SAAS,aAAa,CACpB,OAA+B,EAC/B,IAAY,EACZ,EAAU;IAEV,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;;YACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,MAAM,KAAK,GAAa,CAAC,IAAI,CAAC,CAAC;IAE/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAkB,EAAE,CAAC;gBAC/B,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI,GAAI,CAAC;oBAChC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA4DD,SAAS,aAAa,CAAC,EAAiB;IACtC,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC;AAC/E,CAAC;AAED,SAAS,cAAc,CAAC,CAAqB,EAAE,CAAqB;IAClE,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,MAAmB,EACnB,IAAY,EACZ,SAAwB,EACxB,OAAsB;IAEtB,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CACvC,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,IAAI,KAAK,IAAI;QAChB,EAAE,CAAC,SAAS,KAAK,SAAS;QAC1B,EAAE,CAAC,OAAO,KAAK,OAAO;QACtB,EAAE,CAAC,OAAO,CAAC,OAAO;QAClB,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACtE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;QACpB,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE;QACtB,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,SAAS,CAAC,OAA+B;IACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAAC,uEAAuE,CAAC,CAAC;IAChG,CAAC;IAED,6EAA6E;IAC7E,IAAI,QAAQ,GAAsB,OAAO,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,uEAAuE;QACvE,0EAA0E;QAC1E,qDAAqD;QACrD,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YACpC,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EACJ,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,QAAQ,WAAW,IAAI,CAAC,EAAE,IAAI;oBAC1E,IAAI,IAAI,CAAC,QAAQ,yDAAyD;aAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,2CAA2C;IAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,SAAS;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3C,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACnD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,uBAAuB;gBAC/B,MAAM,EACJ,IAAI,MAAM,CAAC,EAAE,oBAAoB,GAAG,2DAA2D;aAClG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,sEAAsE;IACtE,wEAAwE;IACxE,8DAA8D;IAC9D,EAAE;IACF,+EAA+E;IAC/E,8EAA8E;IAC9E,oDAAoD;IACpD,gFAAgF;IAChF,2CAA2C;IAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,UAA8B,CAAC;IACnC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,UAAU,GAOH,IAAI,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QACrC,MAAM,IAAI,GACR,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAChH,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,IACE,OAAO,KAAK,IAAI;YAChB,UAAU,KAAK,SAAS;YACxB,QAAQ,KAAK,SAAS;YACtB,UAAU,KAAK,QAAQ;YACvB,UAAU,KAAK,IAAI,EACnB,CAAC;YACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACvE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,UAAU,GAAG;oBACX,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,UAAU,EAAE,UAAU;oBACtB,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,SAAS,IAAI,GAAG;oBAC3B,OAAO,EAAE,KAAK,IAAI,GAAG;iBACtB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;gBACrB,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5C,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;YAC1F,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7E,IAAI,UAAU,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAC1F,UAAU,GAAG;wBACX,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,UAAU,EAAE,UAAU;wBACtB,QAAQ,EAAE,YAAY;wBACtB,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,SAAS,IAAI,GAAG;wBAC3B,OAAO,EAAE,IAAI,IAAI,GAAG;qBACrB,CAAC;gBACJ,CAAC;qBAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC7B,QAAQ;wBACN,IAAI,MAAM,CAAC,EAAE,aAAa,MAAM,CAAC,KAAK,CAAC,IAAI,uCAAuC,OAAO,GAAG;4BAC5F,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvG,CAAC;YACH,CAAC;YACD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5B,IAAI,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACjE,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;oBAClB,UAAU,GAAG,OAAO,CAAC;oBACrB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,QAAQ,CAAC;oBACtB,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,YAAY,CAAC;gBAC1B,SAAS,GAAG,IAAI,IAAI,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAkB,OAAO,CAAC;YACvC,MAAM,OAAO,GAAG,CAAC,EAAiB,EAAW,EAAE,CAC7C,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,SAAS,KAAK,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;YACvE,MAAM,SAAS,GACb,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC3D,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;gBACvB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,aAAa,KAAK,SAAS;oBAAE,UAAU,GAAG,aAAa,CAAC;gBAC5D,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,EAAE,8EAA8E,CAAC,CAAC;gBAC3G,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,QAAQ,CAAC,IAAI,CACX,IAAI,MAAM,CAAC,EAAE,sCAAsC,OAAO,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,EAAE;gBAChG,CAAC,UAAU,KAAK,SAAS;oBACvB,CAAC,CAAC,oBAAoB,UAAU,CAAC,EAAE,kDAAkD;oBACrF,CAAC,CAAC,EAAE,CAAC;gBACP,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAChB,CAAC,CAAC,sBAAsB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxH,CAAC,CAAC,EAAE,CAAC,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEzC,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,uDAAuD;IACvD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EACJ,IAAI,UAAU,CAAC,QAAQ,+BAA+B,UAAU,CAAC,IAAI,kBAAkB,UAAU,CAAC,UAAU,IAAI;gBAChH,IAAI,UAAU,CAAC,SAAS,kBAAkB,UAAU,CAAC,QAAQ,MAAM,UAAU,CAAC,OAAO,iCAAiC;SACzH,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,eAAe;YACvB,MAAM,EACJ,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,mBAAmB,QAAQ,CAAC,MAAM,qBAAqB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACpG,0CAA0C;gBAC5C,CAAC,CAAC,GAAG,QAAQ,4CAA4C;SAC9D,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EACJ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iFAAiF;gBACvG,gDAAgD,MAAM,CAAC,CAAC,CAAC,GAAG;SAC/D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,QAAQ;QACR,IAAI,EAAE,OAAO;QACb,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA+B;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAAC,OAA+B;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAC1B,IAAI,EAAE,GAAkB,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,IAAI,KAAK,CAAC,QAAQ,KAAK,mBAAmB,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;IACnF,CAAC;IACD,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,EAAE,GAAG,CAAC,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAClG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA+B,EAC/B,UAAuC,EACvC,KAAa;IAEb,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAiB,EAAE;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAC3B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,MAAM,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IAC/F,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IACnF,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACnF,CAAC;AAED,6GAA6G;AAC7G,SAAS,QAAQ,CAAC,MAAmB,EAAE,KAAa;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3D,IAAI,KAAK,KAAK,MAAM,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA+B,EAC/B,UAAuC,EACvC,KAAa;IAMb,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAChG,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC9D,CAAC;AAED,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,CAAC"}