sketchmark 2.1.0 → 2.1.1

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 (77) hide show
  1. package/package.json +1 -7
  2. package/ANIMATABLE_MATRIX.md +0 -177
  3. package/KERNEL_SPEC.md +0 -412
  4. package/PACKS.md +0 -81
  5. package/PRESETS.md +0 -182
  6. package/examples/1730642890464.jpg +0 -0
  7. package/examples/app-screen.svg +0 -1
  8. package/examples/app-screen.visual.json +0 -503
  9. package/examples/dashboard-table.svg +0 -1
  10. package/examples/dashboard-table.visual.json +0 -708
  11. package/examples/dev-docs.svg +0 -1
  12. package/examples/dev-docs.visual.json +0 -248
  13. package/examples/explainer.mp4 +0 -0
  14. package/examples/explainer.visual.json +0 -1713
  15. package/examples/group-origin-effects-lab-check.svg +0 -1
  16. package/examples/group-origin-effects-lab.visual.json +0 -1880
  17. package/examples/image-clip-radius.visual.json +0 -271
  18. package/examples/make-app-screen.cjs +0 -368
  19. package/examples/make-dashboard-table.cjs +0 -277
  20. package/examples/make-dev-docs.cjs +0 -233
  21. package/examples/make-explainer.cjs +0 -438
  22. package/examples/make-group-origin-effects-lab.cjs +0 -370
  23. package/examples/make-image-clip-radius.cjs +0 -169
  24. package/examples/make-modal-dialog.cjs +0 -355
  25. package/examples/make-origin-effects-lab.cjs +0 -311
  26. package/examples/make-preset-character-motion.cjs +0 -32
  27. package/examples/make-presets-demo.cjs +0 -30
  28. package/examples/make-pricing.cjs +0 -286
  29. package/examples/make-product-demo.cjs +0 -468
  30. package/examples/make-product-hero.cjs +0 -223
  31. package/examples/make-release-notes.cjs +0 -333
  32. package/examples/make-settings-panel.cjs +0 -435
  33. package/examples/make-split-preview.cjs +0 -248
  34. package/examples/make-storyboard.cjs +0 -215
  35. package/examples/make-transcript.cjs +0 -234
  36. package/examples/make-typography-test.cjs +0 -397
  37. package/examples/make-ui-demo-explainer.cjs +0 -1094
  38. package/examples/make-ui-flow.cjs +0 -762
  39. package/examples/make-walkthrough.cjs +0 -815
  40. package/examples/modal-dialog.svg +0 -1
  41. package/examples/modal-dialog.visual.json +0 -239
  42. package/examples/origin-effects-lab-check.svg +0 -1
  43. package/examples/origin-effects-lab.visual.json +0 -1412
  44. package/examples/preset-character-motion.visual.json +0 -949
  45. package/examples/presets-demo.visual.json +0 -787
  46. package/examples/pricing.svg +0 -1
  47. package/examples/pricing.visual.json +0 -652
  48. package/examples/product-demo.mp4 +0 -0
  49. package/examples/product-demo.visual.json +0 -866
  50. package/examples/product-hero.svg +0 -1
  51. package/examples/product-hero.visual.json +0 -242
  52. package/examples/release-notes.svg +0 -1
  53. package/examples/release-notes.visual.json +0 -467
  54. package/examples/settings-panel.svg +0 -1
  55. package/examples/settings-panel.visual.json +0 -501
  56. package/examples/split-preview.svg +0 -1
  57. package/examples/split-preview.visual.json +0 -124
  58. package/examples/storyboard.svg +0 -1
  59. package/examples/storyboard.visual.json +0 -312
  60. package/examples/transcript.svg +0 -1
  61. package/examples/transcript.visual.json +0 -407
  62. package/examples/typography-indent-check.svg +0 -1
  63. package/examples/typography-lineheight-0.svg +0 -1
  64. package/examples/typography-lineheight-2.svg +0 -1
  65. package/examples/typography-test-check.svg +0 -1
  66. package/examples/typography-test.svg +0 -1
  67. package/examples/typography-test.visual.json +0 -757
  68. package/examples/ui-demo-explainer-billing.svg +0 -1
  69. package/examples/ui-demo-explainer-check.svg +0 -1
  70. package/examples/ui-demo-explainer-save.svg +0 -1
  71. package/examples/ui-demo-explainer-toggle.svg +0 -1
  72. package/examples/ui-demo-explainer.mp4 +0 -0
  73. package/examples/ui-demo-explainer.visual.json +0 -2597
  74. package/examples/ui-flow.mp4 +0 -0
  75. package/examples/ui-flow.visual.json +0 -1211
  76. package/examples/walkthrough.mp4 +0 -0
  77. package/examples/walkthrough.visual.json +0 -1372
@@ -1,757 +0,0 @@
1
- {
2
- "version": 1,
3
- "canvas": {
4
- "width": 1000,
5
- "height": 920,
6
- "background": "#ffffff",
7
- "duration": 8,
8
- "fps": 30
9
- },
10
- "elements": [
11
- {
12
- "id": "headline",
13
- "type": "text",
14
- "x": 500,
15
- "y": 56,
16
- "text": "Typography Stress Test",
17
- "align": "center",
18
- "valign": "top",
19
- "fontSize": 40,
20
- "fontFamily": "Inter, system-ui, sans-serif",
21
- "weight": 700,
22
- "fill": "#0f172a",
23
- "timeline": {
24
- "tracks": {
25
- "fontSize": {
26
- "keyframes": [
27
- {
28
- "time": 0,
29
- "value": 40,
30
- "out": {
31
- "type": "cubicBezier",
32
- "x1": 0.25,
33
- "y1": 0.1,
34
- "x2": 0.25,
35
- "y2": 1
36
- }
37
- },
38
- {
39
- "time": 1.6,
40
- "value": 46,
41
- "out": {
42
- "type": "cubicBezier",
43
- "x1": 0.25,
44
- "y1": 0.1,
45
- "x2": 0.25,
46
- "y2": 1
47
- }
48
- },
49
- {
50
- "time": 3.3,
51
- "value": 36,
52
- "out": {
53
- "type": "cubicBezier",
54
- "x1": 0.25,
55
- "y1": 0.1,
56
- "x2": 0.25,
57
- "y2": 1
58
- }
59
- },
60
- {
61
- "time": 4.8,
62
- "value": 44,
63
- "out": {
64
- "type": "cubicBezier",
65
- "x1": 0.25,
66
- "y1": 0.1,
67
- "x2": 0.25,
68
- "y2": 1
69
- }
70
- },
71
- {
72
- "time": 6.5,
73
- "value": 40
74
- }
75
- ]
76
- },
77
- "letterSpacing": {
78
- "keyframes": [
79
- {
80
- "time": 0,
81
- "value": 0,
82
- "out": {
83
- "type": "cubicBezier",
84
- "x1": 0.25,
85
- "y1": 0.1,
86
- "x2": 0.25,
87
- "y2": 1
88
- }
89
- },
90
- {
91
- "time": 1.6,
92
- "value": 1.5,
93
- "out": {
94
- "type": "cubicBezier",
95
- "x1": 0.25,
96
- "y1": 0.1,
97
- "x2": 0.25,
98
- "y2": 1
99
- }
100
- },
101
- {
102
- "time": 3.3,
103
- "value": 4,
104
- "out": {
105
- "type": "cubicBezier",
106
- "x1": 0.25,
107
- "y1": 0.1,
108
- "x2": 0.25,
109
- "y2": 1
110
- }
111
- },
112
- {
113
- "time": 4.8,
114
- "value": 0.8,
115
- "out": {
116
- "type": "cubicBezier",
117
- "x1": 0.25,
118
- "y1": 0.1,
119
- "x2": 0.25,
120
- "y2": 1
121
- }
122
- },
123
- {
124
- "time": 6.5,
125
- "value": 0
126
- }
127
- ]
128
- },
129
- "weight": {
130
- "keyframes": [
131
- {
132
- "time": 0,
133
- "value": 700
134
- },
135
- {
136
- "time": 2.2,
137
- "value": 300
138
- },
139
- {
140
- "time": 4.4,
141
- "value": 700
142
- },
143
- {
144
- "time": 6.5,
145
- "value": 700
146
- }
147
- ]
148
- }
149
- }
150
- }
151
- },
152
- {
153
- "id": "subtitle",
154
- "type": "text",
155
- "x": 500,
156
- "y": 112,
157
- "text": "Demonstrating multiple alignment modes, text styles, and layout patterns\nin a single cohesive document without visual overlap.",
158
- "align": "center",
159
- "valign": "top",
160
- "fontSize": 16,
161
- "fontFamily": "Inter, system-ui, sans-serif",
162
- "weight": 400,
163
- "lineHeight": 1.55,
164
- "fill": "#475569",
165
- "maxWidth": 856,
166
- "timeline": {
167
- "tracks": {
168
- "lineHeight": {
169
- "keyframes": [
170
- {
171
- "time": 0,
172
- "value": 1.55,
173
- "out": {
174
- "type": "cubicBezier",
175
- "x1": 0.25,
176
- "y1": 0.1,
177
- "x2": 0.25,
178
- "y2": 1
179
- }
180
- },
181
- {
182
- "time": 2,
183
- "value": 1.9,
184
- "out": {
185
- "type": "cubicBezier",
186
- "x1": 0.25,
187
- "y1": 0.1,
188
- "x2": 0.25,
189
- "y2": 1
190
- }
191
- },
192
- {
193
- "time": 4.2,
194
- "value": 1.3,
195
- "out": {
196
- "type": "cubicBezier",
197
- "x1": 0.25,
198
- "y1": 0.1,
199
- "x2": 0.25,
200
- "y2": 1
201
- }
202
- },
203
- {
204
- "time": 6.4,
205
- "value": 1.55
206
- }
207
- ]
208
- }
209
- }
210
- }
211
- },
212
- {
213
- "id": "divider-1",
214
- "type": "path",
215
- "d": "M 72 176 L 928 176",
216
- "stroke": "#e2e8f0",
217
- "strokeWidth": 1,
218
- "fill": "none"
219
- },
220
- {
221
- "id": "para-heading",
222
- "type": "text",
223
- "x": 72,
224
- "y": 216,
225
- "text": "Overview",
226
- "align": "left",
227
- "valign": "top",
228
- "fontSize": 20,
229
- "fontFamily": "Inter, system-ui, sans-serif",
230
- "weight": 700,
231
- "fill": "#0f172a"
232
- },
233
- {
234
- "id": "para-body",
235
- "type": "text",
236
- "x": 72,
237
- "y": 248,
238
- "text": "This document tests the render kernel's ability to handle diverse typographic\nscenarios. Each section exercises a different combination of alignment, weight,\nsize, and line height. The goal is to verify that spacing remains predictable\nand that no elements collide regardless of content length or style variation.",
239
- "align": "left",
240
- "valign": "top",
241
- "fontSize": 14,
242
- "fontFamily": "Inter, system-ui, sans-serif",
243
- "weight": 400,
244
- "lineHeight": 1.7,
245
- "fill": "#334155",
246
- "maxWidth": 856,
247
- "timeline": {
248
- "tracks": {
249
- "letterSpacing": {
250
- "keyframes": [
251
- {
252
- "time": 0,
253
- "value": 0,
254
- "out": {
255
- "type": "cubicBezier",
256
- "x1": 0.25,
257
- "y1": 0.1,
258
- "x2": 0.25,
259
- "y2": 1
260
- }
261
- },
262
- {
263
- "time": 2.6,
264
- "value": 0.6,
265
- "out": {
266
- "type": "cubicBezier",
267
- "x1": 0.25,
268
- "y1": 0.1,
269
- "x2": 0.25,
270
- "y2": 1
271
- }
272
- },
273
- {
274
- "time": 5.1,
275
- "value": 0.15,
276
- "out": {
277
- "type": "cubicBezier",
278
- "x1": 0.25,
279
- "y1": 0.1,
280
- "x2": 0.25,
281
- "y2": 1
282
- }
283
- },
284
- {
285
- "time": 7,
286
- "value": 0
287
- }
288
- ]
289
- }
290
- }
291
- }
292
- },
293
- {
294
- "id": "list-heading",
295
- "type": "text",
296
- "x": 72,
297
- "y": 358,
298
- "text": "Validation Checklist",
299
- "align": "left",
300
- "valign": "top",
301
- "fontSize": 20,
302
- "fontFamily": "Inter, system-ui, sans-serif",
303
- "weight": 700,
304
- "fill": "#0f172a"
305
- },
306
- {
307
- "id": "list-num-0",
308
- "type": "text",
309
- "x": 72,
310
- "y": 390,
311
- "text": "1.",
312
- "align": "left",
313
- "valign": "top",
314
- "fontSize": 14,
315
- "fontFamily": "Inter, system-ui, sans-serif",
316
- "weight": 600,
317
- "fill": "#2563eb"
318
- },
319
- {
320
- "id": "list-item-0",
321
- "type": "text",
322
- "x": 96,
323
- "y": 390,
324
- "text": "Confirm that centered text remains horizontally balanced at all font sizes.",
325
- "align": "left",
326
- "valign": "top",
327
- "fontSize": 14,
328
- "fontFamily": "Inter, system-ui, sans-serif",
329
- "weight": 400,
330
- "fill": "#334155",
331
- "maxWidth": 832
332
- },
333
- {
334
- "id": "list-num-1",
335
- "type": "text",
336
- "x": 72,
337
- "y": 418,
338
- "text": "2.",
339
- "align": "left",
340
- "valign": "top",
341
- "fontSize": 14,
342
- "fontFamily": "Inter, system-ui, sans-serif",
343
- "weight": 600,
344
- "fill": "#2563eb"
345
- },
346
- {
347
- "id": "list-item-1",
348
- "type": "text",
349
- "x": 96,
350
- "y": 418,
351
- "text": "Verify left-aligned blocks maintain consistent left edge across line breaks.",
352
- "align": "left",
353
- "valign": "top",
354
- "fontSize": 14,
355
- "fontFamily": "Inter, system-ui, sans-serif",
356
- "weight": 400,
357
- "fill": "#334155",
358
- "maxWidth": 832
359
- },
360
- {
361
- "id": "list-num-2",
362
- "type": "text",
363
- "x": 72,
364
- "y": 446,
365
- "text": "3.",
366
- "align": "left",
367
- "valign": "top",
368
- "fontSize": 14,
369
- "fontFamily": "Inter, system-ui, sans-serif",
370
- "weight": 600,
371
- "fill": "#2563eb"
372
- },
373
- {
374
- "id": "list-item-2",
375
- "type": "text",
376
- "x": 96,
377
- "y": 446,
378
- "text": "Check that right-aligned notes anchor correctly without drifting.",
379
- "align": "left",
380
- "valign": "top",
381
- "fontSize": 14,
382
- "fontFamily": "Inter, system-ui, sans-serif",
383
- "weight": 400,
384
- "fill": "#334155",
385
- "maxWidth": 832
386
- },
387
- {
388
- "id": "list-num-3",
389
- "type": "text",
390
- "x": 72,
391
- "y": 474,
392
- "text": "4.",
393
- "align": "left",
394
- "valign": "top",
395
- "fontSize": 14,
396
- "fontFamily": "Inter, system-ui, sans-serif",
397
- "weight": 600,
398
- "fill": "#2563eb"
399
- },
400
- {
401
- "id": "list-item-3",
402
- "type": "text",
403
- "x": 96,
404
- "y": 474,
405
- "text": "Ensure code blocks preserve whitespace and monospace character width.",
406
- "align": "left",
407
- "valign": "top",
408
- "fontSize": 14,
409
- "fontFamily": "Inter, system-ui, sans-serif",
410
- "weight": 400,
411
- "fill": "#334155",
412
- "maxWidth": 832
413
- },
414
- {
415
- "id": "list-num-4",
416
- "type": "text",
417
- "x": 72,
418
- "y": 502,
419
- "text": "5.",
420
- "align": "left",
421
- "valign": "top",
422
- "fontSize": 14,
423
- "fontFamily": "Inter, system-ui, sans-serif",
424
- "weight": 600,
425
- "fill": "#2563eb"
426
- },
427
- {
428
- "id": "list-item-4",
429
- "type": "text",
430
- "x": 96,
431
- "y": 502,
432
- "text": "Validate that pill components center their labels within fixed bounds.",
433
- "align": "left",
434
- "valign": "top",
435
- "fontSize": 14,
436
- "fontFamily": "Inter, system-ui, sans-serif",
437
- "weight": 400,
438
- "fill": "#334155",
439
- "maxWidth": 832
440
- },
441
- {
442
- "id": "code-bg",
443
- "type": "path",
444
- "d": "M 80 562 L 920 562 Q 928 562 928 570 L 928 754 Q 928 762 920 762 L 80 762 Q 72 762 72 754 L 72 570 Q 72 562 80 562 Z",
445
- "fill": "#1e293b",
446
- "stroke": "none",
447
- "timeline": {
448
- "tracks": {
449
- "position": {
450
- "keyframes": [
451
- {
452
- "time": 0,
453
- "value": [
454
- -5,
455
- -23
456
- ],
457
- "out": {
458
- "type": "graph",
459
- "points": [
460
- [
461
- 0,
462
- 0
463
- ],
464
- [
465
- 1,
466
- 1
467
- ]
468
- ]
469
- }
470
- }
471
- ]
472
- }
473
- }
474
- }
475
- },
476
- {
477
- "id": "code-text",
478
- "type": "text",
479
- "x": 92,
480
- "y": 582,
481
- "text": "function validateLayout(elements) {\n const bounds = elements.map(el => getBounds(el));\n for (let i = 0; i < bounds.length; i++) {\n for (let j = i + 1; j < bounds.length; j++) {\n if (intersects(bounds[i], bounds[j])) {\n return { valid: false, collision: [i, j] };\n }\n }\n }\n return { valid: true };\n}",
482
- "align": "left",
483
- "valign": "top",
484
- "fontSize": 12,
485
- "fontFamily": "JetBrains Mono, Fira Code, monospace",
486
- "weight": 400,
487
- "lineHeight": 1.55,
488
- "fill": "#e2e8f0",
489
- "maxWidth": 816,
490
- "timeline": {
491
- "tracks": {
492
- "fontFamily": {
493
- "keyframes": [
494
- {
495
- "time": 0,
496
- "value": "JetBrains Mono, Fira Code, monospace"
497
- },
498
- {
499
- "time": 5.2,
500
- "value": "JetBrains Mono, Fira Code, monospace"
501
- }
502
- ]
503
- },
504
- "position": {
505
- "keyframes": [
506
- {
507
- "time": 0,
508
- "value": [
509
- 77,
510
- 552
511
- ],
512
- "out": {
513
- "type": "graph",
514
- "points": [
515
- [
516
- 0,
517
- 0
518
- ],
519
- [
520
- 1,
521
- 1
522
- ]
523
- ]
524
- }
525
- }
526
- ]
527
- }
528
- }
529
- }
530
- },
531
- {
532
- "id": "note-text",
533
- "type": "text",
534
- "x": 928,
535
- "y": 790,
536
- "text": "Note: All measurements are in logical pixels.\nActual rendering may vary by display density.",
537
- "align": "right",
538
- "valign": "top",
539
- "fontSize": 12,
540
- "fontFamily": "Inter, system-ui, sans-serif",
541
- "weight": 400,
542
- "lineHeight": 1.5,
543
- "fill": "#94a3b8",
544
- "maxWidth": 320,
545
- "timeline": {
546
- "tracks": {
547
- "fontSize": {
548
- "keyframes": [
549
- {
550
- "time": 0,
551
- "value": 12,
552
- "out": {
553
- "type": "cubicBezier",
554
- "x1": 0.25,
555
- "y1": 0.1,
556
- "x2": 0.25,
557
- "y2": 1
558
- }
559
- },
560
- {
561
- "time": 2.5,
562
- "value": 14,
563
- "out": {
564
- "type": "cubicBezier",
565
- "x1": 0.25,
566
- "y1": 0.1,
567
- "x2": 0.25,
568
- "y2": 1
569
- }
570
- },
571
- {
572
- "time": 5.3,
573
- "value": 12
574
- }
575
- ]
576
- },
577
- "letterSpacing": {
578
- "keyframes": [
579
- {
580
- "time": 0,
581
- "value": 0,
582
- "out": {
583
- "type": "cubicBezier",
584
- "x1": 0.25,
585
- "y1": 0.1,
586
- "x2": 0.25,
587
- "y2": 1
588
- }
589
- },
590
- {
591
- "time": 2.5,
592
- "value": 1.2,
593
- "out": {
594
- "type": "cubicBezier",
595
- "x1": 0.25,
596
- "y1": 0.1,
597
- "x2": 0.25,
598
- "y2": 1
599
- }
600
- },
601
- {
602
- "time": 5.3,
603
- "value": 0.2,
604
- "out": {
605
- "type": "cubicBezier",
606
- "x1": 0.25,
607
- "y1": 0.1,
608
- "x2": 0.25,
609
- "y2": 1
610
- }
611
- },
612
- {
613
- "time": 7.1,
614
- "value": 0
615
- }
616
- ]
617
- }
618
- }
619
- }
620
- },
621
- {
622
- "id": "pill-bg-0",
623
- "type": "path",
624
- "d": "M 358 842 L 426 842 Q 440 842 440 856 L 440 856 Q 440 870 426 870 L 358 870 Q 344 870 344 856 L 344 856 Q 344 842 358 842 Z",
625
- "fill": "#f1f5f9",
626
- "stroke": "#cbd5e1",
627
- "strokeWidth": 1
628
- },
629
- {
630
- "id": "pill-text-0",
631
- "type": "text",
632
- "x": 392,
633
- "y": 856,
634
- "text": "Centered",
635
- "align": "center",
636
- "valign": "middle",
637
- "fontSize": 12,
638
- "fontFamily": "Inter, system-ui, sans-serif",
639
- "weight": 500,
640
- "fill": "#475569",
641
- "timeline": {
642
- "tracks": {
643
- "weight": {
644
- "keyframes": [
645
- {
646
- "time": 0,
647
- "value": 500
648
- },
649
- {
650
- "time": 1.8,
651
- "value": 700
652
- },
653
- {
654
- "time": 4.1,
655
- "value": 300
656
- },
657
- {
658
- "time": 6.2,
659
- "value": 500
660
- }
661
- ]
662
- }
663
- }
664
- }
665
- },
666
- {
667
- "id": "pill-bg-1",
668
- "type": "path",
669
- "d": "M 466 842 L 534 842 Q 548 842 548 856 L 548 856 Q 548 870 534 870 L 466 870 Q 452 870 452 856 L 452 856 Q 452 842 466 842 Z",
670
- "fill": "#f1f5f9",
671
- "stroke": "#cbd5e1",
672
- "strokeWidth": 1
673
- },
674
- {
675
- "id": "pill-text-1",
676
- "type": "text",
677
- "x": 500,
678
- "y": 856,
679
- "text": "Balanced",
680
- "align": "center",
681
- "valign": "middle",
682
- "fontSize": 12,
683
- "fontFamily": "Inter, system-ui, sans-serif",
684
- "weight": 500,
685
- "fill": "#475569",
686
- "timeline": {
687
- "tracks": {
688
- "weight": {
689
- "keyframes": [
690
- {
691
- "time": 0,
692
- "value": 500
693
- },
694
- {
695
- "time": 1.98,
696
- "value": 700
697
- },
698
- {
699
- "time": 4.279999999999999,
700
- "value": 300
701
- },
702
- {
703
- "time": 6.38,
704
- "value": 500
705
- }
706
- ]
707
- }
708
- }
709
- }
710
- },
711
- {
712
- "id": "pill-bg-2",
713
- "type": "path",
714
- "d": "M 574 842 L 642 842 Q 656 842 656 856 L 656 856 Q 656 870 642 870 L 574 870 Q 560 870 560 856 L 560 856 Q 560 842 574 842 Z",
715
- "fill": "#f1f5f9",
716
- "stroke": "#cbd5e1",
717
- "strokeWidth": 1
718
- },
719
- {
720
- "id": "pill-text-2",
721
- "type": "text",
722
- "x": 608,
723
- "y": 856,
724
- "text": "Verified",
725
- "align": "center",
726
- "valign": "middle",
727
- "fontSize": 12,
728
- "fontFamily": "Inter, system-ui, sans-serif",
729
- "weight": 500,
730
- "fill": "#475569",
731
- "timeline": {
732
- "tracks": {
733
- "weight": {
734
- "keyframes": [
735
- {
736
- "time": 0,
737
- "value": 500
738
- },
739
- {
740
- "time": 2.16,
741
- "value": 700
742
- },
743
- {
744
- "time": 4.46,
745
- "value": 300
746
- },
747
- {
748
- "time": 6.5600000000000005,
749
- "value": 500
750
- }
751
- ]
752
- }
753
- }
754
- }
755
- }
756
- ]
757
- }