ctxr-cli 0.8.0 → 0.10.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 (250) hide show
  1. package/README.md +313 -22
  2. package/dist/adapters/types.d.ts +0 -5
  3. package/dist/adapters/types.d.ts.map +1 -1
  4. package/dist/commands/adapters-generate.d.ts.map +1 -1
  5. package/dist/commands/adapters-generate.js +2 -3
  6. package/dist/commands/adapters-generate.js.map +1 -1
  7. package/dist/commands/context-gather.d.ts +22 -0
  8. package/dist/commands/context-gather.d.ts.map +1 -0
  9. package/dist/commands/context-gather.js +36 -0
  10. package/dist/commands/context-gather.js.map +1 -0
  11. package/dist/commands/graph-query.d.ts.map +1 -1
  12. package/dist/commands/graph-query.js +6 -8
  13. package/dist/commands/graph-query.js.map +1 -1
  14. package/dist/commands/ingest.d.ts +22 -9
  15. package/dist/commands/ingest.d.ts.map +1 -1
  16. package/dist/commands/ingest.js +86 -24
  17. package/dist/commands/ingest.js.map +1 -1
  18. package/dist/commands/init.d.ts.map +1 -1
  19. package/dist/commands/init.js +22 -5
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/publish-check.d.ts.map +1 -1
  22. package/dist/commands/publish-check.js +8 -0
  23. package/dist/commands/publish-check.js.map +1 -1
  24. package/dist/commands/publish-new.d.ts.map +1 -1
  25. package/dist/commands/publish-new.js +15 -0
  26. package/dist/commands/publish-new.js.map +1 -1
  27. package/dist/commands/serve.d.ts.map +1 -1
  28. package/dist/commands/serve.js +33 -11
  29. package/dist/commands/serve.js.map +1 -1
  30. package/dist/commands/session-start.d.ts.map +1 -1
  31. package/dist/commands/session-start.js +9 -1
  32. package/dist/commands/session-start.js.map +1 -1
  33. package/dist/commands/source-check.d.ts.map +1 -1
  34. package/dist/commands/source-check.js +52 -9
  35. package/dist/commands/source-check.js.map +1 -1
  36. package/dist/commands/source-stamp.d.ts +6 -5
  37. package/dist/commands/source-stamp.d.ts.map +1 -1
  38. package/dist/commands/source-stamp.js +8 -7
  39. package/dist/commands/source-stamp.js.map +1 -1
  40. package/dist/commands/update.d.ts.map +1 -1
  41. package/dist/commands/update.js +7 -1
  42. package/dist/commands/update.js.map +1 -1
  43. package/dist/commands/verify.d.ts +11 -2
  44. package/dist/commands/verify.d.ts.map +1 -1
  45. package/dist/commands/verify.js +86 -5
  46. package/dist/commands/verify.js.map +1 -1
  47. package/dist/commands/version.d.ts +31 -0
  48. package/dist/commands/version.d.ts.map +1 -0
  49. package/dist/commands/version.js +87 -0
  50. package/dist/commands/version.js.map +1 -0
  51. package/dist/config/defaults.d.ts +113 -4
  52. package/dist/config/defaults.d.ts.map +1 -1
  53. package/dist/config/defaults.js +83 -4
  54. package/dist/config/defaults.js.map +1 -1
  55. package/dist/config/load.d.ts +2 -2
  56. package/dist/config/load.d.ts.map +1 -1
  57. package/dist/config/load.js +13 -3
  58. package/dist/config/load.js.map +1 -1
  59. package/dist/config/render.d.ts +5 -0
  60. package/dist/config/render.d.ts.map +1 -1
  61. package/dist/config/render.js +62 -3
  62. package/dist/config/render.js.map +1 -1
  63. package/dist/config/schema.d.ts +47 -76
  64. package/dist/config/schema.d.ts.map +1 -1
  65. package/dist/config/schema.js +171 -134
  66. package/dist/config/schema.js.map +1 -1
  67. package/dist/core/agents-doc.d.ts.map +1 -1
  68. package/dist/core/agents-doc.js +4 -1
  69. package/dist/core/agents-doc.js.map +1 -1
  70. package/dist/core/browse/nav.d.ts.map +1 -1
  71. package/dist/core/browse/nav.js +4 -1
  72. package/dist/core/browse/nav.js.map +1 -1
  73. package/dist/core/browse/preferences.d.ts +26 -0
  74. package/dist/core/browse/preferences.d.ts.map +1 -0
  75. package/dist/core/browse/preferences.js +74 -0
  76. package/dist/core/browse/preferences.js.map +1 -0
  77. package/dist/core/browse/routes.d.ts +10 -8
  78. package/dist/core/browse/routes.d.ts.map +1 -1
  79. package/dist/core/browse/routes.js +113 -24
  80. package/dist/core/browse/routes.js.map +1 -1
  81. package/dist/core/browse/templates.d.ts +14 -4
  82. package/dist/core/browse/templates.d.ts.map +1 -1
  83. package/dist/core/browse/templates.js +22 -4
  84. package/dist/core/browse/templates.js.map +1 -1
  85. package/dist/core/checks/harness-portability-checks.d.ts +22 -1
  86. package/dist/core/checks/harness-portability-checks.d.ts.map +1 -1
  87. package/dist/core/checks/harness-portability-checks.js +48 -4
  88. package/dist/core/checks/harness-portability-checks.js.map +1 -1
  89. package/dist/core/checks/integrity-checks.d.ts +0 -2
  90. package/dist/core/checks/integrity-checks.d.ts.map +1 -1
  91. package/dist/core/checks/integrity-checks.js +2 -27
  92. package/dist/core/checks/integrity-checks.js.map +1 -1
  93. package/dist/core/checks/manifest.d.ts.map +1 -1
  94. package/dist/core/checks/manifest.js +2 -0
  95. package/dist/core/checks/manifest.js.map +1 -1
  96. package/dist/core/checks/organize-checks.d.ts +11 -1
  97. package/dist/core/checks/organize-checks.d.ts.map +1 -1
  98. package/dist/core/checks/organize-checks.js +42 -12
  99. package/dist/core/checks/organize-checks.js.map +1 -1
  100. package/dist/core/checks/retrieval-checks.d.ts +9 -0
  101. package/dist/core/checks/retrieval-checks.d.ts.map +1 -0
  102. package/dist/core/checks/retrieval-checks.js +30 -0
  103. package/dist/core/checks/retrieval-checks.js.map +1 -0
  104. package/dist/core/command.d.ts +6 -0
  105. package/dist/core/command.d.ts.map +1 -1
  106. package/dist/core/content/canonicalize.d.ts +10 -0
  107. package/dist/core/content/canonicalize.d.ts.map +1 -1
  108. package/dist/core/content/canonicalize.js +12 -0
  109. package/dist/core/content/canonicalize.js.map +1 -1
  110. package/dist/core/env.d.ts +5 -0
  111. package/dist/core/env.d.ts.map +1 -1
  112. package/dist/core/env.js +3 -0
  113. package/dist/core/env.js.map +1 -1
  114. package/dist/core/environment/probe.d.ts +12 -0
  115. package/dist/core/environment/probe.d.ts.map +1 -0
  116. package/dist/core/environment/probe.js +36 -0
  117. package/dist/core/environment/probe.js.map +1 -0
  118. package/dist/core/errors.d.ts +32 -0
  119. package/dist/core/errors.d.ts.map +1 -1
  120. package/dist/core/errors.js +81 -3
  121. package/dist/core/errors.js.map +1 -1
  122. package/dist/core/fs/prefix.d.ts +13 -0
  123. package/dist/core/fs/prefix.d.ts.map +1 -0
  124. package/dist/core/fs/prefix.js +22 -0
  125. package/dist/core/fs/prefix.js.map +1 -0
  126. package/dist/core/git/worktree.d.ts +22 -0
  127. package/dist/core/git/worktree.d.ts.map +1 -1
  128. package/dist/core/git/worktree.js +34 -0
  129. package/dist/core/git/worktree.js.map +1 -1
  130. package/dist/core/graph/persist.d.ts +13 -0
  131. package/dist/core/graph/persist.d.ts.map +1 -1
  132. package/dist/core/graph/persist.js +24 -0
  133. package/dist/core/graph/persist.js.map +1 -1
  134. package/dist/core/harness/isolated-run.d.ts +52 -0
  135. package/dist/core/harness/isolated-run.d.ts.map +1 -0
  136. package/dist/core/harness/isolated-run.js +100 -0
  137. package/dist/core/harness/isolated-run.js.map +1 -0
  138. package/dist/core/hooks.d.ts +3 -12
  139. package/dist/core/hooks.d.ts.map +1 -1
  140. package/dist/core/hooks.js +24 -20
  141. package/dist/core/hooks.js.map +1 -1
  142. package/dist/core/ingest/capture-hash.d.ts +16 -0
  143. package/dist/core/ingest/capture-hash.d.ts.map +1 -0
  144. package/dist/core/ingest/capture-hash.js +34 -0
  145. package/dist/core/ingest/capture-hash.js.map +1 -0
  146. package/dist/core/ingest/identity.d.ts +7 -1
  147. package/dist/core/ingest/identity.d.ts.map +1 -1
  148. package/dist/core/ingest/identity.js +16 -1
  149. package/dist/core/ingest/identity.js.map +1 -1
  150. package/dist/core/ingest/model.d.ts +17 -2
  151. package/dist/core/ingest/model.d.ts.map +1 -1
  152. package/dist/core/ingest/model.js +5 -0
  153. package/dist/core/ingest/model.js.map +1 -1
  154. package/dist/core/install-kind.d.ts +25 -0
  155. package/dist/core/install-kind.d.ts.map +1 -0
  156. package/dist/core/install-kind.js +56 -0
  157. package/dist/core/install-kind.js.map +1 -0
  158. package/dist/core/notes/list.d.ts +20 -0
  159. package/dist/core/notes/list.d.ts.map +1 -1
  160. package/dist/core/notes/list.js +27 -6
  161. package/dist/core/notes/list.js.map +1 -1
  162. package/dist/core/publish/script-check.d.ts +5 -2
  163. package/dist/core/publish/script-check.d.ts.map +1 -1
  164. package/dist/core/publish/script-check.js +5 -2
  165. package/dist/core/publish/script-check.js.map +1 -1
  166. package/dist/core/records.d.ts +7 -0
  167. package/dist/core/records.d.ts.map +1 -1
  168. package/dist/core/records.js +12 -2
  169. package/dist/core/records.js.map +1 -1
  170. package/dist/core/registry.d.ts +40 -0
  171. package/dist/core/registry.d.ts.map +1 -0
  172. package/dist/core/registry.js +55 -0
  173. package/dist/core/registry.js.map +1 -0
  174. package/dist/core/retrieval/pass.d.ts +66 -0
  175. package/dist/core/retrieval/pass.d.ts.map +1 -0
  176. package/dist/core/retrieval/pass.js +171 -0
  177. package/dist/core/retrieval/pass.js.map +1 -0
  178. package/dist/core/root.d.ts +11 -5
  179. package/dist/core/root.d.ts.map +1 -1
  180. package/dist/core/root.js +20 -8
  181. package/dist/core/root.js.map +1 -1
  182. package/dist/core/skills.d.ts.map +1 -1
  183. package/dist/core/skills.js +7 -0
  184. package/dist/core/skills.js.map +1 -1
  185. package/dist/core/version-check.d.ts +63 -0
  186. package/dist/core/version-check.d.ts.map +1 -0
  187. package/dist/core/version-check.js +181 -0
  188. package/dist/core/version-check.js.map +1 -0
  189. package/dist/core/write-lifecycle/path-gate.d.ts +2 -2
  190. package/dist/core/write-lifecycle/path-gate.d.ts.map +1 -1
  191. package/dist/core/write-lifecycle/path-gate.js +9 -10
  192. package/dist/core/write-lifecycle/path-gate.js.map +1 -1
  193. package/dist/run.d.ts +1 -6
  194. package/dist/run.d.ts.map +1 -1
  195. package/dist/run.js +76 -19
  196. package/dist/run.js.map +1 -1
  197. package/dist/version.d.ts +8 -1
  198. package/dist/version.d.ts.map +1 -1
  199. package/dist/version.js +8 -1
  200. package/dist/version.js.map +1 -1
  201. package/package.json +12 -4
  202. package/templates/agents/canonical.md +1 -1
  203. package/templates/agents/capture-and-ingest.md +27 -8
  204. package/templates/agents/retrieval-leg-routing.md +34 -8
  205. package/templates/hooks/_resolve-ctxr.sh +37 -0
  206. package/templates/hooks/claude-code-write-gate.sh +34 -6
  207. package/templates/hooks/pre-commit.sh +15 -8
  208. package/templates/serve/shell.html +16 -2
  209. package/templates/serve/style.css +145 -3
  210. package/templates/skills/ctxr-connection-finding.md +7 -5
  211. package/templates/skills/ctxr-ingest-orchestration.md +15 -9
  212. package/templates/skills/ctxr-publish.md +7 -8
  213. package/templates/skills/ctxr-session-lifecycle.md +20 -0
  214. package/templates/skills/ctxr-upgrade.md +44 -0
  215. package/dist/commands/migrate.d.ts +0 -30
  216. package/dist/commands/migrate.d.ts.map +0 -1
  217. package/dist/commands/migrate.js +0 -56
  218. package/dist/commands/migrate.js.map +0 -1
  219. package/dist/core/migrations/add-explanation-craft-skill.d.ts +0 -26
  220. package/dist/core/migrations/add-explanation-craft-skill.d.ts.map +0 -1
  221. package/dist/core/migrations/add-explanation-craft-skill.js +0 -94
  222. package/dist/core/migrations/add-explanation-craft-skill.js.map +0 -1
  223. package/dist/core/migrations/archive-destination-from-taxonomy.d.ts +0 -35
  224. package/dist/core/migrations/archive-destination-from-taxonomy.d.ts.map +0 -1
  225. package/dist/core/migrations/archive-destination-from-taxonomy.js +0 -109
  226. package/dist/core/migrations/archive-destination-from-taxonomy.js.map +0 -1
  227. package/dist/core/migrations/drop-access-axes.d.ts +0 -24
  228. package/dist/core/migrations/drop-access-axes.d.ts.map +0 -1
  229. package/dist/core/migrations/drop-access-axes.js +0 -54
  230. package/dist/core/migrations/drop-access-axes.js.map +0 -1
  231. package/dist/core/migrations/drop-forge-and-workspaces-external.d.ts +0 -19
  232. package/dist/core/migrations/drop-forge-and-workspaces-external.d.ts.map +0 -1
  233. package/dist/core/migrations/drop-forge-and-workspaces-external.js +0 -49
  234. package/dist/core/migrations/drop-forge-and-workspaces-external.js.map +0 -1
  235. package/dist/core/migrations/registry.d.ts +0 -16
  236. package/dist/core/migrations/registry.d.ts.map +0 -1
  237. package/dist/core/migrations/registry.js +0 -30
  238. package/dist/core/migrations/registry.js.map +0 -1
  239. package/dist/core/migrations/rename-conventions-path.d.ts +0 -26
  240. package/dist/core/migrations/rename-conventions-path.d.ts.map +0 -1
  241. package/dist/core/migrations/rename-conventions-path.js +0 -86
  242. package/dist/core/migrations/rename-conventions-path.js.map +0 -1
  243. package/dist/core/migrations/rename-procedures-path.d.ts +0 -17
  244. package/dist/core/migrations/rename-procedures-path.d.ts.map +0 -1
  245. package/dist/core/migrations/rename-procedures-path.js +0 -45
  246. package/dist/core/migrations/rename-procedures-path.js.map +0 -1
  247. package/dist/core/migrations/types.d.ts +0 -27
  248. package/dist/core/migrations/types.d.ts.map +0 -1
  249. package/dist/core/migrations/types.js +0 -2
  250. package/dist/core/migrations/types.js.map +0 -1
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,wBAAwB,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,iBAAiB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,iBAAiB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,iBAAiB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,mBAAmB,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,iBAAiB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAYzD,SAAS,gBAAgB,CAAC,GAAY;IACpC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,IAAI,GAAG,IAAI,OAAQ,GAA0B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC1H,CAAC;AAED,sGAAsG;AACtG,SAAS,YAAY,CAAC,GAAW,EAAE,GAAY;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAc,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAW,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;IAClG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,UAAU,CACvB,WAAmB,EACnB,GAAW,EACX,QAAiB,EACjB,IAA0C;IAE1C,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC7B,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,aAAa,CAAC;gBAC7B,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC;YACH,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,OAAO,GAAG,CAAC,QAAQ,CAAC;QACtB,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAChF,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC7B,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAuB,EAAE,GAAW;IAC5D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,MAAM,CAAC;SACZ,YAAY,EAAE;SACd,eAAe,CAAC;QACf,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACnD,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;KACpD,CAAC;SACD,MAAM,CAAC,eAAe,EAAE,wCAAwC,CAAC;SACjE,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC,CAAC;IAEvE,IAAI,MAAM,GAAa,QAAQ,CAAC,EAAE,CAAC;IAEnC,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,gBAAgB,EAAE,4DAA4D,CAAC;SACtF,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,CAAC;SACxE,MAAM,CAAC,iBAAiB,EAAE,8FAA8F,CAAC;SACzH,MAAM,CAAC,KAAK,EAAE,OAAkE,EAAE,GAAY,EAAE,EAAE;QACjG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CACvD,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CACtH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,UAAU,EAAE,yDAAyD,CAAC;SAC7E,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,GAAY,EAAE,EAAE;QAC5D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;IAEpG,YAAY;SACT,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,+EAA+E,CAAC;SAC5F,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;SACpD,cAAc,CAAC,eAAe,EAAE,oBAAoB,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAyC,EAAE,GAAY,EAAE,EAAE;QAC1F,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAC;IAE/G,cAAc;SACX,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gFAAgF,CAAC;SAC7F,MAAM,CAAC,SAAS,EAAE,0EAA0E,CAAC;SAC7F,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,GAAY,EAAE,EAAE;QAC3D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2BAA2B,CAAC;SACxC,cAAc,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,GAAY,EAAE,EAAE;QAC3D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC;IAEvG,YAAY;SACT,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,iEAAiE,CAAC;SAC3F,MAAM,CAAC,KAAK,EAAE,OAAkC,EAAE,GAAY,EAAE,EAAE;QACjE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAElG,sBAAsB;SACnB,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;SACpE,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,sEAAsE,CAAC;SAC/F,MAAM,CACL,KAAK,EACH,IAAY,EACZ,OAA2E,EAC3E,GAAY,EACZ,EAAE;QACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,EAAE;gBAC/C,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEJ,sBAAsB;SACnB,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QACzE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,sBAAsB;SACnB,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,GAAa,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC9D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,sBAAsB;SACnB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,OAAwB,EAAE,GAAY,EAAE,EAAE;QACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,sBAAsB;SACnB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,sBAAsB;SACnB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,WAAW,EAAE,yDAAyD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC7G,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,GAAY,EAAE,EAAE;QACxD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,sBAAsB;SACnB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,yEAAyE,CAAC;SACtF,cAAc,CAAC,sBAAsB,EAAE,4CAA4C,CAAC;SACpF,cAAc,CAAC,kBAAkB,EAAE,8CAA8C,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAiD,EAAE,GAAY,EAAE,EAAE;QAClG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;gBAC1C,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAEvG,aAAa;SACV,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QACjE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,qGAAqG,CAAC;SAClH,cAAc,CAAC,kBAAkB,EAAE,4CAA4C,CAAC;SAChF,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAA6B,EAAE,GAAY,EAAE,EAAE;QAC9E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,uFAAuF,CAAC;SACpG,cAAc,CAAC,WAAW,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,8EAA8E,CAAC;SACvG,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAsC,EAAE,GAAY,EAAE,EAAE;QACvF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,mEAAmE,CAAC;SAChF,cAAc,CAAC,WAAW,EAAE,mCAAmC,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAuB,EAAE,GAAY,EAAE,EAAE;QACxE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6GAA6G,CAAC;SAC1H,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,kFAAkF,CAAC;SAC/F,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QACjE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,wDAAwD,CAAC,CAAC;IAEtH,aAAa;SACV,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,2EAA2E,CAAC;SACxF,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,sEAAsE,CAAC;SACnF,cAAc,CAAC,uBAAuB,EAAE,4CAA4C,CAAC;SACrF,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAgC,EAAE,GAAY,EAAE,EAAE;QAC/E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,0EAA0E,CAAC;SACvF,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,GAAY,EAAE,EAAE;QACxD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC;IAE1G,cAAc;SACX,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,kBAAkB,EAAE,+CAA+C,CAAC;SAC3E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC;SAC3C,MAAM,CAAC,iBAAiB,EAAE,uEAAuE,CAAC;SAClG,MAAM,CAAC,KAAK,EAAE,OAA2D,EAAE,GAAY,EAAE,EAAE;QAC1F,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;gBACjD,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,0JAA0J,CAAC;SACvK,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC7D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,4JAA4J,CAAC;SACzK,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QACjE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;IAEzG,eAAe;SACZ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,eAAe;SACZ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,+FAA+F,CAAC;SAC5G,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,oEAAoE;QACpE,kEAAkE;QAClE,sCAAsC;QACtC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kIAAkI,CAAC;SAC/I,MAAM,CAAC,YAAY,EAAE,qCAAqC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7F,MAAM,CAAC,kBAAkB,EAAE,8IAA8I,EAAE,YAAY,CAAC,YAAY,CAAC;SACrM,MAAM,CAAC,KAAK,EAAE,OAAuC,EAAE,GAAY,EAAE,EAAE;QACtE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mHAAmH,CAAC;SAChI,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+FAA+F,CAAC;SAC5G,MAAM,CAAC,YAAY,EAAE,4FAA4F,CAAC;SAClH,MAAM,CAAC,KAAK,EAAE,OAA+B,EAAE,GAAY,EAAE,EAAE;QAC9D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2FAA2F,CAAC;SACxG,MAAM,CAAC,WAAW,EAAE,mFAAmF,CAAC;SACxG,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,GAAY,EAAE,EAAE;QAC5D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE1F,cAAc;SACX,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2EAA2E,CAAC;SACxF,cAAc,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,GAAY,EAAE,EAAE;QAC5D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,IAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAC/E,OAAO,QAAQ,CAAC,EAAE,CAAC;YACrB,CAAC;YACD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7E,OAAO,QAAQ,CAAC,KAAK,CAAC;QACxB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,10 @@
1
1
  /** Kept in sync with package.json's "version" field. */
2
- export declare const CLI_VERSION = "0.8.0";
2
+ export declare const CLI_VERSION = "0.10.0";
3
+ /**
4
+ * The npm package this executable is published as. Bound here, beside the
5
+ * version, because the release check resolves the latest published release by
6
+ * name — and a name that drifts from package.json would send that check at a
7
+ * package nobody installs. test/unit/cli-name.test.ts holds the two together.
8
+ */
9
+ export declare const CLI_PACKAGE_NAME = "ctxr-cli";
3
10
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,WAAW,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,aAAa,CAAC"}
package/dist/version.js CHANGED
@@ -1,3 +1,10 @@
1
1
  /** Kept in sync with package.json's "version" field. */
2
- export const CLI_VERSION = '0.8.0';
2
+ export const CLI_VERSION = '0.10.0';
3
+ /**
4
+ * The npm package this executable is published as. Bound here, beside the
5
+ * version, because the release check resolves the latest published release by
6
+ * name — and a name that drifts from package.json would send that check at a
7
+ * package nobody installs. test/unit/cli-name.test.ts holds the two together.
8
+ */
9
+ export const CLI_PACKAGE_NAME = 'ctxr-cli';
3
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ctxr-cli",
3
- "version": "0.8.0",
4
- "description": "A context store that ingests, organizes, and retrieves context for any AI agent",
3
+ "version": "0.10.0",
4
+ "description": "Context store for AI coding agents — markdown and git, catalog and graph retrieval, no vector database.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -40,7 +40,8 @@
40
40
  "typecheck": "tsc --noEmit -p tsconfig.json",
41
41
  "test": "vitest run",
42
42
  "test:watch": "vitest",
43
- "verify:phase0": "bash scripts/verify-phase0.sh"
43
+ "verify:phase0": "bash scripts/verify-phase0.sh",
44
+ "eval:retrieval": "npm run build --silent && node scripts/eval-retrieval.mjs"
44
45
  },
45
46
  "dependencies": {
46
47
  "@inquirer/prompts": "^8.7.0",
@@ -61,6 +62,13 @@
61
62
  "context-store",
62
63
  "ai-agents",
63
64
  "knowledge-base",
64
- "cli"
65
+ "cli",
66
+ "claude-code",
67
+ "codex",
68
+ "cursor",
69
+ "agent-memory",
70
+ "context-engineering",
71
+ "markdown",
72
+ "pkm"
65
73
  ]
66
74
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  ### Root resolution
4
4
 
5
- Every contexture command resolves the store root in this order: an explicit `--root <path>` flag; the `CONTEXTURE_ROOT` environment variable; walking up from the current directory looking for `__CONFIG_FILE_NAME__`. No other flag or environment variable selects the root.
5
+ Every contexture command resolves the store root in this order: an explicit `--root <path>` flag; the `CONTEXTURE_STORE_ROOT` environment variable; walking up from the current directory looking for `__CONFIG_FILE_NAME__`. No other flag or environment variable selects the root.
6
6
 
7
7
  ### Frontmatter schema
8
8
 
@@ -1,17 +1,36 @@
1
1
  ## Capturing and ingesting new material
2
2
 
3
- To capture something new, write a plain markdown file directly into `__INBOX_PATH__` —
4
- no CLI command wraps this. That file MUST NOT contain any of these frontmatter fields; contexture assigns
5
- them once, at ingest, and never before:
3
+ Captures live under `__CAPTURE_ROOT__`, which is excluded from retrieval: nothing in it is a note, and
4
+ nothing in it is returned by a search, listed in the catalog, or drawn in the graph. It is tracked in git
5
+ all the same — a capture is the provenance behind a note, not scratch space.
6
+
7
+ To capture something new, write the material into `__INBOX_PATH__` — no CLI command wraps this. It may
8
+ already carry these two fields, since whatever fetched it usually knows them:
6
9
 
7
10
  - `source_type`
8
11
  - `source_id`
12
+
13
+ It MUST NOT carry either of these; contexture assigns them once, at ingest, and never before:
14
+
9
15
  - `source_hash`
10
16
  - `ingested`
11
17
 
12
- Before ingesting, run `ctxr source check <path> --source-id <id>` to get one of four verdicts:
13
- `new`, `already_ingested`, `alternate_source_match`, or `multiple_matches` — the last one means stop and
14
- resolve the ambiguity yourself rather than guessing which existing note it is.
18
+ Before ingesting, run `ctxr source check <path> --source-id <id>` to get one of five verdicts: `new`,
19
+ `already_ingested`, `drift` (same identity, the source's content moved), `alternate_source_match`, or
20
+ `multiple_matches` — the last one means stop and resolve the ambiguity yourself rather than guessing which
21
+ existing record it is.
22
+
23
+ Then write, or extend, the note this material informed. Ingest does not create it: deciding what the store
24
+ should know is the work, and "a new note" is only one of the answers.
25
+
26
+ ```
27
+ ctxr ingest <path> --into <note> --source-type <type> --source-id <id>
28
+ ```
29
+
30
+ That stamps the four fields onto the capture, moves it out of the inbox into `__CAPTURE_ROOT__` under the
31
+ month it was ingested, and records its path in the note's `sources` list. The note itself carries no source
32
+ identity — it is free to be rewritten, merged, or restructured without ever invalidating the frozen hash.
33
+ A note may cite as many captures as it was built from.
15
34
 
16
- To ingest, run `ctxr ingest <path> --source-type <type> --source-id <id>`. It stamps the four fields
17
- above onto the file in place and rebuilds the catalog, so the result already has a catalog entry.
35
+ Material that is not markdown cannot carry frontmatter, so it travels with a markdown sidecar beside it
36
+ naming the file in `capture_file`. The hash is taken over that file's bytes, and the two move together.
@@ -1,14 +1,40 @@
1
- ## Retrieval: which leg to use
1
+ ## Retrieval: one pass, three steps
2
2
 
3
- contexture builds and maintains two retrieval tools ahead of time — consult them first:
3
+ Retrieval is a single pass — **enter**, **expand**, **widen** — not three tools to choose between.
4
+ contexture builds and maintains the first two ahead of time; the third is yours.
4
5
 
5
- - **Catalog** (`ctxr catalog show --section <id>`): a curated, coverage-guaranteed index of every retrievable note, one section per taxonomy layer.
6
- - **Graph** (`ctxr graph query ...`): the wikilink graph between notes — neighbors, shortest path, hubs, orphans, clusters, bridges; `--type <relation>` follows one configured relation.
7
- - **Graph document** (`__GRAPH_DOCUMENT_PATH__`, rebuilt by `ctxr graph build`): hub notes by cluster, cross-cluster bridges, and orphans — read it for cluster context before writing.
6
+ **1. Enter.** Name where to start, positionally or relationally:
8
7
 
9
- For a literal or entity question the catalog and graph do not answer (a specific string, an exact identifier, a phrase),
10
- use your own direct content-matching tool (e.g. grep/ripgrep) against the store, scoped to exclude:
8
+ - `--section <id>` — every note a catalog section lists (`ctxr catalog show --section <id>` reads one directly)
9
+ - `--under <prefix>` — every retrievable note under a path prefix
10
+ - `--seed <path>` — a note you already hold, including one your own search just found
11
+ - `--entity <name>` — every note linking to a concept
12
+
13
+ **2. Expand.** `ctxr context gather` takes those selectors and walks the wikilink graph out from them,
14
+ returning each reachable note with its catalog gloss, its hop distance, and labels saying why it is
15
+ there — so you can triage the set without opening a single file, then read only what the glosses
16
+ justify:
17
+
18
+ ```
19
+ ctxr context gather --section <id> --hops 1
20
+ ctxr context gather --seed <path> --hops 2 --type <relation>
21
+ ```
22
+
23
+ Results are ordered: live material before demoted (archived) material, nearer hops before farther,
24
+ then by how the note was reached, then by path. `no_gloss` on a result means the catalog has no
25
+ description for that note yet — the pass found it structurally, not by what it says.
26
+
27
+ For structure on its own — shortest path, hubs, orphans, clusters, bridges — query the graph directly
28
+ with `ctxr graph query ...`, and read the graph document at `__GRAPH_DOCUMENT_PATH__` (rebuilt by
29
+ `ctxr graph build`) for cluster context before writing.
30
+
31
+ **3. Widen.** For a literal or entity question the first two steps do not answer — a specific string,
32
+ an exact identifier, a phrase — use your own content-matching tool (e.g. grep/ripgrep) against the
33
+ store, scoped to exclude:
11
34
 
12
35
  __EXCLUSION_PATHS__
13
36
 
14
- There is no `ctxr search` command. Ranked or semantic search is deferred to a future version — do not look for one.
37
+ Feed anything it finds back in as `--seed` to pick the pass up again from there.
38
+
39
+ There is no `ctxr search` command. Nothing here takes a free-text query, and no result carries a
40
+ relevance score. Ranked or semantic search is deferred to a future version — do not look for one.
@@ -0,0 +1,37 @@
1
+ # --- shared: resolve the ctxr CLI ------------------------------------------
2
+ # Authored in templates/hooks/_resolve-ctxr.sh and inlined verbatim into every
3
+ # hook that needs it at render time (src/core/hooks.ts) — one copy of a
4
+ # security decision, never two that can drift apart. Do not edit the inlined
5
+ # copy; re-run `ctxr init` / `ctxr update` to regenerate it.
6
+ #
7
+ # Resolves at RUN time, so the rendered hook is byte-identical in every
8
+ # checkout of this store: a path baked in when the file was generated is
9
+ # valid only on the machine that generated it, and this file is committed.
10
+ #
11
+ # Order: $CONTEXTURE_BIN, then `ctxr` on PATH. Nothing else is consulted, and
12
+ # there is no "give up and continue" branch — when neither resolves, this
13
+ # calls ctxr_unavailable <reason>, which each hook defines above and which
14
+ # must not return. A CONTEXTURE_BIN that is set but broken is terminal: it is
15
+ # a deliberate pin, and silently running a different binary instead would
16
+ # defeat the operator who set it.
17
+ #
18
+ # Leaves the resolved command in the positional parameters ("$@"). Neither
19
+ # hook that inlines this reads its own arguments.
20
+ if [ -n "${CONTEXTURE_BIN:-}" ]; then
21
+ if [ ! -f "$CONTEXTURE_BIN" ]; then
22
+ ctxr_unavailable "CONTEXTURE_BIN names a path that is not a file: $CONTEXTURE_BIN"
23
+ elif [ -x "$CONTEXTURE_BIN" ]; then
24
+ set -- "$CONTEXTURE_BIN"
25
+ elif command -v node >/dev/null 2>&1; then
26
+ # A plain dist/bin.js: tsc emits it non-executable, and only npm's
27
+ # bin-linking sets the bit, so a dev checkout needs node to run it.
28
+ set -- node "$CONTEXTURE_BIN"
29
+ else
30
+ ctxr_unavailable "CONTEXTURE_BIN is not executable and no node is on PATH to run it: $CONTEXTURE_BIN"
31
+ fi
32
+ elif command -v ctxr >/dev/null 2>&1; then
33
+ set -- ctxr
34
+ else
35
+ ctxr_unavailable "no ctxr on PATH, and CONTEXTURE_BIN is not set"
36
+ fi
37
+ # --- end shared: resolve the ctxr CLI --------------------------------------
@@ -3,13 +3,41 @@
3
3
  # controlled — do not edit by hand; re-run to regenerate. A PreToolUse hook:
4
4
  # relays the tool-call envelope on stdin to `ctxr adapters write-gate`, which
5
5
  # decides whether to deny it, and relays its stdout and exit code unchanged.
6
+ # Carries no path specific to the machine that generated it — `ctxr` is
7
+ # resolved at run time, and an edit this gate could not evaluate is denied,
8
+ # not allowed unchecked.
6
9
  set -eu
7
10
 
8
- CONTEXTURE_BIN="__CONTEXTURE_BIN__"
9
-
10
- if [ ! -f "$CONTEXTURE_BIN" ]; then
11
- echo "ctxr: warning — could not find $CONTEXTURE_BIN; skipping write-gate check." >&2
11
+ # The write gate is an enforcement primitive, and a gate that cannot run is
12
+ # not a passing decision (adapters spec). This speaks the same PreToolUse deny
13
+ # protocol `ctxr adapters write-gate` does — a JSON body on stdout, exit 0 —
14
+ # because that is the only vocabulary the harness reads as "denied, and here
15
+ # is why". A nonzero exit other than 2 is reported as a hook error and the
16
+ # edit proceeds, which is the failure this replaces; exit 2 hard-blocks
17
+ # regardless of output and would conflate a broken install with a decision.
18
+ ctxr_unavailable() {
19
+ # Drain the envelope the harness is writing to us before exiting: the
20
+ # normal path reads stdin to EOF via `ctxr adapters write-gate`, and a
21
+ # harness that writes the full envelope before checking our exit code
22
+ # would otherwise see its own write fail (EPIPE/SIGPIPE) once we exit
23
+ # without ever reading it.
24
+ cat >/dev/null 2>&1 || true
25
+ printf '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"contexture: the write gate could not run (%s), so this edit is denied rather than allowed unchecked. Install the CLI (npm install -g ctxr-cli) or set CONTEXTURE_BIN to its dist/bin.js, then retry."}}\n' "$1"
12
26
  exit 0
13
- fi
27
+ }
14
28
 
15
- node "$CONTEXTURE_BIN" adapters write-gate
29
+ __RESOLVE_CTXR__
30
+
31
+ # Not `exec`: a resolved command can still fail to execute (a broken symlink,
32
+ # a non-executable file found on PATH), and exec's 126/127 would reach the
33
+ # harness as an ordinary hook error — fail-open, the bug this file exists to
34
+ # close. Every other exit code and all of stdout are relayed unchanged, so the
35
+ # gate's own deliberate "I could not decide, apply normal permission flow"
36
+ # exits (never 2) keep their documented meaning.
37
+ status=0
38
+ out=$("$@" adapters write-gate) || status=$?
39
+ if [ "$status" -eq 126 ] || [ "$status" -eq 127 ]; then
40
+ ctxr_unavailable "the resolved ctxr could not be executed (exit $status)"
41
+ fi
42
+ printf '%s' "$out"
43
+ exit "$status"
@@ -1,18 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Installed by `ctxr init` (write-lifecycle spec). Version-controlled —
3
3
  # do not edit by hand; re-run `ctxr init` or `ctxr doctor` to
4
- # regenerate. Runs `doctor --staged` against the exact contexture install
5
- # that wrote this hook, and refuses the commit if it finds a real problem.
4
+ # regenerate. Runs `doctor --staged` with the ctxr this machine resolves at
5
+ # run time, and refuses the commit if it finds a real problem — or if it
6
+ # could not run that validation at all.
6
7
  set -eu
7
8
 
8
- CONTEXTURE_BIN="__CONTEXTURE_BIN__"
9
+ # A commit this hook could not check is refused, not passed: the point of the
10
+ # hook is that no unvalidated change is committed, and "ctxr is not installed
11
+ # here" is not evidence that the staged diff is clean.
12
+ ctxr_unavailable() {
13
+ echo "ctxr: commit refused — $1" >&2
14
+ echo "ctxr: this hook validates staged changes with 'ctxr doctor --staged', and will not pass a commit it could not check." >&2
15
+ echo "ctxr: install the CLI with 'npm install -g ctxr-cli', or set CONTEXTURE_BIN to its dist/bin.js." >&2
16
+ echo "ctxr: 'git commit --no-verify' bypasses this hook if you must commit before repairing the install." >&2
17
+ exit 1
18
+ }
9
19
 
10
- if [ ! -f "$CONTEXTURE_BIN" ]; then
11
- echo "ctxr: warning — could not find $CONTEXTURE_BIN; skipping pre-commit validation." >&2
12
- exit 0
13
- fi
20
+ __RESOLVE_CTXR__
14
21
 
15
- if ! output=$(node "$CONTEXTURE_BIN" doctor --staged --json 2>&1); then
22
+ if ! output=$("$@" doctor --staged --json 2>&1); then
16
23
  echo "$output" >&2
17
24
  echo "ctxr: commit refused — staged changes failed 'doctor --staged'." >&2
18
25
  exit 1
@@ -1,5 +1,5 @@
1
1
  <!doctype html>
2
- <html lang="en">
2
+ <html lang="en" data-ctxr-theme="{{THEME}}" data-ctxr-nav="{{NAV_STATE}}">
3
3
  <head>
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
@@ -7,7 +7,21 @@
7
7
  <link rel="stylesheet" href="/assets/style.css">
8
8
  </head>
9
9
  <body>
10
- <header class="ctxr-shell-header"><a href="/">contexture</a></header>
10
+ <input type="checkbox" id="ctxr-nav-toggle" class="ctxr-visually-hidden">
11
+ <header class="ctxr-shell-header">
12
+ <div class="ctxr-shell-header-start">
13
+ <label for="ctxr-nav-toggle" class="ctxr-nav-toggle-label"><span aria-hidden="true">☰</span><span class="ctxr-visually-hidden">Navigation</span></label>
14
+ <a href="/" class="ctxr-shell-title">contexture</a>
15
+ </div>
16
+ <div class="ctxr-shell-header-end">
17
+ <a class="ctxr-nav-collapse-link" href="{{NAV_TOGGLE_HREF}}"><span aria-hidden="true">☰</span><span class="ctxr-visually-hidden">{{NAV_TOGGLE_LABEL}}</span></a>
18
+ <nav class="ctxr-theme-switcher" aria-label="Display theme">
19
+ <a href="?ctxr-theme=light">Light</a>
20
+ <a href="?ctxr-theme=dark">Dark</a>
21
+ <a href="?ctxr-theme=system">System</a>
22
+ </nav>
23
+ </div>
24
+ </header>
11
25
  <div class="ctxr-layout">
12
26
  {{NAV}}
13
27
  <main>
@@ -1,5 +1,12 @@
1
+ /*
2
+ * serve-page-names-theme-and-nav-toggle design.md D8: the light palette
3
+ * lives on :root as the shared baseline. "light" mode needs nothing more
4
+ * than to pin color-scheme; "dark" overrides every custom property at
5
+ * higher specificity (html[data-ctxr-theme=...] beats a bare :root
6
+ * regardless of source order); "system" keeps the light baseline unless the
7
+ * dark media query — scoped to system alone, never left unscoped — applies.
8
+ */
1
9
  :root {
2
- color-scheme: light dark;
3
10
  --ctxr-fg: #1a1a1a;
4
11
  --ctxr-bg: #ffffff;
5
12
  --ctxr-muted: #6b6b6b;
@@ -8,8 +15,26 @@
8
15
  --ctxr-broken: #b3261e;
9
16
  }
10
17
 
18
+ html[data-ctxr-theme="light"] {
19
+ color-scheme: light;
20
+ }
21
+
22
+ html[data-ctxr-theme="system"] {
23
+ color-scheme: light dark;
24
+ }
25
+
26
+ html[data-ctxr-theme="dark"] {
27
+ color-scheme: dark;
28
+ --ctxr-fg: #e8e8e8;
29
+ --ctxr-bg: #121212;
30
+ --ctxr-muted: #9b9b9b;
31
+ --ctxr-border: #3a3a3a;
32
+ --ctxr-code-bg: #1e1e1e;
33
+ --ctxr-broken: #ff8a80;
34
+ }
35
+
11
36
  @media (prefers-color-scheme: dark) {
12
- :root {
37
+ html[data-ctxr-theme="system"] {
13
38
  --ctxr-fg: #e8e8e8;
14
39
  --ctxr-bg: #121212;
15
40
  --ctxr-muted: #9b9b9b;
@@ -28,6 +53,10 @@ body {
28
53
  }
29
54
 
30
55
  .ctxr-shell-header {
56
+ display: flex;
57
+ align-items: center;
58
+ justify-content: space-between;
59
+ gap: 1rem;
31
60
  padding: 0.75rem 1.5rem;
32
61
  border-bottom: 1px solid var(--ctxr-border);
33
62
  }
@@ -35,9 +64,96 @@ body {
35
64
  .ctxr-shell-header a {
36
65
  color: inherit;
37
66
  text-decoration: none;
67
+ }
68
+
69
+ .ctxr-shell-header-start,
70
+ .ctxr-shell-header-end {
71
+ display: flex;
72
+ align-items: center;
73
+ gap: 0.75rem;
74
+ }
75
+
76
+ .ctxr-shell-title {
38
77
  font-weight: 600;
39
78
  }
40
79
 
80
+ .ctxr-theme-switcher {
81
+ display: flex;
82
+ gap: 0.75rem;
83
+ font-size: 0.85rem;
84
+ }
85
+
86
+ .ctxr-theme-switcher a {
87
+ color: var(--ctxr-muted);
88
+ }
89
+
90
+ .ctxr-theme-switcher a:hover,
91
+ .ctxr-theme-switcher a:focus-visible {
92
+ color: var(--ctxr-fg);
93
+ }
94
+
95
+ /*
96
+ * serve-page-names-theme-and-nav-toggle design.md D12: hidden off-screen
97
+ * rather than with display:none or visibility:hidden, either of which would
98
+ * drop the checkbox from the tab order and make the navigation unreachable
99
+ * by keyboard. Reused for the accessible-name text spans inside the two nav
100
+ * controls below, which need the identical off-screen treatment.
101
+ */
102
+ .ctxr-visually-hidden {
103
+ position: absolute;
104
+ width: 1px;
105
+ height: 1px;
106
+ overflow: hidden;
107
+ clip-path: inset(50%);
108
+ white-space: nowrap;
109
+ }
110
+
111
+ /* design.md D12: the checkbox is the first element in <body>, so this general-sibling selector can reach the visible label on :checked. */
112
+ #ctxr-nav-toggle:focus-visible ~ header .ctxr-nav-toggle-label {
113
+ outline: 2px solid currentColor;
114
+ outline-offset: 2px;
115
+ }
116
+
117
+ .ctxr-nav-toggle-label,
118
+ .ctxr-nav-collapse-link {
119
+ display: none;
120
+ align-items: center;
121
+ justify-content: center;
122
+ min-width: 2.75rem;
123
+ min-height: 2.75rem;
124
+ padding: 0.25rem 0.5rem;
125
+ border-radius: 4px;
126
+ cursor: pointer;
127
+ color: var(--ctxr-muted);
128
+ }
129
+
130
+ .ctxr-nav-toggle-label:hover,
131
+ .ctxr-nav-collapse-link:hover,
132
+ .ctxr-nav-toggle-label:focus-visible,
133
+ .ctxr-nav-collapse-link:focus-visible {
134
+ color: var(--ctxr-fg);
135
+ }
136
+
137
+ /*
138
+ * design.md D9: shown by default at a wide viewport, since a collapsed
139
+ * sidebar there must persist across navigation via the ctxr_nav cookie, not
140
+ * reset every page load the way the narrow-viewport checkbox does.
141
+ */
142
+ .ctxr-nav-collapse-link {
143
+ display: inline-flex;
144
+ }
145
+
146
+ /* design.md D9/D10: gated to a viewport wide enough to show the navigation alongside the content, so it can never contradict the narrow-viewport checkbox below. */
147
+ @media (min-width: 52.0625rem) {
148
+ html[data-ctxr-nav="collapsed"] .ctxr-layout {
149
+ grid-template-columns: minmax(0, 1fr);
150
+ }
151
+
152
+ html[data-ctxr-nav="collapsed"] .ctxr-nav {
153
+ display: none;
154
+ }
155
+ }
156
+
41
157
  .ctxr-layout {
42
158
  display: grid;
43
159
  grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
@@ -54,7 +170,12 @@ body {
54
170
  font-size: 0.9rem;
55
171
  }
56
172
 
57
- /* Stack the navigation above the content once two columns stop fitting. */
173
+ /*
174
+ * Stack the navigation above the content once two columns stop fitting, and
175
+ * hide it by default (design.md D9: a narrow viewport starts with the
176
+ * navigation hidden, revealed only by the checkbox below — the desktop
177
+ * ctxr_nav cookie above this breakpoint plays no part here).
178
+ */
58
179
  @media (max-width: 52rem) {
59
180
  .ctxr-layout {
60
181
  grid-template-columns: minmax(0, 1fr);
@@ -65,6 +186,27 @@ body {
65
186
  max-height: none;
66
187
  border-right: none;
67
188
  border-bottom: 1px solid var(--ctxr-border);
189
+ display: none;
190
+ }
191
+
192
+ #ctxr-nav-toggle:checked ~ .ctxr-layout .ctxr-nav {
193
+ display: block;
194
+ }
195
+
196
+ .ctxr-nav-toggle-label {
197
+ display: inline-flex;
198
+ }
199
+
200
+ .ctxr-nav-collapse-link {
201
+ display: none;
202
+ }
203
+ }
204
+
205
+ @media print {
206
+ .ctxr-nav,
207
+ .ctxr-nav-toggle-label,
208
+ .ctxr-nav-collapse-link {
209
+ display: none;
68
210
  }
69
211
  }
70
212