@microsoft/typespec-msgraph 0.0.1-Preview.20 → 0.0.1-Preview.22

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 (271) hide show
  1. package/dist/src/components/annotations.js +2 -2
  2. package/dist/src/components/entity-container-element.d.ts.map +1 -1
  3. package/dist/src/components/entity-container-element.js +6 -2
  4. package/dist/src/components/entity-container-element.js.map +1 -1
  5. package/dist/src/components/enum-type-element.js +1 -1
  6. package/dist/src/components/enum-type-element.js.map +1 -1
  7. package/dist/src/components/property-element.d.ts.map +1 -1
  8. package/dist/src/components/property-element.js +2 -2
  9. package/dist/src/components/property-element.js.map +1 -1
  10. package/dist/src/components/schema-element.d.ts.map +1 -1
  11. package/dist/src/components/schema-element.js +4 -1
  12. package/dist/src/components/schema-element.js.map +1 -1
  13. package/dist/src/decorators/abstract.d.ts +2 -0
  14. package/dist/src/decorators/abstract.d.ts.map +1 -1
  15. package/dist/src/decorators/abstract.js +2 -0
  16. package/dist/src/decorators/abstract.js.map +1 -1
  17. package/dist/src/decorators/action.d.ts +2 -0
  18. package/dist/src/decorators/action.d.ts.map +1 -1
  19. package/dist/src/decorators/action.js +2 -0
  20. package/dist/src/decorators/action.js.map +1 -1
  21. package/dist/src/decorators/additional-query-parameters.d.ts +2 -0
  22. package/dist/src/decorators/additional-query-parameters.d.ts.map +1 -1
  23. package/dist/src/decorators/additional-query-parameters.js +2 -0
  24. package/dist/src/decorators/additional-query-parameters.js.map +1 -1
  25. package/dist/src/decorators/address-url-msa.d.ts +2 -0
  26. package/dist/src/decorators/address-url-msa.d.ts.map +1 -1
  27. package/dist/src/decorators/address-url-msa.js +2 -0
  28. package/dist/src/decorators/address-url-msa.js.map +1 -1
  29. package/dist/src/decorators/ags-attribute.d.ts +2 -2
  30. package/dist/src/decorators/ags-attribute.d.ts.map +1 -1
  31. package/dist/src/decorators/ags-attribute.js +24 -23
  32. package/dist/src/decorators/ags-attribute.js.map +1 -1
  33. package/dist/src/decorators/contains.d.ts +2 -0
  34. package/dist/src/decorators/contains.d.ts.map +1 -1
  35. package/dist/src/decorators/contains.js +2 -0
  36. package/dist/src/decorators/contains.js.map +1 -1
  37. package/dist/src/decorators/deprecated-definition.d.ts +2 -0
  38. package/dist/src/decorators/deprecated-definition.d.ts.map +1 -1
  39. package/dist/src/decorators/deprecated-definition.js.map +1 -1
  40. package/dist/src/decorators/expand.d.ts +2 -0
  41. package/dist/src/decorators/expand.d.ts.map +1 -1
  42. package/dist/src/decorators/expand.js +2 -0
  43. package/dist/src/decorators/expand.js.map +1 -1
  44. package/dist/src/decorators/experimental.d.ts +2 -0
  45. package/dist/src/decorators/experimental.d.ts.map +1 -1
  46. package/dist/src/decorators/experimental.js +2 -0
  47. package/dist/src/decorators/experimental.js.map +1 -1
  48. package/dist/src/decorators/function.d.ts +2 -0
  49. package/dist/src/decorators/function.d.ts.map +1 -1
  50. package/dist/src/decorators/function.js +3 -1
  51. package/dist/src/decorators/function.js.map +1 -1
  52. package/dist/src/decorators/global-operation.d.ts +2 -0
  53. package/dist/src/decorators/global-operation.d.ts.map +1 -1
  54. package/dist/src/decorators/global-operation.js +2 -0
  55. package/dist/src/decorators/global-operation.js.map +1 -1
  56. package/dist/src/decorators/graph-deprecated.d.ts +2 -0
  57. package/dist/src/decorators/graph-deprecated.d.ts.map +1 -1
  58. package/dist/src/decorators/graph-deprecated.js +2 -0
  59. package/dist/src/decorators/graph-deprecated.js.map +1 -1
  60. package/dist/src/decorators/graph-route.d.ts +2 -0
  61. package/dist/src/decorators/graph-route.d.ts.map +1 -1
  62. package/dist/src/decorators/graph-route.js +33 -1
  63. package/dist/src/decorators/graph-route.js.map +1 -1
  64. package/dist/src/decorators/graphFlags.d.ts +11 -0
  65. package/dist/src/decorators/graphFlags.d.ts.map +1 -0
  66. package/dist/src/decorators/graphFlags.js +15 -0
  67. package/dist/src/decorators/graphFlags.js.map +1 -0
  68. package/dist/src/decorators/immutable.d.ts +2 -0
  69. package/dist/src/decorators/immutable.d.ts.map +1 -1
  70. package/dist/src/decorators/immutable.js +2 -0
  71. package/dist/src/decorators/immutable.js.map +1 -1
  72. package/dist/src/decorators/index.d.ts +2 -1
  73. package/dist/src/decorators/index.d.ts.map +1 -1
  74. package/dist/src/decorators/index.js +2 -1
  75. package/dist/src/decorators/index.js.map +1 -1
  76. package/dist/src/decorators/is-owner.d.ts +2 -0
  77. package/dist/src/decorators/is-owner.d.ts.map +1 -1
  78. package/dist/src/decorators/is-owner.js +2 -0
  79. package/dist/src/decorators/is-owner.js.map +1 -1
  80. package/dist/src/decorators/limited-charset.d.ts +2 -0
  81. package/dist/src/decorators/limited-charset.d.ts.map +1 -1
  82. package/dist/src/decorators/limited-charset.js +2 -0
  83. package/dist/src/decorators/limited-charset.js.map +1 -1
  84. package/dist/src/decorators/media.d.ts +2 -0
  85. package/dist/src/decorators/media.d.ts.map +1 -1
  86. package/dist/src/decorators/media.js +2 -0
  87. package/dist/src/decorators/media.js.map +1 -1
  88. package/dist/src/decorators/open.d.ts +2 -0
  89. package/dist/src/decorators/open.d.ts.map +1 -1
  90. package/dist/src/decorators/open.js +2 -0
  91. package/dist/src/decorators/open.js.map +1 -1
  92. package/dist/src/decorators/operation-parameters.d.ts +2 -0
  93. package/dist/src/decorators/operation-parameters.d.ts.map +1 -1
  94. package/dist/src/decorators/operation-parameters.js +2 -0
  95. package/dist/src/decorators/operation-parameters.js.map +1 -1
  96. package/dist/src/decorators/ownerless.d.ts +2 -0
  97. package/dist/src/decorators/ownerless.d.ts.map +1 -1
  98. package/dist/src/decorators/ownerless.js +2 -0
  99. package/dist/src/decorators/ownerless.js.map +1 -1
  100. package/dist/src/decorators/passthrough-address-url-msa.d.ts +4 -1
  101. package/dist/src/decorators/passthrough-address-url-msa.d.ts.map +1 -1
  102. package/dist/src/decorators/passthrough-address-url-msa.js +4 -1
  103. package/dist/src/decorators/passthrough-address-url-msa.js.map +1 -1
  104. package/dist/src/decorators/passthrough-address-url.d.ts +4 -1
  105. package/dist/src/decorators/passthrough-address-url.d.ts.map +1 -1
  106. package/dist/src/decorators/passthrough-address-url.js +4 -1
  107. package/dist/src/decorators/passthrough-address-url.js.map +1 -1
  108. package/dist/src/decorators/prefixed-graph-routes.d.ts +10 -0
  109. package/dist/src/decorators/prefixed-graph-routes.d.ts.map +1 -0
  110. package/dist/src/decorators/prefixed-graph-routes.js +27 -0
  111. package/dist/src/decorators/prefixed-graph-routes.js.map +1 -0
  112. package/dist/src/decorators/private-preview.d.ts +2 -2
  113. package/dist/src/decorators/private-preview.d.ts.map +1 -1
  114. package/dist/src/decorators/private-preview.js.map +1 -1
  115. package/dist/src/decorators/privileged.d.ts +2 -0
  116. package/dist/src/decorators/privileged.d.ts.map +1 -1
  117. package/dist/src/decorators/privileged.js +2 -0
  118. package/dist/src/decorators/privileged.js.map +1 -1
  119. package/dist/src/decorators/read-only.d.ts +2 -0
  120. package/dist/src/decorators/read-only.d.ts.map +1 -1
  121. package/dist/src/decorators/read-only.js +2 -0
  122. package/dist/src/decorators/read-only.js.map +1 -1
  123. package/dist/src/decorators/reference-target.d.ts +1 -0
  124. package/dist/src/decorators/reference-target.d.ts.map +1 -1
  125. package/dist/src/decorators/reference-target.js +1 -0
  126. package/dist/src/decorators/reference-target.js.map +1 -1
  127. package/dist/src/decorators/references.d.ts +2 -0
  128. package/dist/src/decorators/references.d.ts.map +1 -1
  129. package/dist/src/decorators/references.js +2 -0
  130. package/dist/src/decorators/references.js.map +1 -1
  131. package/dist/src/decorators/return-source.d.ts +2 -0
  132. package/dist/src/decorators/return-source.d.ts.map +1 -1
  133. package/dist/src/decorators/return-source.js +2 -0
  134. package/dist/src/decorators/return-source.js.map +1 -1
  135. package/dist/src/decorators/select.d.ts +2 -0
  136. package/dist/src/decorators/select.d.ts.map +1 -1
  137. package/dist/src/decorators/select.js +2 -0
  138. package/dist/src/decorators/select.js.map +1 -1
  139. package/dist/src/decorators/workload-name-msa.d.ts +2 -0
  140. package/dist/src/decorators/workload-name-msa.d.ts.map +1 -1
  141. package/dist/src/decorators/workload-name-msa.js +2 -0
  142. package/dist/src/decorators/workload-name-msa.js.map +1 -1
  143. package/dist/src/decorators/workload-name.d.ts +2 -0
  144. package/dist/src/decorators/workload-name.d.ts.map +1 -1
  145. package/dist/src/decorators/workload-name.js +2 -0
  146. package/dist/src/decorators/workload-name.js.map +1 -1
  147. package/dist/src/decorators/workload-namespace.d.ts +2 -0
  148. package/dist/src/decorators/workload-namespace.d.ts.map +1 -1
  149. package/dist/src/decorators/workload-namespace.js +2 -0
  150. package/dist/src/decorators/workload-namespace.js.map +1 -1
  151. package/dist/src/decorators/write-only.d.ts +2 -0
  152. package/dist/src/decorators/write-only.d.ts.map +1 -1
  153. package/dist/src/decorators/write-only.js +2 -0
  154. package/dist/src/decorators/write-only.js.map +1 -1
  155. package/dist/src/emitter.d.ts.map +1 -1
  156. package/dist/src/emitter.js +9 -6
  157. package/dist/src/emitter.js.map +1 -1
  158. package/dist/src/entities/address-url.js +2 -2
  159. package/dist/src/entities/address-url.js.map +1 -1
  160. package/dist/src/entities/annotations.d.ts +2 -2
  161. package/dist/src/entities/annotations.d.ts.map +1 -1
  162. package/dist/src/entities/annotations.js +15 -15
  163. package/dist/src/entities/annotations.js.map +1 -1
  164. package/dist/src/entities/entity-container.d.ts +3 -0
  165. package/dist/src/entities/entity-container.d.ts.map +1 -1
  166. package/dist/src/entities/entity-container.js +3 -0
  167. package/dist/src/entities/entity-container.js.map +1 -1
  168. package/dist/src/entities/enum.d.ts +1 -1
  169. package/dist/src/entities/enum.d.ts.map +1 -1
  170. package/dist/src/entities/enum.js +8 -6
  171. package/dist/src/entities/enum.js.map +1 -1
  172. package/dist/src/entities/model.d.ts +19 -11
  173. package/dist/src/entities/model.d.ts.map +1 -1
  174. package/dist/src/entities/model.js +100 -34
  175. package/dist/src/entities/model.js.map +1 -1
  176. package/dist/src/entities/ms-graph-route.d.ts.map +1 -1
  177. package/dist/src/entities/ms-graph-route.js +6 -9
  178. package/dist/src/entities/ms-graph-route.js.map +1 -1
  179. package/dist/src/entities/namespace.d.ts +12 -0
  180. package/dist/src/entities/namespace.d.ts.map +1 -1
  181. package/dist/src/entities/namespace.js +176 -17
  182. package/dist/src/entities/namespace.js.map +1 -1
  183. package/dist/src/entities/operation.d.ts +5 -0
  184. package/dist/src/entities/operation.d.ts.map +1 -1
  185. package/dist/src/entities/operation.js +59 -3
  186. package/dist/src/entities/operation.js.map +1 -1
  187. package/dist/src/entities/revision-definition.d.ts +2 -2
  188. package/dist/src/entities/revision-definition.d.ts.map +1 -1
  189. package/dist/src/entities/revision-definition.js +14 -3
  190. package/dist/src/entities/revision-definition.js.map +1 -1
  191. package/dist/src/index.d.ts +1 -0
  192. package/dist/src/index.d.ts.map +1 -1
  193. package/dist/src/index.js +1 -0
  194. package/dist/src/index.js.map +1 -1
  195. package/dist/src/lib.d.ts +11 -0
  196. package/dist/src/lib.d.ts.map +1 -1
  197. package/dist/src/lib.js +10 -2
  198. package/dist/src/lib.js.map +1 -1
  199. package/dist/src/linter.d.ts.map +1 -1
  200. package/dist/src/linter.js +14 -2
  201. package/dist/src/linter.js.map +1 -1
  202. package/dist/src/rules/address-url.d.ts +1 -0
  203. package/dist/src/rules/address-url.d.ts.map +1 -1
  204. package/dist/src/rules/address-url.js +85 -3
  205. package/dist/src/rules/address-url.js.map +1 -1
  206. package/dist/src/rules/delta.d.ts.map +1 -1
  207. package/dist/src/rules/delta.js +6 -7
  208. package/dist/src/rules/delta.js.map +1 -1
  209. package/dist/src/rules/documentation.d.ts +4 -0
  210. package/dist/src/rules/documentation.d.ts.map +1 -0
  211. package/dist/src/rules/documentation.js +88 -0
  212. package/dist/src/rules/documentation.js.map +1 -0
  213. package/dist/src/rules/entity.d.ts +3 -0
  214. package/dist/src/rules/entity.d.ts.map +1 -1
  215. package/dist/src/rules/entity.js +32 -5
  216. package/dist/src/rules/entity.js.map +1 -1
  217. package/dist/src/rules/enum.d.ts +2 -0
  218. package/dist/src/rules/enum.d.ts.map +1 -1
  219. package/dist/src/rules/enum.js +27 -1
  220. package/dist/src/rules/enum.js.map +1 -1
  221. package/dist/src/rules/expand.d.ts.map +1 -1
  222. package/dist/src/rules/expand.js +3 -6
  223. package/dist/src/rules/expand.js.map +1 -1
  224. package/dist/src/rules/filter.js +7 -7
  225. package/dist/src/rules/filter.js.map +1 -1
  226. package/dist/src/rules/function.d.ts +1 -0
  227. package/dist/src/rules/function.d.ts.map +1 -1
  228. package/dist/src/rules/function.js +39 -0
  229. package/dist/src/rules/function.js.map +1 -1
  230. package/dist/src/rules/graph-route.d.ts +1 -0
  231. package/dist/src/rules/graph-route.d.ts.map +1 -1
  232. package/dist/src/rules/graph-route.js +72 -1
  233. package/dist/src/rules/graph-route.js.map +1 -1
  234. package/dist/src/rules/index.d.ts +1 -0
  235. package/dist/src/rules/index.d.ts.map +1 -1
  236. package/dist/src/rules/index.js +1 -0
  237. package/dist/src/rules/index.js.map +1 -1
  238. package/dist/src/rules/model.d.ts +5 -0
  239. package/dist/src/rules/model.d.ts.map +1 -1
  240. package/dist/src/rules/model.js +73 -3
  241. package/dist/src/rules/model.js.map +1 -1
  242. package/dist/src/rules/operation-inside-interface.d.ts +3 -0
  243. package/dist/src/rules/operation-inside-interface.d.ts.map +1 -1
  244. package/dist/src/rules/operation-inside-interface.js +36 -2
  245. package/dist/src/rules/operation-inside-interface.js.map +1 -1
  246. package/dist/src/rules/order-by.js +3 -3
  247. package/dist/src/rules/order-by.js.map +1 -1
  248. package/dist/src/rules/ownerless.d.ts.map +1 -1
  249. package/dist/src/rules/ownerless.js +3 -6
  250. package/dist/src/rules/ownerless.js.map +1 -1
  251. package/dist/src/rules/record-t.d.ts +6 -0
  252. package/dist/src/rules/record-t.d.ts.map +1 -1
  253. package/dist/src/rules/record-t.js +48 -1
  254. package/dist/src/rules/record-t.js.map +1 -1
  255. package/dist/src/rules/required-for-create.d.ts.map +1 -1
  256. package/dist/src/rules/required-for-create.js +4 -5
  257. package/dist/src/rules/required-for-create.js.map +1 -1
  258. package/dist/src/utils.d.ts +20 -4
  259. package/dist/src/utils.d.ts.map +1 -1
  260. package/dist/src/utils.js +222 -113
  261. package/dist/src/utils.js.map +1 -1
  262. package/dist/src/validate.d.ts.map +1 -1
  263. package/dist/src/validate.js +5 -0
  264. package/dist/src/validate.js.map +1 -1
  265. package/lib/decorators.tsp +24 -12
  266. package/lib/shared-models.tsp +5 -0
  267. package/package.json +4 -5
  268. package/dist/src/decorators/flags.d.ts +0 -9
  269. package/dist/src/decorators/flags.d.ts.map +0 -1
  270. package/dist/src/decorators/flags.js +0 -13
  271. package/dist/src/decorators/flags.js.map +0 -1
@@ -57,7 +57,7 @@ extern dec addressUrlMsa(
57
57
  * `@agsAttribute` - Applies to models.
58
58
  */
59
59
  extern dec agsAttribute(
60
- target: Model | ModelProperty | Enum | EnumMember | Operation | Interface,
60
+ target: Model | ModelProperty | Enum | EnumMember | Operation | Interface | Namespace,
61
61
  name: valueof string,
62
62
  value: valueof string
63
63
  );
@@ -198,26 +198,27 @@ extern dec filter(
198
198
  ...properties: valueof string[]
199
199
  );
200
200
 
201
- /**
202
- * `@flags` - mark an enumeration type as a flag.
203
- *
204
- * `@flags` can only be applied to enums.
205
- */
206
- extern dec flags(target: Enum);
207
201
 
208
202
  /**
209
203
  * `@function` - mark an operation as a function
210
- *
211
- * `@function` can only be applied to operations.
212
- */
204
+ *
205
+ * `@function` can only be applied to operations.
206
+ */
213
207
  extern dec function(target: Operation, name?: valueof string | null, isComposable?: valueof boolean);
214
208
 
215
209
  /**
216
210
  * `@globalOperation` - mark an operation as a globalOperation
211
+ *
212
+ * `@globalOperation` can only be applied to operations.
213
+ */
214
+ extern dec globalOperation(target: Operation);
215
+
216
+ /**
217
+ * `@graphFlags` - mark an enumeration type as a flag.
217
218
  *
218
- * `@globalOperation` can only be applied to operations.
219
+ * `@graphFlags` can only be applied to enums.
219
220
  */
220
- extern dec globalOperation(target: Operation);
221
+ extern dec graphFlags(target: Enum);
221
222
 
222
223
  /**
223
224
  * `@graphRoute` - mark an interface or operation with an HTTP route.
@@ -325,6 +326,17 @@ extern dec passthroughAddressUrlMsa(
325
326
  url: valueof string
326
327
  );
327
328
 
329
+ /**
330
+ * `@prefixedGraphRoutes` - mark an interface or operation with multiple HTTP routes based on catenating a set of prefixes to a path.
331
+ *
332
+ * `@prefixedGraphRoutes` - can only be applied to interfaces.
333
+ */
334
+ extern dec prefixedGraphRoutes(
335
+ target: Interface,
336
+ prefixes: string[],
337
+ path?: valueof string
338
+ );
339
+
328
340
  /**
329
341
  * `@privatePreview` - Allow us define a privatePreview element.
330
342
  * `@privatePreview` - Applies to models, model properties, enums, enum members, namespaces and operations.
@@ -23,3 +23,8 @@ namespace MsGraph.SharedModels;
23
23
  @doc("Scalar type for URLs that represent Graph APIs.")
24
24
  scalar graphUrl extends url;
25
25
 
26
+ @doc("A dictionary of name-value pairs. Names must be valid property names, values may be restricted to a list of types via an annotation with term `Validation.OpenPropertyTypeConstraint")
27
+ @open
28
+ @complex
29
+ model Dictionary {}
30
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/typespec-msgraph",
3
- "version": "0.0.1-Preview.20",
3
+ "version": "0.0.1-Preview.22",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec for Microsoft Graph provides a description of the Microsoft Graph APIs. It is used for generating API description languages, client and service code, documentation, and other assets.",
6
6
  "homepage": "https://github.com/microsoftgraph/typespec-msgraph",
@@ -53,8 +53,8 @@
53
53
  ],
54
54
  "dependencies": {
55
55
  "@xmldom/xmldom": "~0.8.4",
56
- "@typespec/compiler": "~0.55.0",
57
- "@typespec/http": "~0.55.0",
56
+ "@typespec/compiler": "~0.57.0",
57
+ "@typespec/http": "~0.57.0",
58
58
  "prettier": "~3.2.5",
59
59
  "react-dom": "~18.3.1",
60
60
  "react": "~18.3.1",
@@ -65,7 +65,6 @@
65
65
  "@types/node": "~20.12.7",
66
66
  "@types/react": "~18.3.1",
67
67
  "@types/react-reconciler": "~0.28.0",
68
- "@typespec/eslint-config-typespec": "~0.55.0",
69
68
  "c8": "~9.1.0",
70
69
  "eslint": "^9.1.1",
71
70
  "mocha": "~10.4.0",
@@ -73,6 +72,6 @@
73
72
  "typescript": "~5.4.5",
74
73
  "xpath": "~0.0.32",
75
74
  "tsx": "~4.8.1",
76
- "source-map-support": "latest"
75
+ "source-map-support": "~0.5.21"
77
76
  }
78
77
  }
@@ -1,9 +0,0 @@
1
- import { DecoratorContext, Enum, Program } from "@typespec/compiler";
2
- /**
3
- * `@flags` - mark an enum as a flag.
4
- *
5
- * `@flags` can only be applied to enums.
6
- */
7
- export declare function $flags(context: DecoratorContext, target: Enum): void;
8
- export declare function isFlags(program: Program, target: Enum): boolean;
9
- //# sourceMappingURL=flags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/decorators/flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIrE;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,QAE7D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,WAErD"}
@@ -1,13 +0,0 @@
1
- const flagsKey = Symbol("flags");
2
- /**
3
- * `@flags` - mark an enum as a flag.
4
- *
5
- * `@flags` can only be applied to enums.
6
- */
7
- export function $flags(context, target) {
8
- context.program.stateSet(flagsKey).add(target);
9
- }
10
- export function isFlags(program, target) {
11
- return program.stateSet(flagsKey).has(target);
12
- }
13
- //# sourceMappingURL=flags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../src/decorators/flags.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,OAAyB,EAAE,MAAY;IAC5D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAY;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}