@meshy-ai/cli 0.2.0 → 0.3.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 (285) hide show
  1. package/.env.example +8 -2
  2. package/README.md +342 -108
  3. package/dist/client/endpoints/animation-catalog.d.ts +37 -0
  4. package/dist/client/endpoints/animation-catalog.d.ts.map +1 -0
  5. package/dist/client/endpoints/animation-catalog.js +55 -0
  6. package/dist/client/endpoints/animation-catalog.js.map +1 -0
  7. package/dist/client/endpoints/balance.d.ts +5 -0
  8. package/dist/client/endpoints/balance.d.ts.map +1 -1
  9. package/dist/client/endpoints/balance.js +5 -1
  10. package/dist/client/endpoints/balance.js.map +1 -1
  11. package/dist/client/endpoints/base.d.ts +41 -7
  12. package/dist/client/endpoints/base.d.ts.map +1 -1
  13. package/dist/client/endpoints/base.js +61 -40
  14. package/dist/client/endpoints/base.js.map +1 -1
  15. package/dist/client/endpoints/showcases.d.ts +31 -0
  16. package/dist/client/endpoints/showcases.d.ts.map +1 -0
  17. package/dist/client/endpoints/showcases.js +49 -0
  18. package/dist/client/endpoints/showcases.js.map +1 -0
  19. package/dist/client/errors.d.ts +1 -0
  20. package/dist/client/errors.d.ts.map +1 -1
  21. package/dist/client/errors.js +1 -1
  22. package/dist/client/errors.js.map +1 -1
  23. package/dist/client/index.d.ts +47 -38
  24. package/dist/client/index.d.ts.map +1 -1
  25. package/dist/client/index.js +89 -120
  26. package/dist/client/index.js.map +1 -1
  27. package/dist/client/resource-registry.d.ts +97 -0
  28. package/dist/client/resource-registry.d.ts.map +1 -0
  29. package/dist/client/resource-registry.js +157 -0
  30. package/dist/client/resource-registry.js.map +1 -0
  31. package/dist/client/transport.d.ts +99 -0
  32. package/dist/client/transport.d.ts.map +1 -0
  33. package/dist/client/transport.js +320 -0
  34. package/dist/client/transport.js.map +1 -0
  35. package/dist/client/types.d.ts +17 -6
  36. package/dist/client/types.d.ts.map +1 -1
  37. package/dist/client/types.js +28 -6
  38. package/dist/client/types.js.map +1 -1
  39. package/dist/cmd/animation-catalog.d.ts +26 -0
  40. package/dist/cmd/animation-catalog.d.ts.map +1 -0
  41. package/dist/cmd/animation-catalog.js +80 -0
  42. package/dist/cmd/animation-catalog.js.map +1 -0
  43. package/dist/cmd/api.d.ts +3 -2
  44. package/dist/cmd/api.d.ts.map +1 -1
  45. package/dist/cmd/api.js +22 -8
  46. package/dist/cmd/api.js.map +1 -1
  47. package/dist/cmd/auth.d.ts.map +1 -1
  48. package/dist/cmd/auth.js +5 -0
  49. package/dist/cmd/auth.js.map +1 -1
  50. package/dist/cmd/balance.d.ts.map +1 -1
  51. package/dist/cmd/balance.js +10 -6
  52. package/dist/cmd/balance.js.map +1 -1
  53. package/dist/cmd/creative-lab.d.ts +26 -0
  54. package/dist/cmd/creative-lab.d.ts.map +1 -0
  55. package/dist/cmd/creative-lab.js +256 -0
  56. package/dist/cmd/creative-lab.js.map +1 -0
  57. package/dist/cmd/delete.d.ts.map +1 -1
  58. package/dist/cmd/delete.js +6 -7
  59. package/dist/cmd/delete.js.map +1 -1
  60. package/dist/cmd/doctor.d.ts +23 -0
  61. package/dist/cmd/doctor.d.ts.map +1 -0
  62. package/dist/cmd/doctor.js +61 -0
  63. package/dist/cmd/doctor.js.map +1 -0
  64. package/dist/cmd/download.d.ts +17 -0
  65. package/dist/cmd/download.d.ts.map +1 -0
  66. package/dist/cmd/download.js +436 -0
  67. package/dist/cmd/download.js.map +1 -0
  68. package/dist/cmd/inspect.d.ts +63 -0
  69. package/dist/cmd/inspect.d.ts.map +1 -0
  70. package/dist/cmd/inspect.js +179 -0
  71. package/dist/cmd/inspect.js.map +1 -0
  72. package/dist/cmd/make.d.ts +13 -3
  73. package/dist/cmd/make.d.ts.map +1 -1
  74. package/dist/cmd/make.js +240 -36
  75. package/dist/cmd/make.js.map +1 -1
  76. package/dist/cmd/mesh.d.ts +13 -0
  77. package/dist/cmd/mesh.d.ts.map +1 -0
  78. package/dist/cmd/mesh.js +67 -0
  79. package/dist/cmd/mesh.js.map +1 -0
  80. package/dist/cmd/project.d.ts +16 -0
  81. package/dist/cmd/project.d.ts.map +1 -0
  82. package/dist/cmd/project.js +136 -0
  83. package/dist/cmd/project.js.map +1 -0
  84. package/dist/cmd/resources.d.ts +5 -0
  85. package/dist/cmd/resources.d.ts.map +1 -1
  86. package/dist/cmd/resources.js +38 -10
  87. package/dist/cmd/resources.js.map +1 -1
  88. package/dist/cmd/showcases.d.ts +10 -0
  89. package/dist/cmd/showcases.d.ts.map +1 -0
  90. package/dist/cmd/showcases.js +63 -0
  91. package/dist/cmd/showcases.js.map +1 -0
  92. package/dist/cmd/slicer.d.ts +12 -0
  93. package/dist/cmd/slicer.d.ts.map +1 -0
  94. package/dist/cmd/slicer.js +46 -0
  95. package/dist/cmd/slicer.js.map +1 -0
  96. package/dist/cmd/uv-unwrap.d.ts +16 -0
  97. package/dist/cmd/uv-unwrap.d.ts.map +1 -0
  98. package/dist/cmd/uv-unwrap.js +52 -0
  99. package/dist/cmd/uv-unwrap.js.map +1 -0
  100. package/dist/index.d.ts +13 -1
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +141 -8
  103. package/dist/index.js.map +1 -1
  104. package/dist/internal/artifacts.d.ts +97 -0
  105. package/dist/internal/artifacts.d.ts.map +1 -0
  106. package/dist/internal/artifacts.js +280 -0
  107. package/dist/internal/artifacts.js.map +1 -0
  108. package/dist/internal/atomic-file.d.ts +39 -0
  109. package/dist/internal/atomic-file.d.ts.map +1 -0
  110. package/dist/internal/atomic-file.js +160 -0
  111. package/dist/internal/atomic-file.js.map +1 -0
  112. package/dist/internal/command-helpers.d.ts +46 -0
  113. package/dist/internal/command-helpers.d.ts.map +1 -0
  114. package/dist/internal/command-helpers.js +61 -0
  115. package/dist/internal/command-helpers.js.map +1 -0
  116. package/dist/internal/config.d.ts +48 -5
  117. package/dist/internal/config.d.ts.map +1 -1
  118. package/dist/internal/config.js +95 -6
  119. package/dist/internal/config.js.map +1 -1
  120. package/dist/internal/context.d.ts +25 -0
  121. package/dist/internal/context.d.ts.map +1 -0
  122. package/dist/internal/context.js +37 -0
  123. package/dist/internal/context.js.map +1 -0
  124. package/dist/internal/credentials.d.ts +11 -0
  125. package/dist/internal/credentials.d.ts.map +1 -1
  126. package/dist/internal/credentials.js +2 -0
  127. package/dist/internal/credentials.js.map +1 -1
  128. package/dist/internal/doctor.d.ts +94 -0
  129. package/dist/internal/doctor.d.ts.map +1 -0
  130. package/dist/internal/doctor.js +280 -0
  131. package/dist/internal/doctor.js.map +1 -0
  132. package/dist/internal/download.d.ts +147 -13
  133. package/dist/internal/download.d.ts.map +1 -1
  134. package/dist/internal/download.js +735 -142
  135. package/dist/internal/download.js.map +1 -1
  136. package/dist/internal/env-file.d.ts +29 -0
  137. package/dist/internal/env-file.d.ts.map +1 -0
  138. package/dist/internal/env-file.js +95 -0
  139. package/dist/internal/env-file.js.map +1 -0
  140. package/dist/internal/errors.d.ts +74 -1
  141. package/dist/internal/errors.d.ts.map +1 -1
  142. package/dist/internal/errors.js +173 -1
  143. package/dist/internal/errors.js.map +1 -1
  144. package/dist/internal/file-input.d.ts +52 -12
  145. package/dist/internal/file-input.d.ts.map +1 -1
  146. package/dist/internal/file-input.js +162 -33
  147. package/dist/internal/file-input.js.map +1 -1
  148. package/dist/internal/global-options.d.ts +6 -4
  149. package/dist/internal/global-options.d.ts.map +1 -1
  150. package/dist/internal/global-options.js +19 -4
  151. package/dist/internal/global-options.js.map +1 -1
  152. package/dist/internal/inspect.d.ts +67 -0
  153. package/dist/internal/inspect.d.ts.map +1 -0
  154. package/dist/internal/inspect.js +111 -0
  155. package/dist/internal/inspect.js.map +1 -0
  156. package/dist/internal/lock.d.ts +19 -0
  157. package/dist/internal/lock.d.ts.map +1 -0
  158. package/dist/internal/lock.js +66 -0
  159. package/dist/internal/lock.js.map +1 -0
  160. package/dist/internal/material-links.d.ts +115 -0
  161. package/dist/internal/material-links.d.ts.map +1 -0
  162. package/dist/internal/material-links.js +577 -0
  163. package/dist/internal/material-links.js.map +1 -0
  164. package/dist/internal/obj-transform.d.ts +115 -0
  165. package/dist/internal/obj-transform.d.ts.map +1 -0
  166. package/dist/internal/obj-transform.js +649 -0
  167. package/dist/internal/obj-transform.js.map +1 -0
  168. package/dist/internal/operation-store.d.ts +123 -0
  169. package/dist/internal/operation-store.d.ts.map +1 -0
  170. package/dist/internal/operation-store.js +229 -0
  171. package/dist/internal/operation-store.js.map +1 -0
  172. package/dist/internal/output.d.ts +20 -2
  173. package/dist/internal/output.d.ts.map +1 -1
  174. package/dist/internal/output.js +32 -4
  175. package/dist/internal/output.js.map +1 -1
  176. package/dist/internal/paths.d.ts +89 -0
  177. package/dist/internal/paths.d.ts.map +1 -0
  178. package/dist/internal/paths.js +168 -0
  179. package/dist/internal/paths.js.map +1 -0
  180. package/dist/internal/payload.d.ts +15 -0
  181. package/dist/internal/payload.d.ts.map +1 -1
  182. package/dist/internal/payload.js +50 -3
  183. package/dist/internal/payload.js.map +1 -1
  184. package/dist/internal/poll.d.ts +30 -4
  185. package/dist/internal/poll.d.ts.map +1 -1
  186. package/dist/internal/poll.js +99 -16
  187. package/dist/internal/poll.js.map +1 -1
  188. package/dist/internal/project-store.d.ts +197 -0
  189. package/dist/internal/project-store.d.ts.map +1 -0
  190. package/dist/internal/project-store.js +467 -0
  191. package/dist/internal/project-store.js.map +1 -0
  192. package/dist/internal/result.d.ts +50 -0
  193. package/dist/internal/result.d.ts.map +1 -0
  194. package/dist/internal/result.js +41 -0
  195. package/dist/internal/result.js.map +1 -0
  196. package/dist/internal/runtime.d.ts +35 -5
  197. package/dist/internal/runtime.d.ts.map +1 -1
  198. package/dist/internal/runtime.js +68 -18
  199. package/dist/internal/runtime.js.map +1 -1
  200. package/dist/internal/slicers.d.ts +117 -0
  201. package/dist/internal/slicers.d.ts.map +1 -0
  202. package/dist/internal/slicers.js +314 -0
  203. package/dist/internal/slicers.js.map +1 -0
  204. package/dist/internal/stream.d.ts +58 -0
  205. package/dist/internal/stream.d.ts.map +1 -0
  206. package/dist/internal/stream.js +280 -0
  207. package/dist/internal/stream.js.map +1 -0
  208. package/dist/internal/task-command.d.ts +128 -11
  209. package/dist/internal/task-command.d.ts.map +1 -1
  210. package/dist/internal/task-command.js +991 -111
  211. package/dist/internal/task-command.js.map +1 -1
  212. package/dist/internal/task-view.d.ts +56 -0
  213. package/dist/internal/task-view.d.ts.map +1 -0
  214. package/dist/internal/task-view.js +95 -0
  215. package/dist/internal/task-view.js.map +1 -0
  216. package/dist/internal/update-notifier.d.ts +5 -1
  217. package/dist/internal/update-notifier.d.ts.map +1 -1
  218. package/dist/internal/update-notifier.js +7 -3
  219. package/dist/internal/update-notifier.js.map +1 -1
  220. package/dist/root.d.ts +10 -0
  221. package/dist/root.d.ts.map +1 -1
  222. package/dist/root.js +75 -10
  223. package/dist/root.js.map +1 -1
  224. package/package.json +3 -2
  225. package/skills/meshy-cli/SKILL.md +140 -59
  226. package/dist/client/endpoints/analyze-printability.d.ts +0 -5
  227. package/dist/client/endpoints/analyze-printability.d.ts.map +0 -1
  228. package/dist/client/endpoints/analyze-printability.js +0 -7
  229. package/dist/client/endpoints/analyze-printability.js.map +0 -1
  230. package/dist/client/endpoints/animate.d.ts +0 -6
  231. package/dist/client/endpoints/animate.d.ts.map +0 -1
  232. package/dist/client/endpoints/animate.js +0 -8
  233. package/dist/client/endpoints/animate.js.map +0 -1
  234. package/dist/client/endpoints/convert.d.ts +0 -5
  235. package/dist/client/endpoints/convert.d.ts.map +0 -1
  236. package/dist/client/endpoints/convert.js +0 -7
  237. package/dist/client/endpoints/convert.js.map +0 -1
  238. package/dist/client/endpoints/image-to-3d.d.ts +0 -5
  239. package/dist/client/endpoints/image-to-3d.d.ts.map +0 -1
  240. package/dist/client/endpoints/image-to-3d.js +0 -7
  241. package/dist/client/endpoints/image-to-3d.js.map +0 -1
  242. package/dist/client/endpoints/image-to-image.d.ts +0 -5
  243. package/dist/client/endpoints/image-to-image.d.ts.map +0 -1
  244. package/dist/client/endpoints/image-to-image.js +0 -7
  245. package/dist/client/endpoints/image-to-image.js.map +0 -1
  246. package/dist/client/endpoints/multi-color-print.d.ts +0 -5
  247. package/dist/client/endpoints/multi-color-print.d.ts.map +0 -1
  248. package/dist/client/endpoints/multi-color-print.js +0 -7
  249. package/dist/client/endpoints/multi-color-print.js.map +0 -1
  250. package/dist/client/endpoints/multi-image-to-3d.d.ts +0 -5
  251. package/dist/client/endpoints/multi-image-to-3d.d.ts.map +0 -1
  252. package/dist/client/endpoints/multi-image-to-3d.js +0 -7
  253. package/dist/client/endpoints/multi-image-to-3d.js.map +0 -1
  254. package/dist/client/endpoints/remesh.d.ts +0 -5
  255. package/dist/client/endpoints/remesh.d.ts.map +0 -1
  256. package/dist/client/endpoints/remesh.js +0 -7
  257. package/dist/client/endpoints/remesh.js.map +0 -1
  258. package/dist/client/endpoints/repair-printability.d.ts +0 -5
  259. package/dist/client/endpoints/repair-printability.d.ts.map +0 -1
  260. package/dist/client/endpoints/repair-printability.js +0 -7
  261. package/dist/client/endpoints/repair-printability.js.map +0 -1
  262. package/dist/client/endpoints/resize.d.ts +0 -5
  263. package/dist/client/endpoints/resize.d.ts.map +0 -1
  264. package/dist/client/endpoints/resize.js +0 -7
  265. package/dist/client/endpoints/resize.js.map +0 -1
  266. package/dist/client/endpoints/retexture.d.ts +0 -5
  267. package/dist/client/endpoints/retexture.d.ts.map +0 -1
  268. package/dist/client/endpoints/retexture.js +0 -7
  269. package/dist/client/endpoints/retexture.js.map +0 -1
  270. package/dist/client/endpoints/rigging.d.ts +0 -6
  271. package/dist/client/endpoints/rigging.d.ts.map +0 -1
  272. package/dist/client/endpoints/rigging.js +0 -8
  273. package/dist/client/endpoints/rigging.js.map +0 -1
  274. package/dist/client/endpoints/text-to-3d.d.ts +0 -6
  275. package/dist/client/endpoints/text-to-3d.d.ts.map +0 -1
  276. package/dist/client/endpoints/text-to-3d.js +0 -8
  277. package/dist/client/endpoints/text-to-3d.js.map +0 -1
  278. package/dist/client/endpoints/text-to-image.d.ts +0 -5
  279. package/dist/client/endpoints/text-to-image.d.ts.map +0 -1
  280. package/dist/client/endpoints/text-to-image.js +0 -7
  281. package/dist/client/endpoints/text-to-image.js.map +0 -1
  282. package/dist/client/endpoints/text-to-motion.d.ts +0 -6
  283. package/dist/client/endpoints/text-to-motion.d.ts.map +0 -1
  284. package/dist/client/endpoints/text-to-motion.js +0 -8
  285. package/dist/client/endpoints/text-to-motion.js.map +0 -1
@@ -0,0 +1,115 @@
1
+ /**
2
+ * OBJ print preparation — the legacy `fix_obj.py` transform as a streaming module.
3
+ *
4
+ * Meshy exports Y-up OBJ files in arbitrary units; slicers want Z-up
5
+ * millimetres with the model standing on the build plate. The transform is
6
+ *
7
+ * R(x, y, z) = (x, -z, y) Y-up → Z-up; determinant +1, so face winding is kept
8
+ * v' = s·R(v) + (tx, ty, tz) s = height_mm / (zmax − zmin) of the rotated box,
9
+ * XY centred on the origin, minZ on the plate (0)
10
+ * n' = R(n) normals only rotate — no scale, no translation
11
+ *
12
+ * Every other line (vt, f, o, g, s, usemtl, mtllib, comments, blanks) is copied
13
+ * verbatim, so topology, UVs and material bindings cannot drift. Extra fields on
14
+ * a `v` line (vertex colours, w) are kept verbatim after the three coordinates.
15
+ *
16
+ * Two streaming passes keep memory constant regardless of file size: pass 1 folds
17
+ * every vertex into a bounding box, pass 2 rewrites lines through a write stream
18
+ * into a temp file in the target directory. The temp file is published only after
19
+ * the whole rewrite succeeded — nothing is written when validation fails, an
20
+ * existing output is never overwritten, and the input is replaced only with
21
+ * `inPlace` (temp file + rename on the same filesystem).
22
+ *
23
+ * Material dependencies (`mtllib`, and `map_*` textures inside those MTLs) are
24
+ * resolved relative to the input and only inside the input's directory tree.
25
+ * When the output lands in another directory they are copied alongside it; a
26
+ * missing or escaping dependency is a validation error there unless the caller
27
+ * asked for `geometryOnly`, because a "success" with a silently broken material
28
+ * is worse than a refusal. Every copy target is proven to lie inside the write
29
+ * root (`root`, i.e. the --workspace, else the output directory) on its *real*
30
+ * path before any directory is created or byte copied, and again right before
31
+ * publication — a symlinked `materials/` inside the target cannot redirect a
32
+ * copy outside. No env, no credentials, no network.
33
+ */
34
+ import { type Warning } from "./errors.js";
35
+ import { type AuthorisedRoot } from "./paths.js";
36
+ export type Vec3 = [number, number, number];
37
+ export interface Bbox {
38
+ min: Vec3;
39
+ max: Vec3;
40
+ }
41
+ export declare const OBJ_ROTATION: "(x,y,z)->(x,-z,y)";
42
+ export declare const DEFAULT_HEIGHT_MM = 75;
43
+ /** Same engineering ceiling as endpoint-contracts.json `limits.obj_bytes`. */
44
+ export declare const DEFAULT_MAX_OBJ_BYTES: number;
45
+ /** A rotated height at or below this is treated as degenerate (flat model). */
46
+ export declare const MIN_MODEL_HEIGHT = 0.000001;
47
+ export interface ObjTransformReport {
48
+ /** Absolute input path. */
49
+ input: string;
50
+ /** Absolute path of the written file (equals `input` when in place). */
51
+ output: string;
52
+ height_mm: number;
53
+ scale: number;
54
+ rotation: typeof OBJ_ROTATION;
55
+ translation: Vec3;
56
+ /** Bounding box of the input as written (its own axes and units). */
57
+ before_bbox: Bbox;
58
+ /** Bounding box of the output (Z-up, millimetres). */
59
+ after_bbox: Bbox;
60
+ counts: {
61
+ vertices: number;
62
+ normals: number;
63
+ uvs: number;
64
+ faces: number;
65
+ lines_total: number;
66
+ };
67
+ material: {
68
+ /** `mtllib` references as written, in order, deduplicated. */
69
+ mtllib: string[];
70
+ /** Absolute paths of dependencies copied next to the output by this run. */
71
+ copied: string[];
72
+ /** References (as written) that could not be resolved inside the input's directory. */
73
+ missing: string[];
74
+ };
75
+ in_place: boolean;
76
+ warnings: Warning[];
77
+ }
78
+ export interface PrepareObjOptions {
79
+ /** Target height in millimetres (default 75). Must be finite and > 0. */
80
+ heightMm?: number;
81
+ /** Explicit output file (or existing directory). Mutually exclusive with `inPlace`. */
82
+ outputPath?: string;
83
+ /** Replace the input itself via temp file + rename. */
84
+ inPlace?: boolean;
85
+ /** Never copy MTL/texture dependencies; missing ones become warnings only. */
86
+ geometryOnly?: boolean;
87
+ /** Refuse inputs larger than this many bytes (default 2 GiB). */
88
+ maxBytes?: number;
89
+ /**
90
+ * Authorised root for every write (the output and each copied dependency).
91
+ * Defaults to the output's directory; pass the --workspace (frozen with the
92
+ * flags) to confine writes to it. Checked on real paths against the frozen
93
+ * directory, so symlinked parents cannot escape it and a root replaced
94
+ * mid-run is refused.
95
+ */
96
+ root?: string | AuthorisedRoot;
97
+ }
98
+ export declare function rotateYUpToZUp(v: Vec3): Vec3;
99
+ /** Default output beside the input: `<stem>.print.obj`. */
100
+ export declare function defaultOutputPath(input: string): string;
101
+ /**
102
+ * Six fixed decimals (error ≤ 5e-7, inside the 1e-5 mm oracle tolerance) with
103
+ * trailing zeros trimmed so a unit box does not become a wall of `.000000`.
104
+ * `-0` never appears: a slicer gains nothing from a signed zero.
105
+ */
106
+ export declare function formatObjNumber(n: number): string;
107
+ /** Texture references (`map_Kd [-options] file`) inside an MTL. */
108
+ export declare function textureReferencesInMtl(text: string): string[];
109
+ /**
110
+ * Rotate, scale and ground an OBJ for printing. See the module comment for the
111
+ * maths and the file contract. Throws CliError (`validation` / `local_io` /
112
+ * `not_found`) or UsageError; on any failure no output file exists.
113
+ */
114
+ export declare function prepareObjForPrint(inputPath: string, opts?: PrepareObjOptions): Promise<ObjTransformReport>;
115
+ //# sourceMappingURL=obj-transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"obj-transform.d.ts","sourceRoot":"","sources":["../../src/internal/obj-transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAsBH,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAA4D,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG3G,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,IAAI,CAAC;CACX;AAED,eAAO,MAAM,YAAY,EAAG,mBAA4B,CAAC;AACzD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,QAAyB,CAAC;AAC5D,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,WAAO,CAAC;AAUrC,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,YAAY,CAAC;IAC9B,WAAW,EAAE,IAAI,CAAC;IAClB,qEAAqE;IACrE,WAAW,EAAE,IAAI,CAAC;IAClB,sDAAsD;IACtD,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACR,8DAA8D;QAC9D,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,4EAA4E;QAC5E,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,uFAAuF;QACvF,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;CAChC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAE5C;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKjD;AA8RD,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAe7D;AA0ID;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsKrH"}