@plurnk/plurnk-service 1.7.0 → 1.9.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 (381) hide show
  1. package/.env.defaults +49 -42
  2. package/INSTALL.md +48 -11
  3. package/README.md +12 -2
  4. package/SPEC.md +1166 -475
  5. package/digest-sql/channel-dispositions/dispositions.sql +15 -0
  6. package/digest-sql/channel-state/state.sql +6 -0
  7. package/digest-sql/curation/curation.sql +5 -0
  8. package/digest-sql/derivations/derivations.sql +4 -0
  9. package/digest-sql/embeddings/embeddings.sql +4 -0
  10. package/digest-sql/entry-dispositions/dispositions.sql +15 -0
  11. package/digest-sql/entry-state/state.sql +6 -0
  12. package/digest-sql/token-counts/token-counts.sql +2 -0
  13. package/dist/Paths.d.ts +0 -4
  14. package/dist/Paths.d.ts.map +1 -1
  15. package/dist/Paths.js +1 -21
  16. package/dist/Paths.js.map +1 -1
  17. package/dist/build-info.json +1 -1
  18. package/dist/content/read-projector.d.ts.map +1 -1
  19. package/dist/content/read-projector.js +4 -3
  20. package/dist/content/read-projector.js.map +1 -1
  21. package/dist/core/BudgetReadout.d.ts.map +1 -1
  22. package/dist/core/BudgetReadout.js +12 -22
  23. package/dist/core/BudgetReadout.js.map +1 -1
  24. package/dist/core/ChannelWrite.d.ts +8 -3
  25. package/dist/core/ChannelWrite.d.ts.map +1 -1
  26. package/dist/core/ChannelWrite.js +40 -8
  27. package/dist/core/ChannelWrite.js.map +1 -1
  28. package/dist/core/ChannelWrite.sql +19 -5
  29. package/dist/core/CoreSchemeServices.d.ts +7 -3
  30. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  31. package/dist/core/CoreSchemeServices.js +8 -1
  32. package/dist/core/CoreSchemeServices.js.map +1 -1
  33. package/dist/core/Dispatcher.d.ts +15 -6
  34. package/dist/core/Dispatcher.d.ts.map +1 -1
  35. package/dist/core/Dispatcher.js +352 -306
  36. package/dist/core/Dispatcher.js.map +1 -1
  37. package/dist/core/Engine.d.ts +22 -10
  38. package/dist/core/Engine.d.ts.map +1 -1
  39. package/dist/core/Engine.js +86 -46
  40. package/dist/core/Engine.js.map +1 -1
  41. package/dist/core/Engine.sql +202 -177
  42. package/dist/core/EntryAddressBinding.d.ts +32 -0
  43. package/dist/core/EntryAddressBinding.d.ts.map +1 -0
  44. package/dist/core/EntryAddressBinding.js +93 -0
  45. package/dist/core/EntryAddressBinding.js.map +1 -0
  46. package/dist/core/ExecutorRegistry.d.ts +12 -6
  47. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  48. package/dist/core/ExecutorRegistry.js +34 -31
  49. package/dist/core/ExecutorRegistry.js.map +1 -1
  50. package/dist/core/HostPaths.d.ts +29 -0
  51. package/dist/core/HostPaths.d.ts.map +1 -0
  52. package/dist/core/HostPaths.js +74 -0
  53. package/dist/core/HostPaths.js.map +1 -0
  54. package/dist/core/LegacyHome.d.ts +10 -0
  55. package/dist/core/LegacyHome.d.ts.map +1 -0
  56. package/dist/core/LegacyHome.js +170 -0
  57. package/dist/core/LegacyHome.js.map +1 -0
  58. package/dist/core/LogBody.d.ts +1 -1
  59. package/dist/core/LogBody.d.ts.map +1 -1
  60. package/dist/core/LogBody.js +21 -3
  61. package/dist/core/LogBody.js.map +1 -1
  62. package/dist/core/LogEntryProjection.js +1 -1
  63. package/dist/core/LogEntryProjection.js.map +1 -1
  64. package/dist/core/LogVisibility.d.ts +28 -0
  65. package/dist/core/LogVisibility.d.ts.map +1 -0
  66. package/dist/core/LogVisibility.js +215 -0
  67. package/dist/core/LogVisibility.js.map +1 -0
  68. package/dist/core/LoopLifecycle.d.ts +1 -0
  69. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  70. package/dist/core/LoopLifecycle.js +8 -0
  71. package/dist/core/LoopLifecycle.js.map +1 -1
  72. package/dist/core/LoopLifecycle.sql +10 -0
  73. package/dist/core/OperatorConfig.d.ts +6 -0
  74. package/dist/core/OperatorConfig.d.ts.map +1 -0
  75. package/dist/core/OperatorConfig.js +95 -0
  76. package/dist/core/OperatorConfig.js.map +1 -0
  77. package/dist/core/OverflowTurn.d.ts +11 -0
  78. package/dist/core/OverflowTurn.d.ts.map +1 -0
  79. package/dist/core/OverflowTurn.js +81 -0
  80. package/dist/core/OverflowTurn.js.map +1 -0
  81. package/dist/core/Owner.js +3 -3
  82. package/dist/core/Owner.js.map +1 -1
  83. package/dist/core/PacketBuilder.d.ts +7 -15
  84. package/dist/core/PacketBuilder.d.ts.map +1 -1
  85. package/dist/core/PacketBuilder.js +64 -127
  86. package/dist/core/PacketBuilder.js.map +1 -1
  87. package/dist/core/ProblemLog.js +1 -1
  88. package/dist/core/ProblemLog.js.map +1 -1
  89. package/dist/core/ProposalLifecycle.d.ts +4 -1
  90. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  91. package/dist/core/ProposalLifecycle.js +86 -47
  92. package/dist/core/ProposalLifecycle.js.map +1 -1
  93. package/dist/core/ProviderInstantiate.d.ts +9 -5
  94. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  95. package/dist/core/ProviderInstantiate.js +99 -104
  96. package/dist/core/ProviderInstantiate.js.map +1 -1
  97. package/dist/core/ReasoningEvent.d.ts +13 -0
  98. package/dist/core/ReasoningEvent.d.ts.map +1 -0
  99. package/dist/core/ReasoningEvent.js +6 -0
  100. package/dist/core/ReasoningEvent.js.map +1 -0
  101. package/dist/core/ResourceMutations.d.ts +15 -19
  102. package/dist/core/ResourceMutations.d.ts.map +1 -1
  103. package/dist/core/ResourceMutations.js +118 -41
  104. package/dist/core/ResourceMutations.js.map +1 -1
  105. package/dist/core/SchemeRegistry.d.ts +12 -12
  106. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  107. package/dist/core/SchemeRegistry.js +58 -57
  108. package/dist/core/SchemeRegistry.js.map +1 -1
  109. package/dist/core/ToolResources.d.ts +19 -0
  110. package/dist/core/ToolResources.d.ts.map +1 -0
  111. package/dist/core/ToolResources.js +123 -0
  112. package/dist/core/ToolResources.js.map +1 -0
  113. package/dist/core/Turn.d.ts +27 -0
  114. package/dist/core/Turn.d.ts.map +1 -0
  115. package/dist/core/Turn.js +43 -0
  116. package/dist/core/Turn.js.map +1 -0
  117. package/dist/core/Turn.sql +72 -0
  118. package/dist/core/TurnOps.d.ts +7 -0
  119. package/dist/core/TurnOps.d.ts.map +1 -0
  120. package/dist/core/TurnOps.js +73 -0
  121. package/dist/core/TurnOps.js.map +1 -0
  122. package/dist/core/TurnRunner.d.ts +56 -5
  123. package/dist/core/TurnRunner.d.ts.map +1 -1
  124. package/dist/core/TurnRunner.js +1163 -929
  125. package/dist/core/TurnRunner.js.map +1 -1
  126. package/dist/core/WorkerName.d.ts +2 -1
  127. package/dist/core/WorkerName.d.ts.map +1 -1
  128. package/dist/core/WorkerName.js +2 -1
  129. package/dist/core/WorkerName.js.map +1 -1
  130. package/dist/core/WorkerName.sql +17 -2
  131. package/dist/core/WorkspaceGate.js +1 -1
  132. package/dist/core/WorkspaceGate.js.map +1 -1
  133. package/dist/core/caps/CapsResolve.d.ts +2 -2
  134. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  135. package/dist/core/caps/CapsResolve.js +5 -7
  136. package/dist/core/caps/CapsResolve.js.map +1 -1
  137. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  138. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  139. package/dist/core/caps/DbChannelCaps.js +13 -11
  140. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  141. package/dist/core/caps/DbEntryCaps.d.ts +5 -5
  142. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  143. package/dist/core/caps/DbEntryCaps.js +27 -30
  144. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  145. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  146. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  147. package/dist/core/caps/DbNotifyCaps.js +5 -3
  148. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  149. package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -3
  150. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  151. package/dist/core/caps/DbSubscriptionCaps.js +16 -26
  152. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  153. package/dist/core/caps/SchemeCtxImpl.d.ts +6 -4
  154. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  155. package/dist/core/caps/SchemeCtxImpl.js +37 -5
  156. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  157. package/dist/core/env-defaults.d.ts.map +1 -1
  158. package/dist/core/env-defaults.js +7 -5
  159. package/dist/core/env-defaults.js.map +1 -1
  160. package/dist/core/file-creation-policy.d.ts +9 -0
  161. package/dist/core/file-creation-policy.d.ts.map +1 -0
  162. package/dist/core/file-creation-policy.js +25 -0
  163. package/dist/core/file-creation-policy.js.map +1 -0
  164. package/dist/core/fork.d.ts +4 -1
  165. package/dist/core/fork.d.ts.map +1 -1
  166. package/dist/core/fork.js +39 -16
  167. package/dist/core/fork.js.map +1 -1
  168. package/dist/core/fork.sql +83 -40
  169. package/dist/core/git-env.d.ts +0 -1
  170. package/dist/core/git-env.d.ts.map +1 -1
  171. package/dist/core/git-env.js +0 -3
  172. package/dist/core/git-env.js.map +1 -1
  173. package/dist/core/git-membership.d.ts +19 -1
  174. package/dist/core/git-membership.d.ts.map +1 -1
  175. package/dist/core/git-membership.js +233 -74
  176. package/dist/core/git-membership.js.map +1 -1
  177. package/dist/core/git-state.d.ts.map +1 -1
  178. package/dist/core/git-state.js +13 -14
  179. package/dist/core/git-state.js.map +1 -1
  180. package/dist/core/operation-target-groups.d.ts +3 -0
  181. package/dist/core/operation-target-groups.d.ts.map +1 -0
  182. package/dist/core/operation-target-groups.js +53 -0
  183. package/dist/core/operation-target-groups.js.map +1 -0
  184. package/dist/core/packet-inject.d.ts +0 -1
  185. package/dist/core/packet-inject.d.ts.map +1 -1
  186. package/dist/core/packet-inject.js +6 -13
  187. package/dist/core/packet-inject.js.map +1 -1
  188. package/dist/core/packet-wire.d.ts +4 -0
  189. package/dist/core/packet-wire.d.ts.map +1 -1
  190. package/dist/core/packet-wire.js +226 -53
  191. package/dist/core/packet-wire.js.map +1 -1
  192. package/dist/core/plurnk-uri.d.ts +14 -3
  193. package/dist/core/plurnk-uri.d.ts.map +1 -1
  194. package/dist/core/plurnk-uri.js +62 -24
  195. package/dist/core/plurnk-uri.js.map +1 -1
  196. package/dist/core/scheme-types.d.ts +1 -0
  197. package/dist/core/scheme-types.d.ts.map +1 -1
  198. package/dist/core/teaching.d.ts.map +1 -1
  199. package/dist/core/teaching.js +4 -5
  200. package/dist/core/teaching.js.map +1 -1
  201. package/dist/core/worker-ops.sql +10 -6
  202. package/dist/core/worker-settings.d.ts +10 -0
  203. package/dist/core/worker-settings.d.ts.map +1 -0
  204. package/dist/core/worker-settings.js +32 -0
  205. package/dist/core/worker-settings.js.map +1 -0
  206. package/dist/core/workspace-settings.d.ts +2 -11
  207. package/dist/core/workspace-settings.d.ts.map +1 -1
  208. package/dist/core/workspace-settings.js +7 -47
  209. package/dist/core/workspace-settings.js.map +1 -1
  210. package/dist/digest/Digest.d.ts.map +1 -1
  211. package/dist/digest/Digest.js +164 -92
  212. package/dist/digest/Digest.js.map +1 -1
  213. package/dist/digest/digest.sql +9 -3
  214. package/dist/observe/genai.d.ts +9 -0
  215. package/dist/observe/genai.d.ts.map +1 -0
  216. package/dist/observe/genai.js +31 -0
  217. package/dist/observe/genai.js.map +1 -0
  218. package/dist/observe/spans.d.ts +3 -3
  219. package/dist/observe/spans.d.ts.map +1 -1
  220. package/dist/observe/spans.js +20 -5
  221. package/dist/observe/spans.js.map +1 -1
  222. package/dist/schemes/EffectPolicy.d.ts +3 -0
  223. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  224. package/dist/schemes/EffectPolicy.js +38 -6
  225. package/dist/schemes/EffectPolicy.js.map +1 -1
  226. package/dist/schemes/Exec.d.ts +3 -2
  227. package/dist/schemes/Exec.d.ts.map +1 -1
  228. package/dist/schemes/Exec.js +109 -34
  229. package/dist/schemes/Exec.js.map +1 -1
  230. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  231. package/dist/schemes/ExecOutputScheme.js +5 -4
  232. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  233. package/dist/schemes/File.d.ts.map +1 -1
  234. package/dist/schemes/File.js +170 -80
  235. package/dist/schemes/File.js.map +1 -1
  236. package/dist/schemes/Log.d.ts +6 -2
  237. package/dist/schemes/Log.d.ts.map +1 -1
  238. package/dist/schemes/Log.js +73 -22
  239. package/dist/schemes/Log.js.map +1 -1
  240. package/dist/schemes/Log.sql +25 -7
  241. package/dist/schemes/Prompt.d.ts +2 -3
  242. package/dist/schemes/Prompt.d.ts.map +1 -1
  243. package/dist/schemes/Prompt.js +5 -9
  244. package/dist/schemes/Prompt.js.map +1 -1
  245. package/dist/schemes/QuestionTool.d.ts +10 -0
  246. package/dist/schemes/QuestionTool.d.ts.map +1 -0
  247. package/dist/schemes/QuestionTool.js +81 -0
  248. package/dist/schemes/QuestionTool.js.map +1 -0
  249. package/dist/schemes/Skill.d.ts.map +1 -1
  250. package/dist/schemes/Skill.js +6 -1
  251. package/dist/schemes/Skill.js.map +1 -1
  252. package/dist/schemes/Worker.d.ts.map +1 -1
  253. package/dist/schemes/Worker.js +97 -34
  254. package/dist/schemes/Worker.js.map +1 -1
  255. package/dist/schemes/_entry-crud.d.ts +5 -5
  256. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  257. package/dist/schemes/_entry-crud.js +22 -17
  258. package/dist/schemes/_entry-crud.js.map +1 -1
  259. package/dist/schemes/_entry-crud.sql +77 -24
  260. package/dist/schemes/_entry-find.d.ts +8 -5
  261. package/dist/schemes/_entry-find.d.ts.map +1 -1
  262. package/dist/schemes/_entry-find.js +121 -40
  263. package/dist/schemes/_entry-find.js.map +1 -1
  264. package/dist/schemes/_entry-find.sql +16 -11
  265. package/dist/schemes/_entry-graph.sql +2 -6
  266. package/dist/schemes/_entry-manifest.d.ts +2 -2
  267. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  268. package/dist/schemes/_entry-manifest.js +18 -6
  269. package/dist/schemes/_entry-manifest.js.map +1 -1
  270. package/dist/schemes/_entry-ops.d.ts +6 -5
  271. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  272. package/dist/schemes/_entry-ops.js +39 -46
  273. package/dist/schemes/_entry-ops.js.map +1 -1
  274. package/dist/schemes/_entry-ops.sql +9 -6
  275. package/dist/schemes/_entry-send.d.ts +2 -2
  276. package/dist/schemes/_entry-send.d.ts.map +1 -1
  277. package/dist/schemes/_entry-send.js +16 -14
  278. package/dist/schemes/_entry-send.js.map +1 -1
  279. package/dist/schemes/_search-index.d.ts.map +1 -1
  280. package/dist/schemes/_search-index.js +39 -25
  281. package/dist/schemes/_search-index.js.map +1 -1
  282. package/dist/server/Daemon.d.ts +98 -15
  283. package/dist/server/Daemon.d.ts.map +1 -1
  284. package/dist/server/Daemon.js +864 -348
  285. package/dist/server/Daemon.js.map +1 -1
  286. package/dist/server/DaemonModule.d.ts +84 -19
  287. package/dist/server/DaemonModule.d.ts.map +1 -1
  288. package/dist/server/DrainSupervisor.d.ts +15 -10
  289. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  290. package/dist/server/DrainSupervisor.js +70 -19
  291. package/dist/server/DrainSupervisor.js.map +1 -1
  292. package/dist/server/Functionality.d.ts +44 -0
  293. package/dist/server/Functionality.d.ts.map +1 -0
  294. package/dist/server/Functionality.js +422 -0
  295. package/dist/server/Functionality.js.map +1 -0
  296. package/dist/server/FunctionalityManager.d.ts +22 -0
  297. package/dist/server/FunctionalityManager.d.ts.map +1 -0
  298. package/dist/server/FunctionalityManager.js +121 -0
  299. package/dist/server/FunctionalityManager.js.map +1 -0
  300. package/dist/server/SkillsFunctionality.d.ts +61 -0
  301. package/dist/server/SkillsFunctionality.d.ts.map +1 -0
  302. package/dist/server/SkillsFunctionality.js +449 -0
  303. package/dist/server/SkillsFunctionality.js.map +1 -0
  304. package/dist/server/WorkerCapabilities.d.ts +21 -0
  305. package/dist/server/WorkerCapabilities.d.ts.map +1 -0
  306. package/dist/server/WorkerCapabilities.js +214 -0
  307. package/dist/server/WorkerCapabilities.js.map +1 -0
  308. package/dist/server/WorkerResidency.d.ts +40 -0
  309. package/dist/server/WorkerResidency.d.ts.map +1 -0
  310. package/dist/server/WorkerResidency.js +283 -0
  311. package/dist/server/WorkerResidency.js.map +1 -0
  312. package/dist/server/client-input.d.ts +6 -2
  313. package/dist/server/client-input.d.ts.map +1 -1
  314. package/dist/server/client-input.js +72 -32
  315. package/dist/server/client-input.js.map +1 -1
  316. package/dist/server/dispatch-as-plurnk.d.ts +2 -2
  317. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  318. package/dist/server/dispatch-as-plurnk.js +109 -23
  319. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  320. package/dist/server/drain.sql +33 -13
  321. package/dist/server/envelope.d.ts +7 -2
  322. package/dist/server/envelope.d.ts.map +1 -1
  323. package/dist/server/envelope.js +12 -6
  324. package/dist/server/envelope.js.map +1 -1
  325. package/dist/server/envelope.sql +36 -4
  326. package/dist/server/lifecycle-recovery.sql +24 -17
  327. package/dist/server/logEntry.d.ts +2 -1
  328. package/dist/server/logEntry.d.ts.map +1 -1
  329. package/dist/server/logEntry.js +3 -2
  330. package/dist/server/logEntry.js.map +1 -1
  331. package/dist/server/logEntry.sql +7 -0
  332. package/dist/server/loop-model.d.ts +2 -2
  333. package/dist/server/loop-model.d.ts.map +1 -1
  334. package/dist/server/loop-model.js +23 -33
  335. package/dist/server/loop-model.js.map +1 -1
  336. package/dist/server/loopDocs.d.ts +2 -1
  337. package/dist/server/loopDocs.d.ts.map +1 -1
  338. package/dist/server/loopDocs.js +88 -21
  339. package/dist/server/loopDocs.js.map +1 -1
  340. package/dist/server/loopDocs.sql +14 -8
  341. package/dist/server/model-catalog.d.ts +3 -0
  342. package/dist/server/model-catalog.d.ts.map +1 -0
  343. package/dist/server/model-catalog.js +83 -0
  344. package/dist/server/model-catalog.js.map +1 -0
  345. package/dist/server/model-route.d.ts +7 -0
  346. package/dist/server/model-route.d.ts.map +1 -0
  347. package/dist/server/model-route.js +47 -0
  348. package/dist/server/model-route.js.map +1 -0
  349. package/dist/server/module-discovery.d.ts +13 -0
  350. package/dist/server/module-discovery.d.ts.map +1 -0
  351. package/dist/server/module-discovery.js +103 -0
  352. package/dist/server/module-discovery.js.map +1 -0
  353. package/dist/server/seam-entry-read.sql +9 -7
  354. package/dist/server/seam-log-read.sql +1 -1
  355. package/dist/server/seam-loop.sql +10 -1
  356. package/dist/server/seam-proposal-list.sql +4 -2
  357. package/dist/server/worker-capabilities.sql +19 -0
  358. package/dist/service.d.ts.map +1 -1
  359. package/dist/service.js +193 -124
  360. package/dist/service.js.map +1 -1
  361. package/migrations/001_schema.sql +905 -196
  362. package/package.json +40 -38
  363. package/dist/core/ExecutableTools.d.ts +0 -11
  364. package/dist/core/ExecutableTools.d.ts.map +0 -1
  365. package/dist/core/ExecutableTools.js +0 -49
  366. package/dist/core/ExecutableTools.js.map +0 -1
  367. package/dist/core/JournalTurn.d.ts +0 -9
  368. package/dist/core/JournalTurn.d.ts.map +0 -1
  369. package/dist/core/JournalTurn.js +0 -14
  370. package/dist/core/JournalTurn.js.map +0 -1
  371. package/dist/core/JournalTurn.sql +0 -10
  372. package/dist/core/git-iso.d.ts +0 -13
  373. package/dist/core/git-iso.d.ts.map +0 -1
  374. package/dist/core/git-iso.js +0 -267
  375. package/dist/core/git-iso.js.map +0 -1
  376. package/dist/core/search-gate.d.ts +0 -17
  377. package/dist/core/search-gate.d.ts.map +0 -1
  378. package/dist/core/search-gate.js +0 -77
  379. package/dist/core/search-gate.js.map +0 -1
  380. package/dist/digest/Digest.sql +0 -1
  381. package/dist/server/workspace-capabilities.sql +0 -19
@@ -11,6 +11,7 @@ import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
11
11
  import { renderTarget } from "./plurnk-uri.js";
12
12
  import LogBody from "./LogBody.js";
13
13
  import LogEntryProjection from "./LogEntryProjection.js";
14
+ import LogVisibility from "./LogVisibility.js";
14
15
  import { assertEditReceipt, assertResourceEffects, LineAnchors, } from "../content/index.js";
15
16
  const editReceiptRevisionChars = () => {
16
17
  const raw = process.env.PLURNK_SERVICE_EDIT_RECEIPT_REVISION_CHARS;
@@ -20,7 +21,7 @@ const editReceiptRevisionChars = () => {
20
21
  }
21
22
  return value;
22
23
  };
23
- const previewBounds = () => {
24
+ export const previewBounds = () => {
24
25
  const rawLines = process.env.PLURNK_SERVICE_PREVIEW_LINES;
25
26
  const rawChars = process.env.PLURNK_SERVICE_PREVIEW_CHARS;
26
27
  const lines = Number(rawLines);
@@ -128,31 +129,67 @@ export default class PacketWire {
128
129
  { role: "user", content: PacketWire.renderSlot(sections, "user") },
129
130
  ];
130
131
  }
131
- // Number a non-READ body line as `<N>:<line>` — a bare `N:` prefix, NO separator whitespace
132
+ // Number a non-READ body line as `<N>:<line>` — `N:` followed by NO separator whitespace
132
133
  // ({§render-rule-line-navigable-prefix}): the leading digit prevents column-zero fence collisions and gives
133
134
  // the model line refs for free (`## READ0 (...) <42-46>`), while the absence of any separator means a
134
135
  // reproduced line has nothing between `N:` and the content to copy — the hard-tab separator used
135
136
  // to leak into edit bodies and corrupt indentation. The content's OWN leading whitespace is
136
- // content, preserved verbatim.
137
- // Used for READ@200 content; index-preview numbering is the framework's
138
- // job now (baked into the preview string).
139
- static #numberLines(body, start = 1) {
137
+ // content, preserved verbatim. `N` is left-padded to the body's line-range width so every body
138
+ // keeps one stable content column; FIND rows pass the complete result-set width so their pages
139
+ // share a column with the whole set.
140
+ static #numberLines(body, start = 1, width = 0) {
140
141
  let line = start;
141
- return `${line++}:${body.replace(/(\r\n|\r(?!\n)|\n)(?=[\s\S])/g, (separator) => `${separator}${line++}:`)}`;
142
+ if (width <= 0) {
143
+ const breaks = body.match(/(\r\n|\r(?!\n)|\n)(?=[\s\S])/g)?.length ?? 0;
144
+ width = String(start + breaks).length;
145
+ }
146
+ const prefix = () => `${String(line++).padStart(width, " ")}:`;
147
+ return `${prefix()}${body.replace(/(\r\n|\r(?!\n)|\n)(?=[\s\S])/g, (separator) => `${separator}${prefix()}`)}`;
148
+ }
149
+ static #numberSelectedLines(body, ordinals, startLine, lineAnchors, lineNumberWidth, numericLineNumberWidth) {
150
+ const lines = TextCoordinates.logicalLines(body);
151
+ if (lines.length !== ordinals.length) {
152
+ throw new TypeError("A sparse log-body projection requires one source ordinal per rendered line.");
153
+ }
154
+ const displayed = ordinals.map((ordinal) => startLine + ordinal - 1);
155
+ const width = lineAnchors === null
156
+ ? numericLineNumberWidth > 0
157
+ ? numericLineNumberWidth
158
+ : String(Math.max(...displayed)).length
159
+ : lineNumberWidth ?? 0;
160
+ if (lineAnchors !== null && !LineAnchors.isLineNumberWidth(width)) {
161
+ throw new TypeError("An anchored sparse log-body projection requires a valid source line width.");
162
+ }
163
+ return lines.map((line, index) => {
164
+ const ordinal = ordinals[index];
165
+ const lineNumber = displayed[index];
166
+ const content = body.slice(line.start, line.contentEnd);
167
+ if (lineAnchors === null) {
168
+ return `${String(lineNumber).padStart(width, " ")}:${content}${line.separator}`;
169
+ }
170
+ const anchor = lineAnchors[ordinal - 1];
171
+ if (!LineAnchors.isAnchor(anchor)) {
172
+ throw new TypeError(`A sparse READ projection has no line anchor for body line ${ordinal}.`);
173
+ }
174
+ const separator = " ".repeat(width - String(lineNumber).length + 1);
175
+ return `${anchor}${separator}${lineNumber}:${content}${line.separator}`;
176
+ }).join("");
142
177
  }
143
178
  // The single content-body renderer EVERY output-emitting op routes through.
144
179
  // Exact READ content receives source-width-aligned `@hash N:`; other textual bodies receive `N:`.
145
180
  // Matchers consume canonical content before this presentation projection.
146
181
  // Empty content produces no body.
147
- static #renderContentBody(content, startLine = 1, lineAnchors = null, lineNumberWidth = null) {
182
+ static #renderContentBody(content, startLine = 1, lineAnchors = null, lineNumberWidth = null, numericLineNumberWidth = 0, lineOrdinals = null) {
148
183
  if (content.length === 0)
149
184
  return "";
150
185
  // `startLine === null` means the producer already supplied numbered
151
186
  // content; re-numbering would duplicate its coordinates.
152
187
  const rendered = startLine !== null
153
- ? lineAnchors === null
154
- ? PacketWire.#numberLines(content, startLine)
155
- : LineAnchors.render(content, startLine, lineAnchors, lineNumberWidth ?? 0)
188
+ ? lineOrdinals !== null
189
+ ? PacketWire.#numberSelectedLines(content, lineOrdinals, startLine, lineAnchors, lineNumberWidth, numericLineNumberWidth)
190
+ : lineAnchors === null
191
+ ? PacketWire.#numberLines(content, startLine, numericLineNumberWidth)
192
+ : LineAnchors.render(content, startLine, lineAnchors, lineNumberWidth ?? 0)
156
193
  : content;
157
194
  return PacketWire.#quoteBody(rendered);
158
195
  }
@@ -166,13 +203,18 @@ export default class PacketWire {
166
203
  return null;
167
204
  }
168
205
  }
169
- // Stable JSON: keys sorted alphabetically so the same meta produces the
206
+ // Stable JSON: `path` leads (it is the row's identity, {§jsonplurnk}), then
207
+ // the remaining keys are sorted alphabetically so the same meta produces the
170
208
  // same string across turns — prefix-cache friendly.
171
209
  static #canonicalJson(obj) {
172
210
  const keys = Object.keys(obj).sort();
173
211
  const sorted = {};
174
- for (const k of keys)
175
- sorted[k] = obj[k];
212
+ if (Object.hasOwn(obj, "path"))
213
+ sorted.path = obj.path;
214
+ for (const k of keys) {
215
+ if (k !== "path")
216
+ sorted[k] = obj[k];
217
+ }
176
218
  return JSON.stringify(sorted);
177
219
  }
178
220
  static #receiptMeta(value) {
@@ -202,7 +244,7 @@ export default class PacketWire {
202
244
  };
203
245
  }
204
246
  // {§jsonplurnk} One deliberately raw multiline JSON string. The physical
205
- // newline after the opening quote and every positive numeric or anchored coordinate prefix
247
+ // newline after the opening quote and every positive numeric (optionally left-padded) or anchored coordinate prefix
206
248
  // make the closing quote at column zero unambiguous without an invented
207
249
  // delimiter for source text to imitate. Already-numbered producer output is
208
250
  // checked here too: malformed bodies fail at the one projection boundary.
@@ -210,7 +252,7 @@ export default class PacketWire {
210
252
  const endsWithLineBreak = /(?:\r\n|\r|\n)$/.test(body);
211
253
  const lines = body.split(/\r\n|\r|\n/);
212
254
  const contentLines = endsWithLineBreak ? lines.slice(0, -1) : lines;
213
- if (contentLines.length === 0 || contentLines.some((line) => !/^[1-9]\d*:/.test(line) && !LineAnchors.isAnchoredLine(line))) {
255
+ if (contentLines.length === 0 || contentLines.some((line) => !/^ *[1-9]\d*:/.test(line) && !LineAnchors.isAnchoredLine(line))) {
214
256
  throw new TypeError("A raw jsonplurnk body requires a positive coordinate prefix on every physical line.");
215
257
  }
216
258
  return `"\n${body}${endsWithLineBreak ? "" : "\n"}"`;
@@ -302,8 +344,45 @@ export default class PacketWire {
302
344
  }
303
345
  return `showing ${selected} of ${complete}`;
304
346
  }
305
- static #promptProjection(body, budget, weighContent) {
306
- const weightAt = (end) => weighContent(PacketWire.#renderContentBody(body.content.slice(0, end), body.startLine, null));
347
+ static #sparseChunk(completeContent, visibleContent, visibleOrdinals, projectedContent) {
348
+ const end = projectedContent.length;
349
+ const coordinates = new TextCoordinates(visibleContent);
350
+ const lines = coordinates.logicalLines();
351
+ const finalCompleteLine = lines.findIndex((line) => line.separator.length > 0 && line.end === end);
352
+ if (finalCompleteLine !== -1) {
353
+ const selectedOrdinals = visibleOrdinals.slice(0, finalCompleteLine + 1);
354
+ const runs = [];
355
+ for (const ordinal of selectedOrdinals) {
356
+ const previous = runs.at(-1);
357
+ if (previous === undefined || ordinal !== previous[1] + 1) {
358
+ runs.push([ordinal, ordinal]);
359
+ }
360
+ else {
361
+ previous[1] = ordinal;
362
+ }
363
+ }
364
+ const selected = runs.map(([start, finish]) => `<${start},${finish}>`).join(",");
365
+ return `showing ${selected} of <1,${TextCoordinates.logicalLines(completeContent).length}>`;
366
+ }
367
+ const local = coordinates.regionFromOffsets(0, end);
368
+ const complete = new TextCoordinates(completeContent)
369
+ .regionFromOffsets(0, completeContent.length);
370
+ if (local === null || complete === null) {
371
+ throw new Error("a sparse character-bound chunk must resolve to exact text coordinates");
372
+ }
373
+ const startLine = visibleOrdinals[local.startLine - 1];
374
+ const endLine = visibleOrdinals[local.endLine - 1];
375
+ if (startLine === undefined || endLine === undefined) {
376
+ throw new Error("a sparse character-bound chunk must map to canonical body lines");
377
+ }
378
+ return `showing ${PacketWire.#formatRegion({
379
+ ...local,
380
+ startLine,
381
+ endLine,
382
+ })} of ${PacketWire.#formatRegion(complete)}`;
383
+ }
384
+ static #promptProjection(body, budget, weighContent, render = (content) => PacketWire.#renderContentBody(content, body.startLine, null)) {
385
+ const weightAt = (end) => weighContent(render(body.content.slice(0, end)));
307
386
  if (weightAt(body.content.length) <= budget) {
308
387
  return { text: body.content, cut: false, chunk: null };
309
388
  }
@@ -356,16 +435,38 @@ export default class PacketWire {
356
435
  chunk: PacketWire.#chunk(coordinates, lines, characterEnd, body.content.length),
357
436
  };
358
437
  }
359
- static #promptProjectionWeights(entries, bodies, weighContent, budget) {
438
+ static #visibleBody(entry, body) {
439
+ const folded = LogVisibility.parse(entry.folded ?? LogVisibility.OPEN);
440
+ const lines = TextCoordinates.logicalLines(body.content);
441
+ const totalLines = lines.length;
442
+ const clipped = LogVisibility.clipped(folded, totalLines);
443
+ const ordinals = LogVisibility.visibleLineOrdinals(clipped, totalLines);
444
+ return {
445
+ content: ordinals.map((ordinal) => {
446
+ const line = lines[ordinal - 1];
447
+ return body.content.slice(line.start, line.end);
448
+ }).join(""),
449
+ ordinals,
450
+ folded: clipped,
451
+ totalLines,
452
+ fullyFolded: LogVisibility.fullyFolded(clipped, totalLines),
453
+ };
454
+ }
455
+ static #promptProjectionWeights(entries, bodies, visibility, weighContent, budget) {
360
456
  if (budget === undefined)
361
457
  return new Map();
362
458
  if (!Number.isSafeInteger(budget) || budget < 0) {
363
459
  throw new RangeError(`promptProjectionWeight must be a non-negative safe integer, got ${JSON.stringify(budget)}`);
364
460
  }
365
461
  const costs = entries.flatMap((entry, index) => {
366
- if (entry.op !== "prompt" || entry.folded === true || bodies[index].content.length === 0)
462
+ if (entry.op !== "prompt" || bodies[index].content.length === 0)
367
463
  return [];
368
- const rendered = PacketWire.#renderContentBody(bodies[index].content, bodies[index].startLine, null);
464
+ const body = bodies[index];
465
+ const visible = visibility[index];
466
+ const width = body.startLine === null || visible.totalLines === 0
467
+ ? 0
468
+ : String(body.startLine + visible.totalLines - 1).length;
469
+ const rendered = PacketWire.#renderContentBody(body.content, body.startLine, null, null, width, body.startLine === null ? null : visible.ordinals);
369
470
  return [{ index, cost: weighContent(rendered) }];
370
471
  });
371
472
  const allocations = new Map();
@@ -400,7 +501,12 @@ export default class PacketWire {
400
501
  mimetypeRx: typeof e.mimetype_rx === "string" ? e.mimetype_rx : undefined,
401
502
  });
402
503
  });
403
- const promptProjectionWeights = PacketWire.#promptProjectionWeights(entries, bodies, weighContent, options.promptProjectionWeight);
504
+ const visibility = entries.map((entry, index) => PacketWire.#visibleBody(entry, bodies[index]));
505
+ const visibleBodies = bodies.map((body, index) => ({
506
+ ...body,
507
+ content: visibility[index].fullyFolded ? "" : visibility[index].content,
508
+ }));
509
+ const promptProjectionWeights = PacketWire.#promptProjectionWeights(entries, visibleBodies, visibility, weighContent, options.promptProjectionWeight);
404
510
  return entries.map((e, index) => {
405
511
  const meta = {};
406
512
  const coordinate = typeof e.coordinate === "string" ? e.coordinate : null;
@@ -412,7 +518,9 @@ export default class PacketWire {
412
518
  const path = PacketWire.#entryPath(coordinate, renderedOp);
413
519
  if (path !== null)
414
520
  meta.path = path;
415
- if (typeof e.origin === "string")
521
+ // Absence = "model" — the worker's own authorship is the default,
522
+ // exactly as `source` absence means the owning worker (#338).
523
+ if (typeof e.origin === "string" && e.origin !== "model")
416
524
  meta.origin = e.origin;
417
525
  // {§env-delta-attribution}: render the causal worker address or
418
526
  // subsystem token when present; absence means the owning worker.
@@ -427,7 +535,10 @@ export default class PacketWire {
427
535
  }
428
536
  meta.git = git;
429
537
  }
430
- if (typeof e.status === "number")
538
+ // Absence = 200 on a non-SEND row — the clients' quiet grammar
539
+ // (plurnk#21) applied to the packet; SEND keeps its submit code and
540
+ // every non-200 stays explicit (#338).
541
+ if (typeof e.status === "number" && (op === "SEND" || e.status !== 200))
431
542
  meta.status = e.status;
432
543
  if (e.tags !== undefined) {
433
544
  const storedTags = e.tags;
@@ -442,6 +553,8 @@ export default class PacketWire {
442
553
  meta.tags = tags;
443
554
  }
444
555
  const tx = (typeof e.tx === "string" ? PacketWire.#safeParse(e.tx) : e.tx);
556
+ if (typeof tx?.annotation === "string")
557
+ meta.annotation = tx.annotation;
445
558
  const target = PacketWire.#renderActionTarget(e.target);
446
559
  if (op === "COPY" || op === "MOVE") {
447
560
  const source = PacketWire.#renderSelection(e.target ?? tx?.target, tx?.lineMarker);
@@ -477,6 +590,14 @@ export default class PacketWire {
477
590
  Validator.assertProblemDetails(problem);
478
591
  meta.problem = problem;
479
592
  }
593
+ // The success-side sibling (#342): a sub-problem receipt may carry one
594
+ // terse `detail` (e.g. the EDIT 304) so situational teaching is paid
595
+ // only when the situation occurs, never in the hot path.
596
+ if (!Object.hasOwn(meta, "problem") && rx !== null && typeof rx === "object"
597
+ && typeof rx.detail === "string"
598
+ && rx.detail.length > 0) {
599
+ meta.detail = rx.detail;
600
+ }
480
601
  // {§retrieval-packet-metadata}: one extent/coordinate owner plus
481
602
  // only FIND aggregates that add information beyond that extent.
482
603
  let findItems = null;
@@ -568,53 +689,105 @@ export default class PacketWire {
568
689
  // allowance. Structured mutation receipts own their join bound;
569
690
  // every remaining body uses the ordinary fixed preview.
570
691
  const fullBody = bodies[index];
692
+ const bodyVisibility = visibility[index];
693
+ const projectedBody = bodyVisibility.fullyFolded
694
+ ? fullBody
695
+ : { ...fullBody, content: bodyVisibility.content };
571
696
  const emptyFind = op === "FIND" && e.status === 200 && findItems === 0;
572
697
  const previewExempt = op === "READ"
573
698
  || op === "FIND"
574
699
  || op === "PLAN"
575
700
  || structuredMutationReceipt;
701
+ const lineAnchors = op === "READ" ? e.lineAnchors ?? null : null;
702
+ const lineNumberWidth = op === "READ" ? e.lineNumberWidth ?? null : null;
703
+ if (lineAnchors !== null) {
704
+ LineAnchors.assertProjection(fullBody.content, lineAnchors);
705
+ }
706
+ const findRange = op === "FIND" && meta.range !== null && typeof meta.range === "object"
707
+ ? meta.range
708
+ : null;
709
+ const bodyStartLine = findRange?.returned?.[0] ?? fullBody.startLine;
710
+ const numericLineNumberWidth = findRange === null
711
+ ? bodyStartLine === null || bodyVisibility.totalLines === 0
712
+ ? 0
713
+ : String(bodyStartLine + bodyVisibility.totalLines - 1).length
714
+ : String(findRange.total).length;
715
+ const allOrdinals = Array.from({ length: bodyVisibility.totalLines }, (_, ordinal) => ordinal + 1);
716
+ const sourceOrdinals = bodyVisibility.fullyFolded
717
+ ? allOrdinals
718
+ : bodyVisibility.ordinals;
576
719
  const promptProjectionWeight = promptProjectionWeights.get(index);
577
720
  const projection = promptProjectionWeight !== undefined
578
- ? PacketWire.#promptProjection(fullBody, promptProjectionWeight, weighContent)
721
+ ? PacketWire.#promptProjection(projectedBody, promptProjectionWeight, weighContent, (content) => PacketWire.#renderContentBody(content, bodyStartLine, null, null, numericLineNumberWidth, bodyStartLine === null
722
+ ? null
723
+ : sourceOrdinals.slice(0, TextCoordinates.logicalLines(content).length)))
579
724
  : previewExempt
580
- ? { text: fullBody.content, cut: false, chunk: null }
581
- : PacketWire.#preview(fullBody.content);
725
+ ? { text: projectedBody.content, cut: false, chunk: null }
726
+ : PacketWire.#preview(projectedBody.content);
582
727
  if (projection.cut && path === null) {
583
728
  throw new Error("a previewed log body requires an addressable log path");
584
729
  }
585
- const lineAnchors = op === "READ" ? e.lineAnchors ?? null : null;
586
- const lineNumberWidth = op === "READ" ? e.lineNumberWidth ?? null : null;
730
+ const projectedLineCount = TextCoordinates.logicalLines(projection.text).length;
731
+ const projectedOrdinals = sourceOrdinals.slice(0, projectedLineCount);
587
732
  const body = emptyFind || projection.text.length === 0
588
733
  ? ""
589
- : PacketWire.#renderContentBody(projection.text, fullBody.startLine, lineAnchors, lineNumberWidth);
590
- // tokens on EVERY row (0 when there's genuinely no body) so the model can always weigh
591
- // it; for a folded row this is the room an OPEN would add.
592
- // 0 for a genuinely empty body — never call weighContent("") (some providers return
593
- // undefined for it, which JSON.stringify would drop, leaving the row with no tokens).
594
- meta.tokens = body.length > 0 ? weighContent(body) : 0;
734
+ : PacketWire.#renderContentBody(projection.text, bodyStartLine, lineAnchors, lineNumberWidth, numericLineNumberWidth, bodyStartLine === null ? null : projectedOrdinals);
735
+ // {§packet-token-accounting} — tokensBody reports the projected body's weight even
736
+ // when that body is withheld. Active accounting happens only after every field and
737
+ // the final row framing are known below.
738
+ const renderedBodyWeight = body.length > 0 ? weighContent(body) : 0;
739
+ // Never tokensBody:0 — a priceless OPEN is field absence, and
740
+ // tokensBody presence is what marks the folded state (#338).
741
+ if (fullBody.content.length > 0 && renderedBodyWeight > 0)
742
+ meta.tokensBody = renderedBodyWeight;
595
743
  // lines beside tokens on a non-retrieval row with a navigable body — the count of
596
744
  // `N:`-numbered lines (fences and unnumbered prose don't count), so the model can plan
597
745
  // a <start,end> slice before paying for an OPEN. READ/FIND own typed extents instead.
598
- if (body.length > 0 && op !== "READ" && op !== "FIND") {
599
- const navigable = body.split("\n").filter((l) => /^\d+:/.test(l)).length;
600
- if (navigable > 0)
601
- meta.lines = navigable;
746
+ if (fullBody.content.length > 0 && op !== "READ" && op !== "FIND") {
747
+ meta.lines = bodyVisibility.totalLines;
748
+ }
749
+ if (bodyVisibility.folded.length > 0 && !bodyVisibility.fullyFolded) {
750
+ meta.folded = LogVisibility.format(bodyVisibility.folded);
602
751
  }
603
- // {§jsonplurnk} — `display` describes the three body states: `none` carries an explicit
604
- // empty JSON string, `folded` withholds an existing body, and `open` appends that body as
605
- // the format's one raw multiline string. The explicit empty body keeps
606
- // every state self-describing; OPEN/FOLD remain friendly no-ops on `none`.
607
- const display = body.length === 0 ? "none" : e.folded === true ? "folded" : "open";
608
- meta.display = display;
609
- if (display === "none")
610
- meta.body = "";
611
- const obj = PacketWire.#canonicalJson(meta);
612
- if (display !== "open")
613
- return obj;
614
- const chunk = projection.chunk !== null
615
- ? `,"chunk":${JSON.stringify(projection.chunk)}`
752
+ // {§jsonplurnk} — the three body states stay self-describing through
753
+ // field presence alone (#338): a `body` field ⇒ open, `tokensBody`
754
+ // without `body` ⇒ folded, neither ⇒ none. OPEN/FOLD remain
755
+ // friendly no-ops on `none`.
756
+ const display = fullBody.content.length === 0
757
+ ? "none"
758
+ : bodyVisibility.fullyFolded
759
+ ? "folded"
760
+ : body.length === 0
761
+ ? "none"
762
+ : "open";
763
+ const projectedChunk = projection.chunk !== null
764
+ && bodyVisibility.folded.length > 0
765
+ && !bodyVisibility.fullyFolded
766
+ ? PacketWire.#sparseChunk(fullBody.content, projectedBody.content, sourceOrdinals, projection.text)
767
+ : projection.chunk;
768
+ const chunk = projectedChunk !== null
769
+ ? `,"chunk":${JSON.stringify(projectedChunk)}`
616
770
  : "";
617
- return obj.replace(/\}$/, `,"body":${body}${chunk}}`);
771
+ const renderRow = () => {
772
+ const obj = PacketWire.#canonicalJson(meta);
773
+ return display === "open"
774
+ ? obj.replace(/\}$/, `,"body":${body}${chunk}}`)
775
+ : obj;
776
+ };
777
+ // The accounting field participates in the row it measures. Iterate
778
+ // until its decimal width and therefore the rendered row's curation
779
+ // weight are stable. The metadata share is derivable (tokensActive −
780
+ // tokensBody when open; tokensActive otherwise) and feeds no
781
+ // curation decision, so it is not serialized (#338).
782
+ meta.tokensActive = 0;
783
+ for (let pass = 0; pass < 8; pass += 1) {
784
+ const tokensActive = weighContent(renderRow());
785
+ if (meta.tokensActive === tokensActive) {
786
+ return renderRow();
787
+ }
788
+ meta.tokensActive = tokensActive;
789
+ }
790
+ throw new Error("jsonplurnk row accounting did not converge");
618
791
  }).join(",\n");
619
792
  }
620
793
  static #renderActionTarget(target) {
@@ -1 +1 @@
1
- {"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mEAAmE;AACnE,0EAA0E;AAC1E,4EAA4E;AAC5E,6CAA6C;AAC7C,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AAEpF,OAAO,EAAE,SAAS,EAA+E,MAAM,0BAA0B,CAAC;AAClI,OAAO,EAAE,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GAEd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,wBAAwB,GAAG,GAAW,EAAE;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,4FAA4F,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvI,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,GAAqC,EAAE;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,qEAAqE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,qEAAqE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;AAqEF,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,8EAA8E;IAC9E,6FAA6F;IAC7F,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,CAAC,UAAU,CAAC,QAAuB,EAAE,IAAuB;QAC9D,OAAO,QAAQ;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,yCAAyC;IACzC,MAAM,CAAC,aAAa,CAAC,CAAc;QAC/B,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IAGD,2EAA2E;IAC3E,oCAAoC;IACpC,MAAM,CAAC,qBAAqB,CAAC,QAAiB;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI;aACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC;aACrF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,CAAC;aACxD,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,CAAC,aAAa,CAAC,OAAgB;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtE,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBACjD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI;gBACtC,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,gBAAgB;gBACvD,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACxE,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7E,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,2GAA2G;IAC3G,uGAAuG;IACvG,oGAAoG;IACpG,oGAAoG;IACpG,MAAM,CAAC,mBAAmB,CAAC,IAAa;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAkD,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,SAAS,CAAC,GAAY,EAAE,cAAc,GAAkB,IAAI;QAC/D,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,GAAgB,CAAC,CAAC;QACrG,MAAM,UAAU,GAAG,cAAc,KAAK,IAAI;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,qBAAqB,cAAc,gFAAgF,CAAC;QAC1H,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,sGAAsG;IACtG,0FAA0F;IAC1F,4BAA4B;IAC5B,MAAM,CAAC,SAAS,CAAC,OAAgB,EAAE,YAA0B,EAAE,OAAO,GAAqB,EAAE;QACzF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACvE,iFAAiF;QACjF,4FAA4F;QAC5F,OAAO,wBAAwB,KAAK,aAAa,CAAC;IACtD,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,CAAC,cAAc,CAAC,MAAc,EAAE,IAAY;QAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,CAAC,oBAAoB,CAAC,MAAc;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,OAAO;YACH,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACtE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;SACrE,CAAC;IACN,CAAC;IAED,4FAA4F;IAC5F,4GAA4G;IAC5G,sGAAsG;IACtG,iGAAiG;IACjG,4FAA4F;IAC5F,+BAA+B;IAC/B,wEAAwE;IACxE,2CAA2C;IAC3C,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC;QACvC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAC5B,+BAA+B,EAC/B,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,GAAG,CAC1C,EAAE,CAAC;IACR,CAAC;IAED,4EAA4E;IAC5E,kGAAkG;IAClG,0EAA0E;IAC1E,kCAAkC;IAClC,MAAM,CAAC,kBAAkB,CACrB,OAAe,EACf,SAAS,GAAkB,CAAC,EAC5B,WAAW,GAA6B,IAAI,EAC5C,eAAe,GAAkB,IAAI;QAErC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,oEAAoE;QACpE,yDAAyD;QACzD,MAAM,QAAQ,GAAG,SAAS,KAAK,IAAI;YAC/B,CAAC,CAAC,WAAW,KAAK,IAAI;gBAClB,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;gBAC7C,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,IAAI,CAAC,CAAC;YAC/E,CAAC,CAAC,OAAO,CAAC;QACd,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,CAAC,UAAU,CAAC,CAAS;QACvB,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACxD,CAAC;IAED,wEAAwE;IACxE,oDAAoD;IACpD,MAAM,CAAC,cAAc,CAAC,GAA4B;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAc;QAC9B,MAAM,OAAO,GAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG;YACT,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC;YAC1D,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE;YAC7D,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;SACrF,CAAC;QACF,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACtB,OAAO;gBACH,GAAG,IAAI;gBACP,MAAM,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAChE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;aAC1F,CAAC;QACN,CAAC;QACD,OAAO;YACH,GAAG,IAAI;YACP,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;gBACjC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,MAAM,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;oBAC1E,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;iBAC/G,CAAC;SACT,CAAC;IACN,CAAC;IAED,yEAAyE;IACzE,2FAA2F;IAC3F,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,CAAC,UAAU,CAAC,IAAY;QAC1B,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACxD,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,qFAAqF,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACzD,CAAC;IAED,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,0EAA0E;IAC1E,yEAAyE;IACzE,qBAAqB;IACrB,EAAE;IACF,uEAAuE;IACvE,qEAAqE;IACrE,EAAE;IACF,sEAAsE;IACtE,yEAAyE;IACzE,4DAA4D;IAC5D,kDAAkD;IAClD,kBAAkB;IAClB,MAAM,CAAC,UAAU,CAAC,UAAyB,EAAE,EAAiB;QAC1D,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,UAAU,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,IAAY,EAAE,KAAa;QACrD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,SAAS,KAAK,SAAS;oBAAE,MAAM;gBACnC,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YACrD,CAAC;YACD,QAAQ,EAAE,CAAC;QACf,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,2EAA2E;IAC3E,kEAAkE;IAClE,MAAM,CAAC,QAAQ,CAAC,IAAY;QACxB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,GAAG,QAAQ;YAC3C,CAAC,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAE,CAAC,GAAG;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClB,MAAM,YAAY,GAAG,UAAU,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvE,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YACxD,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CACjD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC;YAC3D,IAAI,YAAY,KAAK,SAAS;gBAAE,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;QAC3D,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACxB,GAAG;YACH,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;SACtF,CAAC;IACN,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAkB;QACnC,OAAO,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC;IAC/F,CAAC;IAED,MAAM,CAAC,MAAM,CACT,WAA4B,EAC5B,KAA0B,EAC1B,GAAW,EACX,WAAmB;QAEnB,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACnD,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC;YACvC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,WAAW,QAAQ,OAAO,QAAQ,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,WAAW,QAAQ,OAAO,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,iBAAiB,CACpB,IAAwC,EACxC,MAAc,EACd,YAA0B;QAE1B,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,YAAY,CAClD,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAClF,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAE7D,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,KAAK;aACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aAC7E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACnC,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAE,CAAC,IAAI,MAAM;gBAAE,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;;gBAC/D,IAAI,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,MAAM,eAAe,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC;QACnE,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;gBAC5C,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aACrF,CAAC;QACN,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACjE,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,GAAG,GAAG,CAAC,CAAC;QACR,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;QACtB,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,IAAI,MAAM;gBAAE,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;;gBACtD,IAAI,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,MAAM,YAAY,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC;QACvD,IAAI,YAAY,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpE,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;YACzC,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SAClF,CAAC;IACN,CAAC;IAED,MAAM,CAAC,wBAAwB,CAC3B,OAAgC,EAChC,MAAqD,EACrD,YAA0B,EAC1B,MAA0B;QAE1B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,UAAU,CAAC,mEAAmE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtH,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACrG,MAAM,QAAQ,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACvG,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,IAAI,SAAS,GAAG,MAAM,CAAC;QACvB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpG,MAAM;YACV,CAAC;YACD,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACrC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC7B,SAAS,IAAI,IAAI,CAAC;YACtB,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAAuB,EAAE,YAA0B,EAAE,OAAyB;QACnG,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,OAAO,OAAO,CAAC,OAAO,CAAC;gBACnB,EAAE;gBACF,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,UAAU,EAAE,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBACzE,UAAU,EAAE,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;aAC5E,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,MAAM,uBAAuB,GAAG,UAAU,CAAC,wBAAwB,CAC/D,OAAO,EACP,MAAM,EACN,YAAY,EACZ,OAAO,CAAC,sBAAsB,CACjC,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,EAAE,KAAK,IAAI;gBAC9B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC3D,IAAI,IAAI,KAAK,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACpC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACzD,gEAAgE;YAChE,iEAAiE;YACjE,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAChF,IAAI,cAAc,KAAK,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;YACxD,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC7F,MAAM,GAAG,GAAI,CAAC,CAAC,KAA2B,CAAC,GAAG,CAAC;gBAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACnB,CAAC;YACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACzD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtG,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC5F,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC1C,CAAC;YACD,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAuB,CAAC;YACjG,MAAM,MAAM,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CACtC,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,EACtB,EAAE,EAAE,UAAU,CACjB,CAAC;gBACF,MAAM,eAAe,GAAG,EAAE,EAAE,IAAI,KAAK,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,KAAK,QAAQ;oBACrE,CAAC,CAAC,EAAE,CAAC,IAAI;oBACT,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAC3C,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,UAAU,CAC9B,CAAC;gBACF,IAAI,MAAM,KAAK,IAAI;oBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC1C,IAAI,WAAW,KAAK,IAAI;oBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBACzD,IACI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;uBACzB,CAAC,CAAC,MAAM,GAAG,GAAG;uBACd,CAAC,MAAM,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC,EAC9C,CAAC;oBACC,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,+CAA+C,CAAC,CAAC;gBACvF,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,MAAM,KAAK,IAAI;oBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAC9C,CAAC;YACD,oFAAoF;YACpF,oEAAoE;YACpE,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAQ,CAAC,CAAC,KAA8B,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnI,IAAI,CAAC,MAAM,GAAI,CAAC,CAAC,KAA4B,CAAC,MAAM,CAAC;YACzD,CAAC;YAED,wEAAwE;YACxE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAkB,CAAC;YAE5F,mEAAmE;YACnE,8DAA8D;YAC9D,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC3F,MAAM,OAAO,GAAI,EAA4B,CAAC,OAAO,CAAC;gBACtD,SAAS,CAAC,oBAAoB,CAAC,OAAyB,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,CAAC;YAED,iEAAiE;YACjE,gEAAgE;YAChE,IAAI,SAAS,GAAkB,IAAI,CAAC;YACpC,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,EAAE,KAAK,MAAM;uBAC1B,EAAE,KAAK,IAAI;uBACX,EAAE,KAAK,SAAS;uBAChB,OAAO,EAAE,KAAK,QAAQ;uBACtB,EAAE,CAAC,IAAI,KAAK,IAAI;uBAChB,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACnC,IAAI,WAAW,EAAE,CAAC;oBACd,MAAM,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC;oBACtB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC5E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;oBAC5B,CAAC;gBACL,CAAC;gBACD,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC3F,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;gBACzD,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;oBACzE,CAAC,CAAC,EAAE,CAAC,KAAK;oBACV,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;uBAC9C,CAAC,CAAC,MAAM,IAAI,GAAG;uBACf,IAAI,CAAC,OAAO,KAAK,IAAI;uBACrB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;uBAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,IAAI,gBAAgB,EAAE,CAAC;oBACnB,SAAS,CAAC,iBAAiB,CAAE,IAAI,CAAC,OAAkC,CAAC,KAAK,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC3C,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAoB,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC3F,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAoB,CAAC,CAAC;gBACtE,CAAC;gBACD,+DAA+D;gBAC/D,mDAAmD;gBACnD,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,gBAAgB,KAAK,QAAQ,IAAI,EAAE,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;oBAC/H,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,gBAAgB,CAAC;gBAC/C,CAAC;gBACD,IACI,EAAE,KAAK,MAAM;uBACV,EAAE,KAAK,IAAI;uBACX,OAAO,EAAE,KAAK,QAAQ;uBACtB,OAAO,EAAE,CAAC,wBAAwB,KAAK,QAAQ;uBAC/C,EAAE,CAAC,wBAAwB,GAAG,CAAC;uBAC/B,EAAE,CAAC,wBAAwB,KAAK,EAAE,CAAC,gBAAgB,EACxD,CAAC;oBACC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,wBAAwB,CAAC;gBAC/D,CAAC;gBACD,IACI,WAAW;uBACR,KAAK,KAAK,IAAI;uBACd,OAAO,KAAK,KAAK,QAAQ;uBACxB,KAA4B,CAAC,IAAI,KAAK,UAAU;uBACjD,EAAE,KAAK,IAAI;uBACX,OAAO,EAAE,KAAK,QAAQ;uBACtB,OAAO,EAAE,CAAC,kBAAkB,KAAK,QAAQ;uBACzC,EAAE,CAAC,kBAAkB,GAAG,CAAC,EAC9B,CAAC;oBACC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAAC;gBACpD,CAAC;YACL,CAAC;YAED,qEAAqE;YACrE,kEAAkE;YAClE,4DAA4D;YAC5D,8DAA8D;YAC9D,IAAI,yBAAyB,GAAG,KAAK,CAAC;YACtC,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC;gBACzF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzD,yBAAyB,GAAG,IAAI,CAAC;YACrC,CAAC;YACD,IACI,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC;mBAC7B,EAAE,KAAK,IAAI;mBACX,OAAO,EAAE,KAAK,QAAQ;mBACtB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,EACjC,CAAC;gBACC,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACpC,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;wBAC5B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACjD,CAAC,CAAC,CAAC;gBACJ,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;YACvF,CAAC;YAED,6DAA6D;YAC7D,iEAAiE;YACjE,gEAAgE;YAChE,gEAAgE;YAChE,wDAAwD;YACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;YAChC,MAAM,SAAS,GAAG,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,SAAS,KAAK,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,EAAE,KAAK,MAAM;mBAC5B,EAAE,KAAK,MAAM;mBACb,EAAE,KAAK,MAAM;mBACb,yBAAyB,CAAC;YACjC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,sBAAsB,KAAK,SAAS;gBACnD,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,YAAY,CAAC;gBAC9E,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;oBACrD,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,UAAU,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,WAAW,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,eAAe,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACzE,MAAM,IAAI,GAAG,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAClD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAC3B,UAAU,CAAC,IAAI,EACf,QAAQ,CAAC,SAAS,EAClB,WAAW,EACX,eAAe,CAClB,CAAC;YAEN,uFAAuF;YACvF,2DAA2D;YAC3D,oFAAoF;YACpF,sFAAsF;YACtF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,kFAAkF;YAClF,uFAAuF;YACvF,sFAAsF;YACtF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzE,IAAI,SAAS,GAAG,CAAC;oBAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC9C,CAAC;YAED,wFAAwF;YACxF,0FAA0F;YAC1F,uEAAuE;YACvE,2EAA2E;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YACnF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,OAAO,KAAK,MAAM;gBAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,OAAO,KAAK,MAAM;gBAAE,OAAO,GAAG,CAAC;YACnC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,KAAK,IAAI;gBACnC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,MAAuC;QAC9D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzD,OAAO,YAAY,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,gBAAgB,CACnB,MAAuC,EACvC,MAAe;QAEf,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YACrE,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;YACtD,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM;gBACtB,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACjE,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,SAAS,CAAC,2DAA2D,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,GAAG,OAAO,IAAK,MAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,GAAc;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,YAAY,GAAG,CAAC,MAAM,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,cAAc,GAAG,CAAC,SAAS,YAAY,CAAC;IAC1H,CAAC;CAEJ"}
1
+ {"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type ParsedPath } from "@plurnk/plurnk-contracts";
2
+ import { type EntryCoordinate, type SchemeAuthority } from "@plurnk/plurnk-schemes";
2
3
  export interface RenderTargetParts {
3
4
  readonly scheme: string | null | undefined;
4
5
  readonly hostname?: string | null;
@@ -8,11 +9,21 @@ export interface RenderTargetParts {
8
9
  readonly fragment?: string | null;
9
10
  }
10
11
  export declare function schemeNameOf(path: ParsedPath | null): string | null;
12
+ export declare function routedSchemeName(addressedScheme: string): string;
11
13
  export declare function foldAuthorityIntoPath(hostname: string | null, pathname: string): string;
12
- export declare function entryPathnameOf(path: ParsedPath): string;
13
- export declare function promptPathname(loopSeq: number, turnSeq: number): string;
14
+ export declare function entryCoordinateOf(path: ParsedPath, authority: SchemeAuthority): EntryCoordinate;
15
+ export declare function authorityParts(authority: string): {
16
+ hostname: string | null;
17
+ port: number | null;
18
+ };
19
+ export declare const GENERATED_ROOT = "/_plurnk";
20
+ export declare function generatedPathname(relative: string): string;
21
+ export declare function isGeneratedPathname(pathname: string): boolean;
22
+ export declare function promptPathname(loopSeq: number, promptOrdinal: number): string;
14
23
  export declare function promptLoopPrefix(loopSeq: number): string;
15
- export declare function renderAddress(scheme: string, pathname: string): string;
24
+ export declare function renderAddress(address: EntryCoordinate & {
25
+ readonly scheme: string;
26
+ }): string;
16
27
  /** Render one stored target without exposing credentials or request metadata. {§scheme-address} */
17
28
  export declare function renderTarget(target: RenderTargetParts): string | null;
18
29
  //# sourceMappingURL=plurnk-uri.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plurnk-uri.d.ts","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGvE,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAKD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAUnE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAQxD;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQtE;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAsBrE"}
1
+ {"version":3,"file":"plurnk-uri.d.ts","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpG,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAKD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAQnE;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,GAAG,eAAe,CAqB/F;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAUlG;AAKD,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7D;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAK5F;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAyBrE"}