@json-layout/vocabulary 0.17.0 → 0.19.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@json-layout/vocabulary",
3
- "version": "0.17.0",
3
+ "version": "0.19.0",
4
4
  "description": "Main JSON Layout vocabulary as JSON schemas and Typescript types. Also contains some small utility functions to validate and normalize annotations.",
5
5
  "type": "module",
6
6
  "exports": {
package/src/normalize.js CHANGED
@@ -16,25 +16,41 @@ import { getComponentValidate } from './validate.js'
16
16
 
17
17
  /**
18
18
  * @param {import('./types.js').SchemaFragment} schemaFragment
19
+ * @param {string} type
19
20
  * @returns {Children}
20
21
  */
21
- function getDefaultChildren (schemaFragment) {
22
- const { type } = getSchemaFragmentType(schemaFragment)
22
+ function getDefaultChildren (schemaFragment, type) {
23
23
  /** @type {Children} */
24
24
  const children = []
25
25
  if (type === 'object') {
26
- if (schemaFragment.properties) {
27
- for (const key of Object.keys(schemaFragment.properties)) {
28
- children.push({ key })
26
+ for (const key of Object.keys(schemaFragment)) {
27
+ if (key === 'properties') {
28
+ for (const key of Object.keys(schemaFragment.properties ?? {})) {
29
+ children.push({ key })
30
+ if (schemaFragment.dependencies?.[key] && !Array.isArray(schemaFragment.dependencies[key])) {
31
+ children.push({ key: `$deps-${key}` })
32
+ }
33
+ if (schemaFragment.dependentSchemas && schemaFragment.dependentSchemas[key]) {
34
+ children.push({ key: `$deps-${key}` })
35
+ }
36
+ }
29
37
  }
30
- }
31
- if (schemaFragment.allOf?.length) {
32
- for (let i = 0; i < schemaFragment.allOf.length; i++) {
33
- children.push({ key: `$allOf-${i}` })
38
+ if (key === 'allOf') {
39
+ if (schemaFragment.allOf?.length) {
40
+ for (let i = 0; i < schemaFragment.allOf.length; i++) {
41
+ children.push({ key: `$allOf-${i}` })
42
+ }
43
+ }
44
+ }
45
+ if (key === 'oneOf') {
46
+ children.push({ key: '$oneOf' })
47
+ }
48
+ if (key === 'then' && schemaFragment.if) {
49
+ children.push({ key: '$then' })
50
+ }
51
+ if (key === 'else' && schemaFragment.if) {
52
+ children.push({ key: '$else' })
34
53
  }
35
- }
36
- if (schemaFragment.oneOf) {
37
- children.push({ key: '$oneOf' })
38
54
  }
39
55
  }
40
56
  if (type === 'array' && Array.isArray(schemaFragment.items)) {
@@ -84,11 +100,11 @@ function getChildren (defaultChildren, partialChildren) {
84
100
  /**
85
101
  * @param {PartialCompObject} partial
86
102
  * @param {SchemaFragment} schemaFragment
103
+ * @param {string | undefined} type
87
104
  * @param {'oneOf'} [arrayChild]
88
105
  * @returns {import('./index.js').ComponentName}
89
106
  */
90
- function getDefaultComp (partial, schemaFragment, arrayChild) {
91
- const { type } = getSchemaFragmentType(schemaFragment)
107
+ function getDefaultComp (partial, schemaFragment, type, arrayChild) {
92
108
  const hasSimpleType = type && ['string', 'integer', 'number'].includes(type)
93
109
  if (arrayChild === 'oneOf') return 'one-of-select'
94
110
  if (hasSimpleType && schemaFragment.enum) return schemaFragment.enum.length > 20 ? 'autocomplete' : 'select'
@@ -103,6 +119,7 @@ function getDefaultComp (partial, schemaFragment, arrayChild) {
103
119
  if (isPartialGetItemsFetch(partial.getItems)) {
104
120
  if (partial.getItems.qSearchParam) return 'autocomplete'
105
121
  if (typeof partial.getItems.url === 'string' && partial.getItems.url.includes('{q}')) return 'autocomplete'
122
+ if (typeof partial.getItems.url === 'object' && typeof partial.getItems.url.expr === 'string' && partial.getItems.url.expr.includes('{q}')) return 'autocomplete'
106
123
  }
107
124
  return 'select'
108
125
  }
@@ -232,6 +249,8 @@ export const getSchemaFragmentType = (schemaFragment) => {
232
249
  /**
233
250
  * @param {LayoutKeyword} layoutKeyword
234
251
  * @param {SchemaFragment} schemaFragment
252
+ * @param {string | undefined} type
253
+ * @param {boolean} nullable
235
254
  * @param {string} schemaPath
236
255
  * @param {Record<string, import('./types.js').ComponentInfo>} components
237
256
  * @param {(text: string) => string} markdown
@@ -239,11 +258,9 @@ export const getSchemaFragmentType = (schemaFragment) => {
239
258
  * @param {'oneOf'} [arrayChild]
240
259
  * @returns {BaseCompObject}
241
260
  */
242
- function getCompObject (layoutKeyword, schemaFragment, schemaPath, components, markdown, optionsKeys, arrayChild) {
261
+ function getCompObject (layoutKeyword, schemaFragment, type, nullable, schemaPath, components, markdown, optionsKeys, arrayChild) {
243
262
  const key = schemaPath.slice(schemaPath.lastIndexOf('/') + 1)
244
263
 
245
- const { type, nullable } = getSchemaFragmentType(schemaFragment)
246
-
247
264
  if ('const' in schemaFragment) return { comp: 'none' }
248
265
  if (!type) return { comp: 'none' }
249
266
 
@@ -255,7 +272,7 @@ function getCompObject (layoutKeyword, schemaFragment, schemaPath, components, m
255
272
 
256
273
  // chose the default component for a schema fragment
257
274
  if (!partial.comp) {
258
- partial.comp = getDefaultComp(partial, schemaFragment, arrayChild)
275
+ partial.comp = getDefaultComp(partial, schemaFragment, type, arrayChild)
259
276
  }
260
277
  const component = components[partial.comp]
261
278
  if (!component) {
@@ -267,7 +284,7 @@ function getCompObject (layoutKeyword, schemaFragment, schemaPath, components, m
267
284
 
268
285
  if (component.composite) {
269
286
  if (!('title' in partial)) partial.title = schemaFragment.title ?? null
270
- partial.children = getChildren(getDefaultChildren(schemaFragment), partial.children)
287
+ partial.children = getChildren(getDefaultChildren(schemaFragment, type), partial.children)
271
288
  } else if (partial.comp === 'list') {
272
289
  if (!('title' in partial)) partial.title = schemaFragment.title ?? key
273
290
  partial.listEditMode = partial.listEditMode ?? (schemaFragment.items.type === 'object' ? 'inline-single' : 'inline')
@@ -288,8 +305,9 @@ function getCompObject (layoutKeyword, schemaFragment, schemaPath, components, m
288
305
  if (items) {
289
306
  if (partial.getItems && isPartialGetItemsObj(partial.getItems)) {
290
307
  partial.getItems.expr = JSON.stringify(items)
308
+ partial.getItems.immutable = true
291
309
  } else {
292
- partial.getItems = JSON.stringify(items)
310
+ partial.getItems = { expr: JSON.stringify(items), immutable: true }
293
311
  }
294
312
  }
295
313
  }
@@ -414,6 +432,8 @@ function getCompObject (layoutKeyword, schemaFragment, schemaPath, components, m
414
432
  /**
415
433
  * @param {LayoutKeyword} layoutKeyword
416
434
  * @param {SchemaFragment} schemaFragment
435
+ * @param {string | undefined} type
436
+ * @param {boolean} nullable
417
437
  * @param {string} schemaPath
418
438
  * @param {Record<string, import('./types.js').ComponentInfo>} components
419
439
  * @param {(text: string) => string} markdown
@@ -421,7 +441,7 @@ function getCompObject (layoutKeyword, schemaFragment, schemaPath, components, m
421
441
  * @param {'oneOf'} [arrayChild]
422
442
  * @returns {NormalizedLayout}}
423
443
  */
424
- function getNormalizedLayout (layoutKeyword, schemaFragment, schemaPath, components, markdown, optionsKeys, arrayChild) {
444
+ function getNormalizedLayout (layoutKeyword, schemaFragment, type, nullable, schemaPath, components, markdown, optionsKeys, arrayChild) {
425
445
  if (isPartialSwitch(layoutKeyword)) {
426
446
  /** @type {BaseCompObject[]} */
427
447
  const normalizedSwitchCases = []
@@ -431,12 +451,12 @@ function getNormalizedLayout (layoutKeyword, schemaFragment, schemaPath, compone
431
451
  }
432
452
  for (let i = 0; i < switchCases.length; i++) {
433
453
  const switchCase = switchCases[i]
434
- const compObjectResult = getCompObject(switchCase, schemaFragment, schemaPath, components, markdown, optionsKeys, arrayChild)
454
+ const compObjectResult = getCompObject(switchCase, schemaFragment, type, nullable, schemaPath, components, markdown, optionsKeys, arrayChild)
435
455
  normalizedSwitchCases.push(compObjectResult)
436
456
  }
437
457
  return { switch: normalizedSwitchCases }
438
458
  } else {
439
- return getCompObject(layoutKeyword, schemaFragment, schemaPath, components, markdown, optionsKeys, arrayChild)
459
+ return getCompObject(layoutKeyword, schemaFragment, type, nullable, schemaPath, components, markdown, optionsKeys, arrayChild)
440
460
  }
441
461
  }
442
462
 
@@ -479,6 +499,8 @@ const defaultOptionsKeys = ['readOnly', 'summary', 'titleDepth', 'density', 'rem
479
499
 
480
500
  /**
481
501
  * @param {SchemaFragment} schemaFragment
502
+ * @param {string | undefined} type
503
+ * @param {boolean} nullable
482
504
  * @param {string} schemaPath
483
505
  * @param {Record<string, import('./types.js').ComponentInfo>} components
484
506
  * @param {(text: string) => string} markdown
@@ -486,7 +508,7 @@ const defaultOptionsKeys = ['readOnly', 'summary', 'titleDepth', 'density', 'rem
486
508
  * @param {'oneOf'} [arrayChild]
487
509
  * @returns {NormalizedLayout}
488
510
  */
489
- function normalizeValidLayoutFragment (schemaFragment, schemaPath, components, markdown, optionsKeys, arrayChild) {
511
+ function normalizeValidLayoutFragment (schemaFragment, type, nullable, schemaPath, components, markdown, optionsKeys, arrayChild) {
490
512
  optionsKeys = optionsKeys ? optionsKeys.concat(defaultOptionsKeys) : defaultOptionsKeys
491
513
  let layoutKeyword
492
514
  if (arrayChild === 'oneOf') {
@@ -499,7 +521,7 @@ function normalizeValidLayoutFragment (schemaFragment, schemaPath, components, m
499
521
  error.cause = lighterValidationErrors(validateLayoutKeyword.errors)
500
522
  throw error
501
523
  }
502
- const normalizedLayout = getNormalizedLayout(layoutKeyword, schemaFragment, schemaPath, components, markdown, optionsKeys, arrayChild)
524
+ const normalizedLayout = getNormalizedLayout(layoutKeyword, schemaFragment, type, nullable, schemaPath, components, markdown, optionsKeys, arrayChild)
503
525
 
504
526
  if (!validateNormalizedLayout(normalizedLayout)) {
505
527
  const error = new Error('normalized layout validation errors at path')
@@ -516,20 +538,23 @@ function normalizeValidLayoutFragment (schemaFragment, schemaPath, components, m
516
538
  * @param {(text: string) => string} markdown
517
539
  * @param {string[]} [optionsKeys]
518
540
  * @param {'oneOf'} [arrayChild]
541
+ * @param {string | undefined} [knownType]
542
+ * @param {boolean} [knownNullable]
519
543
  * @returns {{layout: NormalizedLayout, errors: string[]}}
520
544
  */
521
- export function normalizeLayoutFragment (schemaFragment, schemaPath, components, markdown = (src) => src, optionsKeys, arrayChild) {
545
+ export function normalizeLayoutFragment (schemaFragment, schemaPath, components, markdown = (src) => src, optionsKeys, arrayChild, knownType, knownNullable) {
546
+ const { type, nullable } = knownType ? { type: knownType, nullable: knownNullable ?? false } : getSchemaFragmentType(schemaFragment)
522
547
  /** @type {string[]} */
523
548
  const errors = []
524
549
  try {
525
- const layout = normalizeValidLayoutFragment(schemaFragment, schemaPath, components, markdown, optionsKeys, arrayChild)
550
+ const layout = normalizeValidLayoutFragment(schemaFragment, type, nullable, schemaPath, components, markdown, optionsKeys, arrayChild)
526
551
  return { layout, errors }
527
552
  } catch (/** @type {any} */err) {
528
553
  try {
529
554
  errors.push(err.message)
530
555
  if (err.cause && Array.isArray(err.cause)) errors.push(...err.cause)
531
556
  errors.push('failed to normalize layout, use default component')
532
- const layout = normalizeValidLayoutFragment({ ...schemaFragment, layout: {} }, schemaPath, components, markdown, optionsKeys, arrayChild)
557
+ const layout = normalizeValidLayoutFragment({ ...schemaFragment, layout: {} }, type, nullable, schemaPath, components, markdown, optionsKeys, arrayChild)
533
558
  return { layout, errors }
534
559
  } catch (/** @type {any} */err) {
535
560
  errors.push(err.message)
@@ -349,6 +349,9 @@ export default {
349
349
  },
350
350
  "itemIcon": {
351
351
  "$ref": "#/$defs/expression"
352
+ },
353
+ "immutable": {
354
+ "type": "boolean"
352
355
  }
353
356
  }
354
357
  },
@@ -185,7 +185,8 @@
185
185
  "itemTitle": {"$ref": "#/$defs/expression"},
186
186
  "itemKey": {"$ref": "#/$defs/expression"},
187
187
  "itemValue": {"$ref": "#/$defs/expression"},
188
- "itemIcon": {"$ref": "#/$defs/expression"}
188
+ "itemIcon": {"$ref": "#/$defs/expression"},
189
+ "immutable": {"type": "boolean"}
189
190
  }
190
191
  },
191
192
  {
@@ -115,6 +115,7 @@ export type GetItems = {
115
115
  itemKey?: Expression;
116
116
  itemValue?: Expression;
117
117
  itemIcon?: Expression;
118
+ immutable?: boolean;
118
119
  [k: string]: unknown;
119
120
  } & (Expression | GetItemsFetch);
120
121
  /**
package/src/types.ts CHANGED
@@ -19,6 +19,11 @@ export interface SchemaFragment {
19
19
  formatMinimum?: string
20
20
  formatMaximum?: string
21
21
  readOnly?: boolean
22
+ if?: any
23
+ then?: any
24
+ else?: any
25
+ dependencies?: Record<string, any>
26
+ dependentSchemas?: Record<string, any>
22
27
  }
23
28
 
24
29
  export interface ComponentInfo {
@@ -5,9 +5,11 @@
5
5
  * @param {(text: string) => string} markdown
6
6
  * @param {string[]} [optionsKeys]
7
7
  * @param {'oneOf'} [arrayChild]
8
+ * @param {string | undefined} [knownType]
9
+ * @param {boolean} [knownNullable]
8
10
  * @returns {{layout: NormalizedLayout, errors: string[]}}
9
11
  */
10
- export function normalizeLayoutFragment(schemaFragment: SchemaFragment, schemaPath: string, components: Record<string, import('./types.js').ComponentInfo>, markdown?: (text: string) => string, optionsKeys?: string[] | undefined, arrayChild?: "oneOf" | undefined): {
12
+ export function normalizeLayoutFragment(schemaFragment: SchemaFragment, schemaPath: string, components: Record<string, import('./types.js').ComponentInfo>, markdown?: (text: string) => string, optionsKeys?: string[] | undefined, arrayChild?: "oneOf" | undefined, knownType?: string | undefined, knownNullable?: boolean | undefined): {
11
13
  layout: NormalizedLayout;
12
14
  errors: string[];
13
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.js"],"names":[],"mappings":"AA+fA;;;;;;;;GAQG;AACH,wDARW,cAAc,cACd,MAAM,cACN,OAAO,MAAM,EAAE,OAAO,YAAY,EAAE,aAAa,CAAC,oBAC3C,MAAM,KAAK,MAAM;YAGb,gBAAgB;YAAU,MAAM,EAAE;EAsBvD;AApVM,sDAHI,cAAc,GACZ;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,CA+BzD;oBAhOY,OAAO,YAAY,EAAE,KAAK;uBAC1B,OAAO,YAAY,EAAE,QAAQ;6BAC7B,OAAO,YAAY,EAAE,cAAc;yBACnC,OAAO,YAAY,EAAE,UAAU;+BAC/B,OAAO,YAAY,EAAE,gBAAgB;4BACrC,OAAO,YAAY,EAAE,aAAa;8BAClC,OAAO,YAAY,EAAE,eAAe;gCACpC,OAAO,YAAY,EAAE,iBAAiB;6BACtC,OAAO,YAAY,EAAE,cAAc"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.js"],"names":[],"mappings":"AAqhBA;;;;;;;;;;GAUG;AACH,wDAVW,cAAc,cACd,MAAM,cACN,OAAO,MAAM,EAAE,OAAO,YAAY,EAAE,aAAa,CAAC,oBAC3C,MAAM,KAAK,MAAM,oFAGxB,MAAM,GAAG,SAAS;YAEP,gBAAgB;YAAU,MAAM,EAAE;EAuBvD;AA5VM,sDAHI,cAAc,GACZ;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,CA+BzD;oBAjPY,OAAO,YAAY,EAAE,KAAK;uBAC1B,OAAO,YAAY,EAAE,QAAQ;6BAC7B,OAAO,YAAY,EAAE,cAAc;yBACnC,OAAO,YAAY,EAAE,UAAU;+BAC/B,OAAO,YAAY,EAAE,gBAAgB;4BACrC,OAAO,YAAY,EAAE,aAAa;8BAClC,OAAO,YAAY,EAAE,eAAe;gCACpC,OAAO,YAAY,EAAE,iBAAiB;6BACtC,OAAO,YAAY,EAAE,cAAc"}
@@ -299,6 +299,9 @@ declare namespace _default {
299
299
  itemIcon: {
300
300
  $ref: string;
301
301
  };
302
+ immutable: {
303
+ type: string;
304
+ };
302
305
  };
303
306
  oneOf?: undefined;
304
307
  } | {
@@ -112,6 +112,7 @@ export type GetItems = {
112
112
  itemKey?: Expression;
113
113
  itemValue?: Expression;
114
114
  itemIcon?: Expression;
115
+ immutable?: boolean;
115
116
  [k: string]: unknown;
116
117
  } & (Expression | GetItemsFetch);
117
118
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/normalized-layout/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/normalized-layout/types.ts"],"names":[],"mappings":"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"}
package/types/types.d.ts CHANGED
@@ -18,6 +18,11 @@ export interface SchemaFragment {
18
18
  formatMinimum?: string;
19
19
  formatMaximum?: string;
20
20
  readOnly?: boolean;
21
+ if?: any;
22
+ then?: any;
23
+ else?: any;
24
+ dependencies?: Record<string, any>;
25
+ dependentSchemas?: Record<string, any>;
21
26
  }
22
27
  export interface ComponentInfo {
23
28
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,WAAW,CAAC,EAAE,aAAa,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,WAAW,CAAC,EAAE,aAAa,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,GAAG,CAAA;IACR,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB"}