aontu 0.61.0 → 0.62.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 (108) hide show
  1. package/README.md +3 -3
  2. package/dist/agentsmd.d.ts +1 -0
  3. package/dist/agentsmd.js +7 -1
  4. package/dist/agentsmd.js.map +1 -1
  5. package/dist/allow.d.ts +23 -0
  6. package/dist/allow.js +230 -0
  7. package/dist/allow.js.map +1 -0
  8. package/dist/aontu.d.ts +4 -2
  9. package/dist/aontu.js +4 -2
  10. package/dist/aontu.js.map +1 -1
  11. package/dist/cli.d.ts +10 -1
  12. package/dist/cli.js +941 -24
  13. package/dist/cli.js.map +1 -1
  14. package/dist/format.js +57 -1
  15. package/dist/format.js.map +1 -1
  16. package/dist/helpdoc.d.ts +16 -0
  17. package/dist/helpdoc.js +59 -0
  18. package/dist/helpdoc.js.map +1 -0
  19. package/dist/hints.js +15 -2
  20. package/dist/hints.js.map +1 -1
  21. package/dist/lang.js +93 -40
  22. package/dist/lang.js.map +1 -1
  23. package/dist/lower.d.ts +3 -0
  24. package/dist/lower.js +3 -0
  25. package/dist/lower.js.map +1 -1
  26. package/dist/lsp.d.ts +1 -1
  27. package/dist/lsp.js +1 -1
  28. package/dist/lsp.js.map +1 -1
  29. package/dist/relation.d.ts +2 -0
  30. package/dist/relation.js +7 -1
  31. package/dist/relation.js.map +1 -1
  32. package/dist/render.js +26 -21
  33. package/dist/render.js.map +1 -1
  34. package/dist/sigdecl.js +1 -1
  35. package/dist/sigdecl.js.map +1 -1
  36. package/dist/std.js +104 -69
  37. package/dist/std.js.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/dist/val/AggFuncVal.js +2 -2
  40. package/dist/val/AggFuncVal.js.map +1 -1
  41. package/dist/val/CmpFuncVal.d.ts +20 -0
  42. package/dist/val/CmpFuncVal.js +245 -0
  43. package/dist/val/CmpFuncVal.js.map +1 -0
  44. package/dist/val/EachFuncVal.d.ts +1 -2
  45. package/dist/val/EachFuncVal.js +15 -29
  46. package/dist/val/EachFuncVal.js.map +1 -1
  47. package/dist/val/FormFuncVal.js.map +1 -1
  48. package/dist/val/LowerFuncVal.js +17 -1
  49. package/dist/val/LowerFuncVal.js.map +1 -1
  50. package/dist/val/NamerFuncVal.d.ts +12 -0
  51. package/dist/val/NamerFuncVal.js +176 -0
  52. package/dist/val/NamerFuncVal.js.map +1 -0
  53. package/dist/val/NilVal.js +29 -3
  54. package/dist/val/NilVal.js.map +1 -1
  55. package/dist/val/NomFuncVal.d.ts +12 -0
  56. package/dist/val/NomFuncVal.js +187 -0
  57. package/dist/val/NomFuncVal.js.map +1 -0
  58. package/dist/val/PackFuncVal.js +3 -3
  59. package/dist/val/PackFuncVal.js.map +1 -1
  60. package/dist/val/RefVal.js +1 -1
  61. package/dist/val/TranslateFuncVal.d.ts +12 -0
  62. package/dist/val/TranslateFuncVal.js +101 -0
  63. package/dist/val/TranslateFuncVal.js.map +1 -0
  64. package/dist/val/UpperFuncVal.js +17 -1
  65. package/dist/val/UpperFuncVal.js.map +1 -1
  66. package/dist/val/caserange.d.ts +3 -0
  67. package/dist/val/caserange.js +110 -0
  68. package/dist/val/caserange.js.map +1 -0
  69. package/dist/vet.d.ts +12 -0
  70. package/dist/vet.js +209 -1
  71. package/dist/vet.js.map +1 -1
  72. package/grammar/aontu.abnf +1 -1
  73. package/grammar/aontu.gbnf +1 -1
  74. package/grammar/aontu.lark +1 -1
  75. package/grammar/aontu.tmLanguage.json +1 -1
  76. package/package.json +1 -1
  77. package/skill/SKILL.md +8 -0
  78. package/skill/init/check.sh +28 -0
  79. package/skill/init/data.aon +12 -0
  80. package/skill/init/model.aon +19 -0
  81. package/skill/tasks.md +151 -0
  82. package/src/agentsmd.ts +13 -2
  83. package/src/allow.ts +316 -0
  84. package/src/aontu.ts +10 -1
  85. package/src/cli.ts +1066 -28
  86. package/src/format.ts +75 -3
  87. package/src/helpdoc.ts +77 -0
  88. package/src/hints.ts +16 -2
  89. package/src/lang.ts +98 -42
  90. package/src/lower.ts +3 -3
  91. package/src/lsp.ts +1 -1
  92. package/src/relation.ts +21 -1
  93. package/src/render.ts +26 -21
  94. package/src/sigdecl.ts +1 -1
  95. package/src/std.ts +104 -69
  96. package/src/val/AggFuncVal.ts +2 -2
  97. package/src/val/CmpFuncVal.ts +411 -0
  98. package/src/val/EachFuncVal.ts +49 -50
  99. package/src/val/LowerFuncVal.ts +18 -1
  100. package/src/val/NilVal.ts +29 -3
  101. package/src/val/NomFuncVal.ts +287 -0
  102. package/src/val/PackFuncVal.ts +3 -3
  103. package/src/val/RefVal.ts +1 -1
  104. package/src/val/TranslateFuncVal.ts +182 -0
  105. package/src/val/UpperFuncVal.ts +18 -1
  106. package/src/val/caserange.ts +115 -0
  107. package/src/vet.ts +287 -1
  108. package/src/val/FormFuncVal.ts +0 -119
package/dist/std.js CHANGED
@@ -2,19 +2,23 @@
2
2
  /* Copyright (c) 2025 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.AONTU_MODELS = exports.AONTU_SCHEME = exports.STD_SOURCES = void 0;
5
- // THE BUNDLED VOCABULARY (G4 phase 4,
6
- // docs/capability-review/g4-identity-relations.md): `@"std/system"` is
7
- // served from the engine itself — no filesystem, no package resolution
8
- // — so a document may use it under every include capability except
9
- // `none`, and the hermeticity posture is not widened by a source that
10
- // never leaves the process.
5
+ // THE LANGUAGE-SUPPLIED MODELS (G4 phase 4,
6
+ // docs/capability-review/g4-identity-relations.md): `@"aontu:system"`
7
+ // is served from the engine itself — no filesystem, no package
8
+ // resolution — so a document may use it under every include capability
9
+ // except `none`, and the hermeticity posture is not widened by a source
10
+ // that never leaves the process.
11
+ //
12
+ // EVERY name here carries the `aontu:` prefix (ADR-028): a
13
+ // language-supplied schema is spelled one way, and the scheme is what
14
+ // makes it unshadowable. There is no second, bare-name spelling.
11
15
  //
12
16
  // The TEXT is the shared artifact: go/std.go carries the same bytes,
13
- // and test/spec/std-system.tsv pins its canon and its canon-hash in
17
+ // and test/spec/aontu-system.tsv pins its canon and its canon-hash in
14
18
  // both engines, so the two copies cannot drift without a red suite.
15
19
  // It carries no backtick for that reason: one string literal per port,
16
20
  // and Go's raw string has no escape.
17
- const STD_SYSTEM = `# std/system --- the SYSTEM VOCABULARY (G4 phase 4). Ports, components
21
+ const STD_SYSTEM = `# aontu:system --- the SYSTEM VOCABULARY (G4 phase 4). Ports, components
18
22
  # and relations need no syntax: they are schemas. Everything here is
19
23
  # ordinary unification --- conjunction, spreads, marks, defaults ---
20
24
  # so the vocabulary costs the language nothing, and an author who wants
@@ -25,48 +29,74 @@ const STD_SYSTEM = `# std/system --- the SYSTEM VOCABULARY (G4 phase 4). Ports,
25
29
  # identity and version makes "v1 and v2 describe the same entity"
26
30
  # inexpressible.
27
31
 
28
- std: {
29
-
32
+ aontu: System: {
30
33
  # One end of a connection.
31
- Port: type({
32
- direction: *in | out | inout
33
- protocol?: string
34
- })
34
+ Port: type({ direction:*in | out | inout protocol?:string })
35
35
 
36
36
  # A node with ports. Where a Component sits in the tree is what it
37
37
  # is a component OF -- containment is the document's own structure
38
38
  # and needs no mark of its own.
39
- Component: type({
40
- ports?: {&: $.std.Port}
41
- })
39
+ Component: type({ ports?:{ &: $.aontu.System.Port } })
42
40
 
43
41
  # A component that is a service. Written out rather than as
44
- # $.std.Component & {kind: service}: a reference from one member of
42
+ # $.aontu.System.Component & {kind: service}: a reference from one member of
45
43
  # this file to another does not survive being INCLUDED into a
46
44
  # document (the marks the include carries make the referring member
47
45
  # unusable), so the vocabulary states each schema on its own.
48
- Service: type({
49
- kind: service
50
- ports?: {&: $.std.Port}
51
- })
52
-
46
+ Service: type({ kind:service ports?:{ &: $.aontu.System.Port } })
47
+
48
+ # A semantic version (semver.org 2.0.0) as an ORDERED TUPLE: major,
49
+ # minor, patch, pre-release. A list and not a dotted string, because a
50
+ # version is COMPARED and the comparison runs component by component
51
+ # from the left: "1.10.0" sorts below "1.9.0" as text. A list and not
52
+ # a map, because a map has no order of its own to compare along.
53
+ #
54
+ # THE TAIL DEFAULTS, so [1] is [1 0 0 ""] and [1 2] is [1 2 0 ""].
55
+ # A major-only version is the common case and should cost one token.
56
+ #
57
+ # LEADING ZEROES ARE IMPOSSIBLE HERE rather than merely forbidden:
58
+ # the numeric parts are integers, and 01 is not a distinct integer
59
+ # literal. The spec's "MUST NOT contain leading zeroes" needs no rule.
60
+ #
61
+ # THE PRE-RELEASE CHECK IS PARTIAL, and deliberately says so. The
62
+ # spec's grammar is dot-separated identifiers, each non-empty, each
63
+ # [0-9A-Za-z-], numeric ones without leading zeroes -- which as a
64
+ # regex is a quantified group containing a quantifier, and re()
65
+ # refuses that shape outright (constraint_pattern) because it
66
+ # backtracks exponentially. So the alphabet is checked and the
67
+ # STRUCTURE is not: "beta_1" is refused, "alpha..1" and "01" are not.
68
+ # Carrying the pre-release as a LIST of identifiers would check it in
69
+ # full, one identifier per element, and is the change to make if that
70
+ # matters more than [1 0 0 ""] does.
71
+ #
72
+ # BUILD METADATA IS NOT CARRIED. The spec has it, and the spec also
73
+ # says it MUST be ignored when determining precedence -- so a type
74
+ # whose purpose is comparison is the wrong place for it.
75
+ Semver: type(
76
+ [
77
+ integer & min(0)
78
+ *0 | (integer & min(0))
79
+ *0 | (integer & min(0))
80
+ *"" | (string & re("^[0-9A-Za-z.-]+$"))
81
+ ] & length(4)
82
+ )
53
83
  # (The Relation schema that used to sit here is retired with the
54
84
  # relations: magic key, RELATIONS.0.md P2: a relation is declared
55
85
  # by the graph atoms at its field -- rel(t) & acyclic() &
56
86
  # inverse(name) -- and the target half is rel(t)'s flow.)
57
87
  }
58
88
  `;
59
- const STD_VIEW = `# std/view --- the FIGURE VOCABULARY (VIEWS.0.md, "6. The view
89
+ const STD_VIEW = `# aontu:view --- the FIGURE VOCABULARY (VIEWS.0.md, "6. The view
60
90
  # document"). A view document declares its figures as data, and a
61
91
  # declaration is just a map: this is the schema for one, so a typo is
62
92
  # refused where every other mistake in an aontu document is refused --
63
93
  # at evaluation, by unification -- rather than by the verb that reads
64
94
  # it afterwards.
65
95
  #
66
- # @"std/view"
96
+ # @"aontu:view"
67
97
  # @"./system.aon"
68
98
  #
69
- # views: {&: $.view.Figure} & {
99
+ # views: {&: $.aontu.View.Figure} & {
70
100
  # arch: {kind: matrix, order: partition, out: "docs/arch.dsm.txt"}
71
101
  # }
72
102
  #
@@ -80,8 +110,7 @@ const STD_VIEW = `# std/view --- the FIGURE VOCABULARY (VIEWS.0.md, "6. The view
80
110
  # canon-hash. This file carries no backtick: it is one string literal
81
111
  # per port, and Go raw strings have no escape.
82
112
 
83
- view: {
84
-
113
+ aontu: View: {
85
114
  # One declared figure. The kind says what to draw and out says where
86
115
  # it belongs; everything else narrows the drawing, and each option
87
116
  # belongs to the kinds that read it.
@@ -295,7 +324,7 @@ const STD_CODE = String.raw `# aontu:code --- THE OUTPUT VOCABULARY. An aontu tr
295
324
 
296
325
  %source = close({ path?:string hash?:string & re("^aon1-[A-Za-z0-9_-]+$") })
297
326
 
298
- code: close({ source?:%source units:[&: %unit] })
327
+ aontu: Code: close({ source?:%source units:[&: %unit] })
299
328
  `;
300
329
  const STD_PROFILE = String.raw `# aontu:profile --- THE PROFILE VOCABULARY. A profile is the data
301
330
  # 'aontu render' applies to a unit of one language, and it is DATA and
@@ -367,7 +396,7 @@ const STD_PROFILE = String.raw `# aontu:profile --- THE PROFILE VOCABULARY. A pr
367
396
  banner?: string
368
397
  })
369
398
 
370
- profile: %profile
399
+ aontu: Profile: %profile
371
400
  `;
372
401
  // The text profile (RENDER.0.md D5): the profile of a fragment-only
373
402
  // unit, and the fallback of every language without a lowering.
@@ -382,7 +411,7 @@ const STD_LANG_TEXT = String.raw `# aontu:lang/text --- THE TEXT PROFILE. The pr
382
411
 
383
412
  @"aontu:profile"
384
413
 
385
- profile: { lang:"text" indent:{ unit:" " width:2 } }
414
+ aontu: Profile: { lang:"text" indent:{ unit:" " width:2 } }
386
415
  `;
387
416
  // THE TYPESCRIPT PROFILE (docs/design/RENDER.0.md D5, P5): the data the
388
417
  // typescript lowering renders under -- two spaces, the JSDoc forms, the
@@ -402,7 +431,7 @@ const STD_LANG_TYPESCRIPT = String.raw `# aontu:lang/typescript --- THE TYPESCRI
402
431
 
403
432
  @"aontu:profile"
404
433
 
405
- profile: {
434
+ aontu: Profile: {
406
435
  lang: "typescript"
407
436
  lowering: "typescript"
408
437
  indent: { unit:" " width:2 }
@@ -410,13 +439,15 @@ profile: {
410
439
  comment: block: { open:"/*" prefix:" * " close:" */" }
411
440
  comment: doc: { open:"/**" prefix:" * " close:" */" }
412
441
  str: quote: "\""
413
- str: escape: "8": "\\b"
414
- str: escape: "9": "\\t"
415
- str: escape: "10": "\\n"
416
- str: escape: "12": "\\f"
417
- str: escape: "13": "\\r"
418
- str: escape: "34": "\\\""
419
- str: escape: "92": "\\\\"
442
+ str: escape: {
443
+ "8": "\\b"
444
+ "9": "\\t"
445
+ "10": "\\n"
446
+ "12": "\\f"
447
+ "13": "\\r"
448
+ "34": "\\\""
449
+ "92": "\\\\"
450
+ }
420
451
  ident: {
421
452
  chars: "ascii-word"
422
453
  reserved: [
@@ -477,14 +508,16 @@ profile: {
477
508
  case: alias: "pascal"
478
509
  acronyms: []
479
510
  }
480
- types: prim: string: "string"
481
- types: prim: int: "number"
482
- types: prim: bigint: "bigint"
483
- types: prim: float: "number"
484
- types: prim: decimal: "string"
485
- types: prim: bool: "boolean"
486
- types: prim: null: "null"
487
- types: prim: any: "unknown"
511
+ types: prim: {
512
+ string: "string"
513
+ int: "number"
514
+ bigint: "bigint"
515
+ float: "number"
516
+ decimal: "string"
517
+ bool: "boolean"
518
+ null: "null"
519
+ any: "unknown"
520
+ }
488
521
  types: list: { close:"[]" childPrec:2 }
489
522
  types: map: { open:"Record<" close:">" }
490
523
  types: opt: { close:" | null" prec:1 childPrec:2 }
@@ -511,21 +544,23 @@ const STD_LANG_GO = String.raw `# aontu:lang/go --- THE GO PROFILE. The data a u
511
544
 
512
545
  @"aontu:profile"
513
546
 
514
- profile: {
547
+ aontu: Profile: {
515
548
  lang: "go"
516
549
  lowering: "go"
517
550
  indent: { unit:"\t" width:1 }
518
551
  comment: { line:prefix:"// " block:{ open:"/*" close:"*/" } doc:prefix:"// " }
519
552
  str: quote: "\""
520
- str: escape: "7": "\\a"
521
- str: escape: "8": "\\b"
522
- str: escape: "9": "\\t"
523
- str: escape: "10": "\\n"
524
- str: escape: "11": "\\v"
525
- str: escape: "12": "\\f"
526
- str: escape: "13": "\\r"
527
- str: escape: "34": "\\\""
528
- str: escape: "92": "\\\\"
553
+ str: escape: {
554
+ "7": "\\a"
555
+ "8": "\\b"
556
+ "9": "\\t"
557
+ "10": "\\n"
558
+ "11": "\\v"
559
+ "12": "\\f"
560
+ "13": "\\r"
561
+ "34": "\\\""
562
+ "92": "\\\\"
563
+ }
529
564
  ident: {
530
565
  chars: "ascii-word"
531
566
  reserved: [
@@ -604,14 +639,16 @@ profile: {
604
639
  "XSS"
605
640
  ]
606
641
  }
607
- types: prim: string: "string"
608
- types: prim: int: "int64"
609
- types: prim: bigint: "string"
610
- types: prim: float: "float64"
611
- types: prim: decimal: "string"
612
- types: prim: bool: "bool"
613
- types: prim: null: "any"
614
- types: prim: any: "any"
642
+ types: prim: {
643
+ string: "string"
644
+ int: "int64"
645
+ bigint: "string"
646
+ float: "float64"
647
+ decimal: "string"
648
+ bool: "bool"
649
+ null: "any"
650
+ any: "any"
651
+ }
615
652
  types: list: open: "[]"
616
653
  types: map: open: "map["
617
654
  types: opt: open: "*"
@@ -619,10 +656,8 @@ profile: {
619
656
  }
620
657
  `;
621
658
  exports.STD_SOURCES = {
622
- 'std/system': STD_SYSTEM,
623
- 'std/system.aon': STD_SYSTEM,
624
- 'std/view': STD_VIEW,
625
- 'std/view.aon': STD_VIEW,
659
+ 'aontu:system': STD_SYSTEM,
660
+ 'aontu:view': STD_VIEW,
626
661
  'aontu:code': STD_CODE,
627
662
  'aontu:lang/go': STD_LANG_GO,
628
663
  'aontu:lang/text': STD_LANG_TEXT,
package/dist/std.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"std.js","sourceRoot":"","sources":["../src/std.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,sCAAsC;AACtC,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,4BAA4B;AAC5B,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,uEAAuE;AACvE,qCAAqC;AAErC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAA;AAGD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEhB,CAAA;AAGD,4DAA4D;AAC5D,uEAAuE;AACvE,sEAAsE;AACtE,sEAAsE;AACtE,sEAAsE;AACtE,8DAA8D;AAC9D,EAAE;AACF,mEAAmE;AACnE,iEAAiE;AACjE,sEAAsE;AACtE,oEAAoE;AACpE,gEAAgE;AAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgK1B,CAAA;AAGD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE7B,CAAA;AAGD,oEAAoE;AACpE,+DAA+D;AAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;CAY/B,CAAA;AAED,wEAAwE;AACxE,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,qEAAqE;AACrE,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGrC,CAAA;AAED,2EAA2E;AAC3E,wEAAwE;AACxE,uEAAuE;AACvE,4DAA4D;AAC5D,gDAAgD;AAChD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuH7B,CAAA;AAEY,QAAA,WAAW,GAA2B;IACjD,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,UAAU;IAC5B,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,YAAY,EAAE,QAAQ;IACtB,eAAe,EAAE,WAAW;IAC5B,iBAAiB,EAAE,aAAa;IAChC,uBAAuB,EAAE,mBAAmB;IAC5C,eAAe,EAAE,WAAW;CAC7B,CAAA;AAED,sEAAsE;AACtE,qEAAqE;AACrE,WAAW;AACE,QAAA,YAAY,GAAG,QAAQ,CAAA;AACvB,QAAA,YAAY,GACvB,MAAM,CAAC,IAAI,CAAC,QAAA,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAA,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"std.js","sourceRoot":"","sources":["../src/std.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,4CAA4C;AAC5C,sEAAsE;AACtE,+DAA+D;AAC/D,uEAAuE;AACvE,wEAAwE;AACxE,iCAAiC;AACjC,EAAE;AACF,2DAA2D;AAC3D,sEAAsE;AACtE,iEAAiE;AACjE,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,oEAAoE;AACpE,uEAAuE;AACvE,qCAAqC;AAErC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmElB,CAAA;AAGD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEhB,CAAA;AAGD,4DAA4D;AAC5D,uEAAuE;AACvE,sEAAsE;AACtE,sEAAsE;AACtE,sEAAsE;AACtE,8DAA8D;AAC9D,EAAE;AACF,mEAAmE;AACnE,iEAAiE;AACjE,sEAAsE;AACtE,oEAAoE;AACpE,gEAAgE;AAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgK1B,CAAA;AAGD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE7B,CAAA;AAGD,oEAAoE;AACpE,+DAA+D;AAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;CAY/B,CAAA;AAED,wEAAwE;AACxE,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,qEAAqE;AACrE,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0GrC,CAAA;AAED,2EAA2E;AAC3E,wEAAwE;AACxE,uEAAuE;AACvE,4DAA4D;AAC5D,gDAAgD;AAChD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2H7B,CAAA;AAEY,QAAA,WAAW,GAA2B;IACjD,cAAc,EAAE,UAAU;IAC1B,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,QAAQ;IACtB,eAAe,EAAE,WAAW;IAC5B,iBAAiB,EAAE,aAAa;IAChC,uBAAuB,EAAE,mBAAmB;IAC5C,eAAe,EAAE,WAAW;CAC7B,CAAA;AAED,sEAAsE;AACtE,qEAAqE;AACrE,WAAW;AACE,QAAA,YAAY,GAAG,QAAQ,CAAA;AACvB,QAAA,YAAY,GACvB,MAAM,CAAC,IAAI,CAAC,QAAA,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAA,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA"}