@bash-app/bash-common 30.225.0 → 30.226.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 (109) hide show
  1. package/dist/__tests__/agePolicy.test.d.ts +2 -0
  2. package/dist/__tests__/agePolicy.test.d.ts.map +1 -0
  3. package/dist/__tests__/agePolicy.test.js +203 -0
  4. package/dist/__tests__/agePolicy.test.js.map +1 -0
  5. package/dist/__tests__/getDisplayGender.test.d.ts +2 -0
  6. package/dist/__tests__/getDisplayGender.test.d.ts.map +1 -0
  7. package/dist/__tests__/getDisplayGender.test.js +34 -0
  8. package/dist/__tests__/getDisplayGender.test.js.map +1 -0
  9. package/dist/__tests__/statusEnums.test.d.ts +2 -0
  10. package/dist/__tests__/statusEnums.test.d.ts.map +1 -0
  11. package/dist/__tests__/statusEnums.test.js +24 -0
  12. package/dist/__tests__/statusEnums.test.js.map +1 -0
  13. package/dist/aiApproval.d.ts +64 -0
  14. package/dist/aiApproval.d.ts.map +1 -0
  15. package/dist/aiApproval.js +54 -0
  16. package/dist/aiApproval.js.map +1 -0
  17. package/dist/definitions.d.ts +44 -2
  18. package/dist/definitions.d.ts.map +1 -1
  19. package/dist/definitions.js +106 -2
  20. package/dist/definitions.js.map +1 -1
  21. package/dist/extendedSchemas.d.ts +237 -104
  22. package/dist/extendedSchemas.d.ts.map +1 -1
  23. package/dist/extendedSchemas.js +12 -2
  24. package/dist/extendedSchemas.js.map +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/legalTemplates.d.ts +1 -1
  30. package/dist/legalTemplates.js +1 -1
  31. package/dist/utils/__tests__/badgeUtils.test.d.ts +2 -0
  32. package/dist/utils/__tests__/badgeUtils.test.d.ts.map +1 -0
  33. package/dist/utils/__tests__/badgeUtils.test.js +157 -0
  34. package/dist/utils/__tests__/badgeUtils.test.js.map +1 -0
  35. package/dist/utils/__tests__/bashPointsPaymentUtils.test.d.ts +2 -0
  36. package/dist/utils/__tests__/bashPointsPaymentUtils.test.d.ts.map +1 -0
  37. package/dist/utils/__tests__/bashPointsPaymentUtils.test.js +114 -0
  38. package/dist/utils/__tests__/bashPointsPaymentUtils.test.js.map +1 -0
  39. package/dist/utils/__tests__/contentFilterUtils.test.d.ts +2 -0
  40. package/dist/utils/__tests__/contentFilterUtils.test.d.ts.map +1 -0
  41. package/dist/utils/__tests__/contentFilterUtils.test.js +443 -0
  42. package/dist/utils/__tests__/contentFilterUtils.test.js.map +1 -0
  43. package/dist/utils/__tests__/displayDateUtils.test.d.ts +2 -0
  44. package/dist/utils/__tests__/displayDateUtils.test.d.ts.map +1 -0
  45. package/dist/utils/__tests__/displayDateUtils.test.js +105 -0
  46. package/dist/utils/__tests__/displayDateUtils.test.js.map +1 -0
  47. package/dist/utils/__tests__/getBackendHost.test.d.ts +2 -0
  48. package/dist/utils/__tests__/getBackendHost.test.d.ts.map +1 -0
  49. package/dist/utils/__tests__/getBackendHost.test.js +104 -0
  50. package/dist/utils/__tests__/getBackendHost.test.js.map +1 -0
  51. package/dist/utils/__tests__/getFrontendHost.test.d.ts +2 -0
  52. package/dist/utils/__tests__/getFrontendHost.test.d.ts.map +1 -0
  53. package/dist/utils/__tests__/getFrontendHost.test.js +207 -0
  54. package/dist/utils/__tests__/getFrontendHost.test.js.map +1 -0
  55. package/dist/utils/__tests__/promoCodesUtils.test.d.ts +2 -0
  56. package/dist/utils/__tests__/promoCodesUtils.test.d.ts.map +1 -0
  57. package/dist/utils/__tests__/promoCodesUtils.test.js +183 -0
  58. package/dist/utils/__tests__/promoCodesUtils.test.js.map +1 -0
  59. package/dist/utils/__tests__/qrCodeUtils.test.d.ts +2 -0
  60. package/dist/utils/__tests__/qrCodeUtils.test.d.ts.map +1 -0
  61. package/dist/utils/__tests__/qrCodeUtils.test.js +99 -0
  62. package/dist/utils/__tests__/qrCodeUtils.test.js.map +1 -0
  63. package/dist/utils/__tests__/stripeAccountUtils.test.d.ts +2 -0
  64. package/dist/utils/__tests__/stripeAccountUtils.test.d.ts.map +1 -0
  65. package/dist/utils/__tests__/stripeAccountUtils.test.js +75 -0
  66. package/dist/utils/__tests__/stripeAccountUtils.test.js.map +1 -0
  67. package/dist/utils/blog/__tests__/getRelatedBlogPosts.test.d.ts +2 -0
  68. package/dist/utils/blog/__tests__/getRelatedBlogPosts.test.d.ts.map +1 -0
  69. package/dist/utils/blog/__tests__/getRelatedBlogPosts.test.js +233 -0
  70. package/dist/utils/blog/__tests__/getRelatedBlogPosts.test.js.map +1 -0
  71. package/dist/utils/blog/blogCommentDbUtils.d.ts +161 -0
  72. package/dist/utils/blog/blogCommentDbUtils.d.ts.map +1 -0
  73. package/dist/utils/blog/blogCommentDbUtils.js +111 -0
  74. package/dist/utils/blog/blogCommentDbUtils.js.map +1 -0
  75. package/dist/utils/blog/blogDbUtils.d.ts +10 -0
  76. package/dist/utils/blog/blogDbUtils.d.ts.map +1 -1
  77. package/dist/utils/blog/blogDbUtils.js +71 -0
  78. package/dist/utils/blog/blogDbUtils.js.map +1 -1
  79. package/dist/utils/urlUtils.d.ts +10 -0
  80. package/dist/utils/urlUtils.d.ts.map +1 -1
  81. package/dist/utils/urlUtils.js +24 -5
  82. package/dist/utils/urlUtils.js.map +1 -1
  83. package/dist/utils/userUtils.d.ts +32 -0
  84. package/dist/utils/userUtils.d.ts.map +1 -1
  85. package/dist/utils/userUtils.js +27 -0
  86. package/dist/utils/userUtils.js.map +1 -1
  87. package/package.json +1 -1
  88. package/prisma/schema.prisma +927 -845
  89. package/src/__tests__/agePolicy.test.ts +257 -0
  90. package/src/__tests__/getDisplayGender.test.ts +50 -0
  91. package/src/__tests__/statusEnums.test.ts +36 -0
  92. package/src/definitions.ts +138 -1
  93. package/src/extendedSchemas.ts +41 -2
  94. package/src/index.ts +1 -0
  95. package/src/legalTemplates.ts +1 -1
  96. package/src/utils/__tests__/badgeUtils.test.ts +191 -0
  97. package/src/utils/__tests__/bashPointsPaymentUtils.test.ts +153 -0
  98. package/src/utils/__tests__/contentFilterUtils.test.ts +547 -0
  99. package/src/utils/__tests__/displayDateUtils.test.ts +113 -0
  100. package/src/utils/__tests__/getBackendHost.test.ts +128 -0
  101. package/src/utils/__tests__/getFrontendHost.test.ts +232 -0
  102. package/src/utils/__tests__/promoCodesUtils.test.ts +237 -0
  103. package/src/utils/__tests__/qrCodeUtils.test.ts +143 -0
  104. package/src/utils/__tests__/stripeAccountUtils.test.ts +93 -0
  105. package/src/utils/blog/__tests__/getRelatedBlogPosts.test.ts +271 -0
  106. package/src/utils/blog/blogCommentDbUtils.ts +161 -0
  107. package/src/utils/blog/blogDbUtils.ts +95 -1
  108. package/src/utils/urlUtils.ts +27 -5
  109. package/src/utils/userUtils.ts +40 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agePolicy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agePolicy.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/agePolicy.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * AgePolicy helpers — unit tests.
3
+ *
4
+ * `getAgeFromDob` and `meetsAgePolicy` are the source of truth for both:
5
+ * - the `GET /me/id-status` endpoint (which returns `verifiedAge`)
6
+ * - the checkout `IdRequirementGate` (which gates buy-button on min age)
7
+ *
8
+ * They must handle: missing input, invalid strings, the day-before-birthday
9
+ * edge case, and leap-day birthdays without throwing or off-by-one errors.
10
+ */
11
+ import { AgePolicy, AgePolicyLabel, AgePolicyMinimumAge, agePolicyToFilterLabel, eventMatchesAgeFilter, getAgeFromDob, legacyAgeRangeMatchesFilter, meetsAgePolicy, } from "../definitions";
12
+ describe("AgePolicyLabel", () => {
13
+ it("maps every enum value to a non-empty display label", () => {
14
+ for (const policy of Object.values(AgePolicy)) {
15
+ expect(typeof AgePolicyLabel[policy]).toBe("string");
16
+ expect(AgePolicyLabel[policy].length).toBeGreaterThan(0);
17
+ }
18
+ });
19
+ it("uses the marketing-friendly +/All Ages copy", () => {
20
+ expect(AgePolicyLabel[AgePolicy.AllAges]).toBe("All Ages");
21
+ expect(AgePolicyLabel[AgePolicy.EighteenPlus]).toBe("18+");
22
+ expect(AgePolicyLabel[AgePolicy.TwentyOnePlus]).toBe("21+");
23
+ });
24
+ });
25
+ describe("AgePolicyMinimumAge", () => {
26
+ it("returns null for unrestricted events", () => {
27
+ expect(AgePolicyMinimumAge[AgePolicy.AllAges]).toBeNull();
28
+ });
29
+ it("returns the explicit numeric minimum for restricted events", () => {
30
+ expect(AgePolicyMinimumAge[AgePolicy.EighteenPlus]).toBe(18);
31
+ expect(AgePolicyMinimumAge[AgePolicy.TwentyOnePlus]).toBe(21);
32
+ });
33
+ });
34
+ describe("getAgeFromDob", () => {
35
+ /** Build an ISO date string offset by a number of years, months, and days from now. */
36
+ const isoFromOffset = (years, months = 0, days = 0) => {
37
+ const d = new Date();
38
+ d.setFullYear(d.getFullYear() - years);
39
+ d.setMonth(d.getMonth() - months);
40
+ d.setDate(d.getDate() - days);
41
+ return d.toISOString();
42
+ };
43
+ it("returns null for null / undefined / empty input", () => {
44
+ expect(getAgeFromDob(null)).toBeNull();
45
+ expect(getAgeFromDob(undefined)).toBeNull();
46
+ expect(getAgeFromDob("")).toBeNull();
47
+ });
48
+ it("returns null when the date string cannot be parsed", () => {
49
+ expect(getAgeFromDob("not-a-date")).toBeNull();
50
+ expect(getAgeFromDob("2025-13-99")).toBeNull();
51
+ });
52
+ it("computes whole-year age for a clearly-past birthday", () => {
53
+ // Born 25 years ago, 1 month ago — birthday already passed this year.
54
+ expect(getAgeFromDob(isoFromOffset(25, 1))).toBe(25);
55
+ });
56
+ it("subtracts a year when birthday hasn't occurred yet this year", () => {
57
+ // Born 25 years ago + 1 month from now (birthday is next month).
58
+ const d = new Date();
59
+ d.setFullYear(d.getFullYear() - 25);
60
+ d.setMonth(d.getMonth() + 1);
61
+ expect(getAgeFromDob(d.toISOString())).toBe(24);
62
+ });
63
+ it("treats today as 'birthday already happened' (not subtracting a year)", () => {
64
+ // Born exactly 30 years ago today.
65
+ const d = new Date();
66
+ d.setFullYear(d.getFullYear() - 30);
67
+ expect(getAgeFromDob(d.toISOString())).toBe(30);
68
+ });
69
+ it("treats tomorrow's birthday as still being last year's age", () => {
70
+ // Born 30 years ago - 1 day (so birthday is tomorrow).
71
+ const d = new Date();
72
+ d.setFullYear(d.getFullYear() - 30);
73
+ d.setDate(d.getDate() + 1);
74
+ expect(getAgeFromDob(d.toISOString())).toBe(29);
75
+ });
76
+ it("accepts a Date instance, not just a string", () => {
77
+ const d = new Date();
78
+ d.setFullYear(d.getFullYear() - 40);
79
+ d.setMonth(d.getMonth() - 2);
80
+ expect(getAgeFromDob(d)).toBe(40);
81
+ });
82
+ it("returns 0 for a baby born earlier this year", () => {
83
+ // Born ~3 months ago — under 1 year old.
84
+ expect(getAgeFromDob(isoFromOffset(0, 3))).toBe(0);
85
+ });
86
+ });
87
+ describe("meetsAgePolicy", () => {
88
+ const yearsAgo = (n) => {
89
+ const d = new Date();
90
+ d.setFullYear(d.getFullYear() - n);
91
+ // back off a day to guarantee the birthday has occurred this year
92
+ d.setDate(d.getDate() - 1);
93
+ return d.toISOString();
94
+ };
95
+ it("All Ages always passes — even with no DOB", () => {
96
+ expect(meetsAgePolicy(AgePolicy.AllAges, null)).toBe(true);
97
+ expect(meetsAgePolicy(AgePolicy.AllAges, undefined)).toBe(true);
98
+ expect(meetsAgePolicy(AgePolicy.AllAges, yearsAgo(5))).toBe(true);
99
+ });
100
+ it("denies restricted policies when DOB is missing", () => {
101
+ expect(meetsAgePolicy(AgePolicy.EighteenPlus, null)).toBe(false);
102
+ expect(meetsAgePolicy(AgePolicy.TwentyOnePlus, undefined)).toBe(false);
103
+ });
104
+ it("18+ allows ages >= 18 and denies < 18", () => {
105
+ expect(meetsAgePolicy(AgePolicy.EighteenPlus, yearsAgo(17))).toBe(false);
106
+ expect(meetsAgePolicy(AgePolicy.EighteenPlus, yearsAgo(18))).toBe(true);
107
+ expect(meetsAgePolicy(AgePolicy.EighteenPlus, yearsAgo(40))).toBe(true);
108
+ });
109
+ it("21+ allows ages >= 21 and denies under-21 (including 18-, 20-year-olds)", () => {
110
+ expect(meetsAgePolicy(AgePolicy.TwentyOnePlus, yearsAgo(20))).toBe(false);
111
+ expect(meetsAgePolicy(AgePolicy.TwentyOnePlus, yearsAgo(21))).toBe(true);
112
+ expect(meetsAgePolicy(AgePolicy.TwentyOnePlus, yearsAgo(50))).toBe(true);
113
+ });
114
+ it("denies on invalid DOB strings (defensive fail-closed)", () => {
115
+ expect(meetsAgePolicy(AgePolicy.EighteenPlus, "not-a-date")).toBe(false);
116
+ expect(meetsAgePolicy(AgePolicy.TwentyOnePlus, "")).toBe(false);
117
+ });
118
+ });
119
+ describe("agePolicyToFilterLabel", () => {
120
+ it("maps each enum to its discover-filter chip label", () => {
121
+ expect(agePolicyToFilterLabel(AgePolicy.AllAges)).toBe("All Ages");
122
+ expect(agePolicyToFilterLabel(AgePolicy.EighteenPlus)).toBe("18+");
123
+ expect(agePolicyToFilterLabel(AgePolicy.TwentyOnePlus)).toBe("21+");
124
+ });
125
+ it("treats null / undefined (legacy events) as All Ages so they don't disappear from filters", () => {
126
+ expect(agePolicyToFilterLabel(null)).toBe("All Ages");
127
+ expect(agePolicyToFilterLabel(undefined)).toBe("All Ages");
128
+ });
129
+ });
130
+ describe("eventMatchesAgeFilter", () => {
131
+ it("matches everything when no labels are selected (no-op filter)", () => {
132
+ expect(eventMatchesAgeFilter(AgePolicy.AllAges, [])).toBe(true);
133
+ expect(eventMatchesAgeFilter(AgePolicy.TwentyOnePlus, [])).toBe(true);
134
+ expect(eventMatchesAgeFilter(null, [])).toBe(true);
135
+ });
136
+ it("matches when the event's policy is in the selected labels", () => {
137
+ expect(eventMatchesAgeFilter(AgePolicy.EighteenPlus, ["18+"])).toBe(true);
138
+ expect(eventMatchesAgeFilter(AgePolicy.TwentyOnePlus, ["21+", "All Ages"])).toBe(true);
139
+ });
140
+ it("does not match when the event's policy is excluded by the selection", () => {
141
+ expect(eventMatchesAgeFilter(AgePolicy.EighteenPlus, ["21+"])).toBe(false);
142
+ expect(eventMatchesAgeFilter(AgePolicy.AllAges, ["18+", "21+"])).toBe(false);
143
+ });
144
+ it("treats legacy 'Everyone' label as All Ages (back-compat with old saved filters)", () => {
145
+ expect(eventMatchesAgeFilter(AgePolicy.AllAges, ["Everyone"])).toBe(true);
146
+ expect(eventMatchesAgeFilter(AgePolicy.EighteenPlus, ["Everyone"])).toBe(false);
147
+ });
148
+ it("treats legacy events without an agePolicy as All Ages", () => {
149
+ expect(eventMatchesAgeFilter(null, ["All Ages"])).toBe(true);
150
+ expect(eventMatchesAgeFilter(null, ["18+"])).toBe(false);
151
+ });
152
+ });
153
+ describe("legacyAgeRangeMatchesFilter", () => {
154
+ // The legacy `targetAudience.ageRange` field was schema-free, so we have to
155
+ // tolerate strings, arrays, objects, null, and even checkbox-style payloads.
156
+ it("matches everything when no filter labels are selected (no-op filter)", () => {
157
+ expect(legacyAgeRangeMatchesFilter(null, [])).toBe(true);
158
+ expect(legacyAgeRangeMatchesFilter(["18+"], [])).toBe(true);
159
+ expect(legacyAgeRangeMatchesFilter("anything", [])).toBe(true);
160
+ });
161
+ it("matches '18+' filter when the legacy blob contains '18+'", () => {
162
+ expect(legacyAgeRangeMatchesFilter(["18+"], ["18+"])).toBe(true);
163
+ expect(legacyAgeRangeMatchesFilter("18+", ["18+"])).toBe(true);
164
+ expect(legacyAgeRangeMatchesFilter({ adults: "18+" }, ["18+"])).toBe(true);
165
+ });
166
+ it("matches '21+' filter only when the legacy blob contains '21+'", () => {
167
+ expect(legacyAgeRangeMatchesFilter(["21+"], ["21+"])).toBe(true);
168
+ expect(legacyAgeRangeMatchesFilter("18+", ["21+"])).toBe(false);
169
+ });
170
+ it("matches All Ages when blob is empty / missing (catches untagged legacy events)", () => {
171
+ expect(legacyAgeRangeMatchesFilter(null, ["All Ages"])).toBe(true);
172
+ expect(legacyAgeRangeMatchesFilter(undefined, ["All Ages"])).toBe(true);
173
+ expect(legacyAgeRangeMatchesFilter("", ["All Ages"])).toBe(true);
174
+ expect(legacyAgeRangeMatchesFilter([], ["All Ages"])).toBe(true);
175
+ });
176
+ it("matches All Ages when blob explicitly mentions 'All Ages' or 'Family Friendly'", () => {
177
+ expect(legacyAgeRangeMatchesFilter(["All Ages"], ["All Ages"])).toBe(true);
178
+ expect(legacyAgeRangeMatchesFilter(["Family Friendly"], ["All Ages"])).toBe(true);
179
+ });
180
+ it("does NOT match All Ages when blob carries a 21+ or 18+ marker", () => {
181
+ expect(legacyAgeRangeMatchesFilter(["18+"], ["All Ages"])).toBe(false);
182
+ expect(legacyAgeRangeMatchesFilter(["21+"], ["All Ages"])).toBe(false);
183
+ });
184
+ it("treats legacy 'Everyone' filter label as a synonym for All Ages", () => {
185
+ expect(legacyAgeRangeMatchesFilter(null, ["Everyone"])).toBe(true);
186
+ expect(legacyAgeRangeMatchesFilter(["18+"], ["Everyone"])).toBe(false);
187
+ });
188
+ it("returns true when ANY selected label matches (multi-select union semantics)", () => {
189
+ // Legacy blob says 21+; user selected both 18+ and 21+ — still a match.
190
+ expect(legacyAgeRangeMatchesFilter(["21+"], ["18+", "21+"])).toBe(true);
191
+ // Legacy blob says 21+; user selected only 18+ — no match.
192
+ expect(legacyAgeRangeMatchesFilter(["21+"], ["18+"])).toBe(false);
193
+ });
194
+ it("does not throw on values that JSON.stringify can't handle (defensive)", () => {
195
+ const cyclic = {};
196
+ cyclic.self = cyclic;
197
+ // Cyclic objects throw inside JSON.stringify; the helper does NOT swallow
198
+ // that error today, so we document the contract: callers must pass
199
+ // serializable values. (The MyBashesPage code path always does.)
200
+ expect(() => legacyAgeRangeMatchesFilter(cyclic, ["18+"])).toThrow();
201
+ });
202
+ });
203
+ //# sourceMappingURL=agePolicy.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agePolicy.test.js","sourceRoot":"","sources":["../../src/__tests__/agePolicy.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getDisplayGender.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDisplayGender.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/getDisplayGender.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * `getDisplayGender` precedence tests.
3
+ *
4
+ * Pins the contract that:
5
+ * - `genderIdentity` (free-text) **always wins** over the `gender` enum
6
+ * - whitespace-only `genderIdentity` is treated as absent
7
+ * - falsy `gender` (`null`, `undefined`) yields `null`, not the string "null"
8
+ * - the helper never throws on partial input
9
+ */
10
+ import { Gender } from "@prisma/client";
11
+ import { getDisplayGender } from "../utils/userUtils.js";
12
+ describe("getDisplayGender", () => {
13
+ it("returns genderIdentity when present, even if gender is also set", () => {
14
+ expect(getDisplayGender({
15
+ gender: Gender.Female,
16
+ genderIdentity: "Non-binary",
17
+ })).toBe("Non-binary");
18
+ });
19
+ it("returns the gender enum value when genderIdentity is empty/null", () => {
20
+ expect(getDisplayGender({ gender: Gender.Male, genderIdentity: null })).toBe("Male");
21
+ expect(getDisplayGender({ gender: Gender.Male, genderIdentity: "" })).toBe("Male");
22
+ });
23
+ it("trims whitespace-only genderIdentity and falls back to gender", () => {
24
+ expect(getDisplayGender({ gender: Gender.NoPreference, genderIdentity: " " })).toBe("NoPreference");
25
+ });
26
+ it("returns null when both fields are missing", () => {
27
+ expect(getDisplayGender({})).toBeNull();
28
+ expect(getDisplayGender({ gender: null, genderIdentity: null })).toBeNull();
29
+ });
30
+ it("returns the trimmed identity (no surrounding whitespace) when used alone", () => {
31
+ expect(getDisplayGender({ genderIdentity: " Genderfluid " })).toBe("Genderfluid");
32
+ });
33
+ });
34
+ //# sourceMappingURL=getDisplayGender.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDisplayGender.test.js","sourceRoot":"","sources":["../../src/__tests__/getDisplayGender.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CACJ,gBAAgB,CAAC;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,YAAY;SAC7B,CAAC,CACH,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CACJ,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAChE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACf,MAAM,CACJ,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CACJ,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CACzE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,CACJ,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CACzD,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,CACJ,gBAAgB,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,CACxD,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=statusEnums.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusEnums.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/statusEnums.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Pin the value sets of the three status enums introduced as part of the
3
+ * "stringly-typed status" cleanup. These enums are the contract between
4
+ * - api endpoints (uploadIdApi, serviceApi, adminDashboardSummaryApi)
5
+ * - bash-app UI components (IdRequirementGate, IdVerificationSection,
6
+ * CustomScopeRequestsAdminPage, ServicesRatesAndPricing)
7
+ * - the database (Postgres ENUM columns)
8
+ *
9
+ * Adding/removing/renaming a member without intentionally updating the
10
+ * migration + all callers should fail this test loudly.
11
+ */
12
+ import { CustomScopeStatus, GovIdRetentionPolicy, SchoolNameSource, } from "@prisma/client";
13
+ describe("status enum value sets", () => {
14
+ test("GovIdRetentionPolicy", () => {
15
+ expect(Object.values(GovIdRetentionPolicy).sort()).toEqual(["Indefinite", "ThirtyDays", "UntilIdExpires"].sort());
16
+ });
17
+ test("SchoolNameSource", () => {
18
+ expect(Object.values(SchoolNameSource).sort()).toEqual(["AiInferred", "UserConfirmed"].sort());
19
+ });
20
+ test("CustomScopeStatus", () => {
21
+ expect(Object.values(CustomScopeStatus).sort()).toEqual(["Approved", "None", "Pending", "Rejected"].sort());
22
+ });
23
+ });
24
+ //# sourceMappingURL=statusEnums.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusEnums.test.js","sourceRoot":"","sources":["../../src/__tests__/statusEnums.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CACxD,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,IAAI,EAAE,CACtD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CACpD,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,IAAI,EAAE,CACvC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CACrD,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Shared shapes for the AI bash-approval reviewer.
3
+ *
4
+ * The Zod runtime envelope lives in `api/src/utils/ai/aiApprovalEnvelope.ts` (zod is an api
5
+ * dependency, not a bash-common one). This file is the type-only source of truth that both
6
+ * the api worker and bash-app's admin UI/host-facing banners read.
7
+ *
8
+ * The persisted `BashEvent.aiApprovalReasons` JSON column is exactly an `AiApprovalReasons`.
9
+ */
10
+ /**
11
+ * Each criterion the model grades on.
12
+ *
13
+ * Keep this list short and stable — it controls the persisted JSON shape, the prompt
14
+ * the model sees, and the badges the admin UI renders. Adding a new criterion is a
15
+ * schema change (existing rows will be missing it).
16
+ */
17
+ export declare const AI_APPROVAL_CRITERION_KEYS: readonly ["completeness", "authenticity", "safety", "policyFit"];
18
+ export type AiApprovalCriterionKey = (typeof AI_APPROVAL_CRITERION_KEYS)[number];
19
+ /**
20
+ * Display labels for criteria — used in the admin queue and any host-facing breakdown.
21
+ * Keep keys exhaustive against `AiApprovalCriterionKey` (compiler will yell if drift).
22
+ */
23
+ export declare const AiApprovalCriterionLabel: Record<AiApprovalCriterionKey, string>;
24
+ /**
25
+ * One criterion's grade. `score` is 0..1; `notes` is short free-text the model wrote
26
+ * about why (shown in the admin UI tooltip / host rejection reasons).
27
+ */
28
+ export interface AiApprovalCriterionResult {
29
+ score: number;
30
+ notes: string;
31
+ }
32
+ /**
33
+ * Persisted shape for `BashEvent.aiApprovalReasons` (Json column).
34
+ *
35
+ * - `criteria` keys are exhaustive over `AiApprovalCriterionKey`.
36
+ * - `hostFacingMessage` is shown to the host on rejection; written specifically to be
37
+ * actionable ("Add a start time and a location, then resubmit"), not generic.
38
+ * Null on approve.
39
+ * - `adminFacingNotes` is for super-users in the review queue; can be more candid
40
+ * ("Looks like a duplicate of bash xyz" / "Probably a service ad in disguise").
41
+ */
42
+ export interface AiApprovalReasons {
43
+ criteria: Record<AiApprovalCriterionKey, AiApprovalCriterionResult>;
44
+ hostFacingMessage: string | null;
45
+ adminFacingNotes: string;
46
+ }
47
+ /**
48
+ * Feature-flag values for `AI_BASH_APPROVAL_MODE`.
49
+ *
50
+ * - `off` - AI service is never invoked. Existing manual-only workflow.
51
+ * - `shadow` - AI runs and persists verdict + reasons, but every outcome is `flag`.
52
+ * Admins still decide everything; we use the data to tune thresholds.
53
+ * - `auto-with-flag` - High-confidence approve/reject act automatically; the rest flag for human.
54
+ * - `auto-approve-only` - High-confidence approve acts automatically; rejects always flag for human.
55
+ */
56
+ export declare const AI_BASH_APPROVAL_MODES: readonly ["off", "shadow", "auto-with-flag", "auto-approve-only"];
57
+ export type AiBashApprovalMode = (typeof AI_BASH_APPROVAL_MODES)[number];
58
+ /**
59
+ * Default thresholds. Tune in the api consumer if behavior needs to change post-rollout;
60
+ * exporting here so tests in api can import a single source of truth.
61
+ */
62
+ export declare const AI_APPROVAL_AUTO_APPROVE_CONFIDENCE = 0.85;
63
+ export declare const AI_APPROVAL_AUTO_REJECT_CONFIDENCE = 0.9;
64
+ //# sourceMappingURL=aiApproval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiApproval.d.ts","sourceRoot":"","sources":["../src/aiApproval.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,kEAK7B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAK3E,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;IACpE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,mEAKzB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,mCAAmC,OAAO,CAAC;AACxD,eAAO,MAAM,kCAAkC,MAAM,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Shared shapes for the AI bash-approval reviewer.
3
+ *
4
+ * The Zod runtime envelope lives in `api/src/utils/ai/aiApprovalEnvelope.ts` (zod is an api
5
+ * dependency, not a bash-common one). This file is the type-only source of truth that both
6
+ * the api worker and bash-app's admin UI/host-facing banners read.
7
+ *
8
+ * The persisted `BashEvent.aiApprovalReasons` JSON column is exactly an `AiApprovalReasons`.
9
+ */
10
+ /**
11
+ * Each criterion the model grades on.
12
+ *
13
+ * Keep this list short and stable — it controls the persisted JSON shape, the prompt
14
+ * the model sees, and the badges the admin UI renders. Adding a new criterion is a
15
+ * schema change (existing rows will be missing it).
16
+ */
17
+ export const AI_APPROVAL_CRITERION_KEYS = [
18
+ "completeness", // title/description/date/location filled in well enough to publish
19
+ "authenticity", // looks like a real event, not a test/spam/duplicate
20
+ "safety", // no hate / violence / sexual / illegal content
21
+ "policyFit", // is actually a party/event we want to host (not a service ad, etc.)
22
+ ];
23
+ /**
24
+ * Display labels for criteria — used in the admin queue and any host-facing breakdown.
25
+ * Keep keys exhaustive against `AiApprovalCriterionKey` (compiler will yell if drift).
26
+ */
27
+ export const AiApprovalCriterionLabel = {
28
+ completeness: "Completeness",
29
+ authenticity: "Authenticity",
30
+ safety: "Safety",
31
+ policyFit: "Policy fit",
32
+ };
33
+ /**
34
+ * Feature-flag values for `AI_BASH_APPROVAL_MODE`.
35
+ *
36
+ * - `off` - AI service is never invoked. Existing manual-only workflow.
37
+ * - `shadow` - AI runs and persists verdict + reasons, but every outcome is `flag`.
38
+ * Admins still decide everything; we use the data to tune thresholds.
39
+ * - `auto-with-flag` - High-confidence approve/reject act automatically; the rest flag for human.
40
+ * - `auto-approve-only` - High-confidence approve acts automatically; rejects always flag for human.
41
+ */
42
+ export const AI_BASH_APPROVAL_MODES = [
43
+ "off",
44
+ "shadow",
45
+ "auto-with-flag",
46
+ "auto-approve-only",
47
+ ];
48
+ /**
49
+ * Default thresholds. Tune in the api consumer if behavior needs to change post-rollout;
50
+ * exporting here so tests in api can import a single source of truth.
51
+ */
52
+ export const AI_APPROVAL_AUTO_APPROVE_CONFIDENCE = 0.85;
53
+ export const AI_APPROVAL_AUTO_REJECT_CONFIDENCE = 0.9;
54
+ //# sourceMappingURL=aiApproval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiApproval.js","sourceRoot":"","sources":["../src/aiApproval.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,cAAc,EAAE,mEAAmE;IACnF,cAAc,EAAE,qDAAqD;IACrE,QAAQ,EAAQ,gDAAgD;IAChE,WAAW,EAAK,qEAAqE;CAC7E,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA2C;IAC9E,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,YAAY;CACxB,CAAC;AA2BF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,KAAK;IACL,QAAQ;IACR,gBAAgB;IAChB,mBAAmB;CACX,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AACxD,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BashEventType, BashPassTier, BracketType, CompetitionType, Contact, EntertainmentServiceType, JudgingType, MembershipTier, MusicGenreType, ServiceTypes, Ticket, TicketTier, User, YearsOfExperience } from "@prisma/client";
1
+ import { AgePolicy, BashEventType, BashPassTier, BracketType, CompetitionType, Contact, CustomScopeStatus, EntertainmentServiceType, GovIdRetentionPolicy, JudgingType, MembershipTier, MusicGenreType, SchoolNameSource, ServiceTypes, Ticket, TicketTier, User, YearsOfExperience } from "@prisma/client";
2
2
  import type { BashEventDressTags, BashEventVibeTags } from "@prisma/client";
3
3
  import { CheckoutExt, PublicUser, ServiceBookingExt, type UserExt } from "./extendedSchemas.js";
4
4
  import { LuxonDateRange } from "./utils/luxonUtils.js";
@@ -652,7 +652,49 @@ export declare const DressTagsToString: {
652
652
  export declare const YearsOfExperienceToString: {
653
653
  [key in YearsOfExperience]: string;
654
654
  };
655
- export { YearsOfExperience, EntertainmentServiceType, MusicGenreType, ServiceTypes, CompetitionType, JudgingType, BracketType };
655
+ export { AgePolicy, BracketType, CompetitionType, CustomScopeStatus, EntertainmentServiceType, GovIdRetentionPolicy, JudgingType, MusicGenreType, SchoolNameSource, ServiceTypes, YearsOfExperience, };
656
+ /**
657
+ * Display labels for `User.govIdRetentionPolicy` (settings UI, ID verification gate).
658
+ *
659
+ * The enum is the source of truth - read sites should never branch on a string literal
660
+ * like `"30days"`; use `GovIdRetentionPolicy.ThirtyDays` instead so a typo can't quietly
661
+ * mismatch on either the API or DB side.
662
+ */
663
+ export declare const GovIdRetentionPolicyLabel: Record<GovIdRetentionPolicy, string>;
664
+ /**
665
+ * Display labels for `Service.customScopeStatus` (admin dashboard, provider pricing UI).
666
+ */
667
+ export declare const CustomScopeStatusLabel: Record<CustomScopeStatus, string>;
668
+ /** Display label for an event's age policy (BashCard pill, filter UI, wizard). */
669
+ export declare const AgePolicyLabel: Record<AgePolicy, string>;
670
+ /** Minimum age (in years) implied by an event's age policy. `null` for All Ages. */
671
+ export declare const AgePolicyMinimumAge: Record<AgePolicy, number | null>;
672
+ /** Returns the user's age in whole years, or null if the DOB is missing/invalid. */
673
+ export declare function getAgeFromDob(dob: Date | string | null | undefined): number | null;
674
+ /** Whether the given DOB satisfies the policy's minimum age. AllAges is always true. */
675
+ export declare function meetsAgePolicy(policy: AgePolicy, dob: Date | string | null | undefined): boolean;
676
+ /** Discover-filter labels (kept human-friendly for chips and modal options). */
677
+ export type AgePolicyFilterLabel = "All Ages" | "18+" | "21+";
678
+ /** Map an enum value to the discover-filter label. */
679
+ export declare function agePolicyToFilterLabel(policy: AgePolicy | null | undefined): AgePolicyFilterLabel;
680
+ /**
681
+ * Whether an event's `agePolicy` matches a set of selected filter labels.
682
+ * Tolerates legacy "Everyone" copy by treating it as a synonym for "All Ages".
683
+ */
684
+ export declare function eventMatchesAgeFilter(eventAgePolicy: AgePolicy | null | undefined, selectedLabels: ReadonlyArray<string>): boolean;
685
+ /**
686
+ * Legacy fallback for events without `agePolicy`: scans the unstructured
687
+ * `targetAudience.ageRange` blob (which historically held arrays of strings,
688
+ * checkbox payloads, and free-text) for the canonical filter labels so that
689
+ * old data still appears in the All Ages / 18+ / 21+ filters.
690
+ *
691
+ * Matching rules (in priority order):
692
+ * - "21+" filter matches when the blob contains "21+".
693
+ * - "18+" filter matches when the blob contains "18+".
694
+ * - "All Ages" / "Everyone" matches when the blob contains "All Ages" or
695
+ * "Family Friendly", OR when neither "18+" nor "21+" appears.
696
+ */
697
+ export declare function legacyAgeRangeMatchesFilter(ageRange: unknown, selectedLabels: ReadonlyArray<string>): boolean;
656
698
  export type BashEventTypeToStringType = {
657
699
  [key in BashEventType]: string;
658
700
  };
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,cAAc,EAEd,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,IAAI,EACJ,iBAAiB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAO,MAAM,mBAAmB,EAAG,CAAU,CAAC;AAC9C,eAAO,MAAM,2BAA2B,QAEvC,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAG,KAAc,CAAC;AACzD,eAAO,MAAM,0BAA0B,EAAG,KAAc,CAAC;AACzD,eAAO,MAAM,qBAAqB,EAAG,KAAc,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAG,EAAW,CAAC;AAE3D,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAIpE,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAI5D,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAIjE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAG,aAAsB,CAAC;AAC/D,eAAO,MAAM,2BAA2B,EAAG,gBAAyB,CAAC;AACrE,eAAO,MAAM,0BAA0B,EAAG,eAAwB,CAAC;AACnE,eAAO,MAAM,iCAAiC,EAAG,qBAA8B,CAAC;AAChF,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,EAAG,MAAe,CAAC;AACnD,eAAO,MAAM,kBAAkB,EAAG,SAAkB,CAAC;AACrD,eAAO,MAAM,mBAAmB,EAAG,UAAmB,CAAC;AACvD,eAAO,MAAM,6BAA6B,EAAG,MAAe,CAAC;AAC7D,eAAO,MAAM,yBAAyB,EAAG,MAAe,CAAC;AACzD,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AAEjD,eAAO,MAAM,0BAA0B,EAAG,UAAmB,CAAC;AAC9D,eAAO,MAAM,kCAAkC;;;CAGrC,CAAC;AACX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,kCAAkC,CAAC,CAAC,MAAM,OAAO,kCAAkC,CAAC,CAAC;AAE/F,eAAO,MAAM,yBAAyB,EAAG,SAAkB,CAAC;AAE5D,eAAO,MAAM,kCAAkC,EAAG,kBAA2B,CAAC;AAC9E,eAAO,MAAM,0CAA0C;;;CAG7C,CAAC;AACX,MAAM,MAAM,8BAA8B,GACxC,CAAC,OAAO,0CAA0C,CAAC,CAAC,MAAM,OAAO,0CAA0C,CAAC,CAAC;AAE/G,eAAO,MAAM,wBAAwB,EAAG,cAAuB,CAAC;AAChE,eAAO,MAAM,gCAAgC;;;CAGnC,CAAC;AACX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAE3F,eAAO,MAAM,sBAAsB,EAAG,YAAqB,CAAC;AAC5D,eAAO,MAAM,8BAA8B;;;CAGjC,CAAC;AACX,MAAM,MAAM,mBAAmB,GAC7B,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC;AAEvF,eAAO,MAAM,4BAA4B,EAAG,GAAY,CAAC;AACzD,eAAO,MAAM,sDAAsD,EACjE,IAAa,CAAC;AAChB,eAAO,MAAM,+CAA+C,EAAG,IAAa,CAAC;AAC7E,eAAO,MAAM,6BAA6B,EAAG,IAAa,CAAC;AAE3D,eAAO,MAAM,6BAA6B,EAAG,GAAY,CAAC;AAC1D,eAAO,MAAM,kCAAkC,EAAG,GAAY,CAAC;AAQ/D,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;KAC9C,GAAG,IAAI,uBAAuB,GAAG,+BAA+B;CAClE,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGgB,CAAC;AAExD,eAAO,MAAM,mBAAmB,EAAG,uBAAgC,CAAC;AACpE,eAAO,MAAM,2BAA2B,2CACY,CAAC;AACrD,eAAO,MAAM,0BAA0B,0CACY,CAAC;AACpD,eAAO,MAAM,gCAAgC,EAC3C,gEAAyE,CAAC;AAC5E,eAAO,MAAM,+BAA+B,EAC1C,+DAAwE,CAAC;AAC3E,eAAO,MAAM,oCAAoC,2CACG,CAAC;AACrD,eAAO,MAAM,mCAAmC,0CACG,CAAC;AACpD,eAAO,MAAM,yCAAyC,EACpD,gEAAyE,CAAC;AAC5E,eAAO,MAAM,wCAAwC,EACnD,+DAAwE,CAAC;AAE3E,eAAO,MAAM,2CAA2C,EACtD,2HAAoI,CAAC;AACvI,eAAO,MAAM,0CAA0C,EACrD,0HAAmI,CAAC;AAEtI,eAAO,MAAM,gDAAgD,EAC3D,sHAA+H,CAAC;AAClI,eAAO,MAAM,+CAA+C,EAC1D,qHAA8H,CAAC;AAEjI,eAAO,MAAM,mCAAmC,EAC9C,oFAA6F,CAAC;AAChG,eAAO,MAAM,wCAAwC,EACnD,yFAAkG,CAAC;AAErG,eAAO,MAAM,wCAAwC,EACnD,gFAAyF,CAAC;AAC5F,eAAO,MAAM,6CAA6C,EACxD,qFAA8F,CAAC;AAEjG,eAAO,MAAM,uBAAuB,YAAsB,CAAC;AAE3D,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,cAAwB,CAAC;AAChE,eAAO,MAAM,eAAe,EAAG,cAAuB,CAAC;AACvD,eAAO,MAAM,eAAe,SAAmB,CAAC;AAChD,eAAO,MAAM,uBAAuB,0BAAoC,CAAC;AACzE,eAAO,MAAM,gBAAgB,iBAA2B,CAAC;AACzD,eAAO,MAAM,SAAS,UAAoB,CAAC;AAC3C,eAAO,MAAM,cAAc,mBAA6B,CAAC;AAEzD,eAAO,MAAM,kBAAkB,EAAG,YAAqB,CAAC;AAExD,eAAO,MAAM,6BAA6B,EAAG,GAAY,CAAC;AAE1D,eAAO,MAAM,8CAA8C,EAAG,CAAU,CAAC;AACzE,eAAO,MAAM,6BAA6B,EAAG,EAAW,CAAC;AACzD,eAAO,MAAM,qBAAqB,EAAG,CAAU,CAAC;AAEhD,eAAO,MAAM,oDAAoD,EAC/D,GAAY,CAAC;AACf,eAAO,MAAM,kDAAkD,EAAG,EAAW,CAAC;AAE9E,eAAO,MAAM,8DAA8D,EACzE,CAAU,CAAC;AAEb,eAAO,MAAM,YAAY,EAAG,GAAY,CAAC;AACzC,eAAO,MAAM,iBAAiB,EAAG,GAAY,CAAC;AAC9C,eAAO,MAAM,4BAA4B,EAAG,GAAY,CAAC;AACzD,eAAO,MAAM,6BAA6B,EAAG,GAAY,CAAC;AAC1D,eAAO,MAAM,qBAAqB,EAAG,GAAY,CAAC;AAClD,eAAO,MAAM,sBAAsB,EAAG,GAAY,CAAC;AACnD,eAAO,MAAM,mBAAmB,EAAG,GAAY,CAAC;AAChD,eAAO,MAAM,mBAAmB,EAAG,GAAY,CAAC;AAChD,eAAO,MAAM,wBAAwB,EACnC,+DAAwE,CAAC;AAE3E,eAAO,MAAM,0BAA0B,EAAG,EAAW,CAAC;AACtD,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,6BAA6B,EAAG,EAAW,CAAC;AACzD,eAAO,MAAM,0BAA0B,EAAG,EAAW,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAG,IAAa,CAAC;AAE3C,eAAO,MAAM,eAAe,EAAG,IAAa,CAAC;AAC7C,eAAO,MAAM,yBAAyB,QAAa,CAAC;AAEpD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,4BAA4B;;CAEJ,CAAC;AAEtC,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAC/D,MAAM,MAAM,sCAAsC,GAAG;KAClD,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CACpD,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE3D,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,4BAA4B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;IACnD,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9B,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAEhC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,yBAAyB,EACzB,WAAW,GAAG,SAAS,CACxB,GAAG;IACF,aAAa,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,uBAAuB,EACvB,YAAY,CACb,GAAG;IACF,UAAU,EAAE,8BAA8B,EAAE,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,qBAAqB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,EAAE,GAAG,uBAAuB,CAAC;AAEnE,MAAM,MAAM,2BAA2B,GAAG,EAEzC,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,2BAA2B,GAAG,EAIzC,GAAG,mCAAmC,CAAC;AAOxC,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,uBAAuB,CAAC;IACjC,WAAW,EAAE,mCAAmC,CAAC;IACjD,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;QACF,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE;YACT,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,MAAM,CAAC,EAAE;gBACP,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,EAAE,CAAC,EAAE,MAAM,CAAC;aACb,CAAC;SACH,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;CAErB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACzB,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,eAAe,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,kBAAkB,GAAG,2BAA2B,GAAG,uBAAuB,CAAC;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED,MAAM,WAAW,oCAAoC;IACnD,UAAU,EAAE,UAAU,CAAC;IACvB,uBAAuB,EAAE,sBAAsB,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IACnE,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,CAAC;IACd,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAClC,CAAC,EACD,CAAC,SAAS,aAAa,GAAG,aAAa,EAEvC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GACzC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,SAAS,CASrC;AAED;;;GAGG;AACH,eAAO,MAAM,4CAA4C,gEACC,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,+CAA+C,sHACyD,CAAC;AAEtH,oBAAY,YAAY;IACtB,OAAO,IAAI;IACX,mDAAmD,IAAA;IACnD,6BAA6B,IAAA;IAC7B,yBAAyB,IAAA;IACzB,wCAAwC,IAAA;IACxC,gBAAgB,IAAA;IAChB,iCAAiC,IAAA;IACjC,wBAAwB,IAAA;IACxB,wBAAwB,IAAA;IACxB,+CAA+C,KAAA;IAC/C,+BAA+B,KAAA;IAC/B,+BAA+B,KAAA;IAC/B,iBAAiB,KAAA;IACjB,yDAAyD,KAAA;IACzD,qBAAqB,KAAA;IACrB,wBAAwB,KAAA;IACxB,8BAA8B,KAAA;IAC9B,2EAA2E;IAC3E,sBAAsB,KAAA;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEvD,eAAO,MAAM,yBAAyB;;CAErC,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,gGAAgG;AAChG,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,0BAA0B,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,cAAc,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,+CAAgD,SAAQ,SAAS;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,mBAAmB,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAGpF,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yFAAyF;IACzF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gDAAiD,SAAQ,SAAS;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,0HAA0H;IAC1H,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,yCAAyC;CAIzD;AAED,MAAM,WAAW,oCAAoC;CAIpD;AAED,MAAM,WAAW,iCAAiC;IAChD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oCAAoC;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,0BAA0B,EAAE,OAAO,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IAEpB,cAAc,EAAE,mBAAmB,EAAE,CAAC;CACvC,GAAG,wBAAwB,CAAC;AAE7B,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;CAYnC,CAAC;AACF,eAAO,MAAM,sBAAsB,UAAuC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,EAAE;KAAG,GAAG,IAAI,iBAAiB,GAAG,MAAM;CAGlE,CAAC;AACF,eAAO,MAAM,iBAAiB,EAAE;KAAG,GAAG,IAAI,kBAAkB,GAAG,MAAM;CAIpE,CAAC;AAQF,eAAO,MAAM,yBAAyB,EAAE;KAAG,GAAG,IAAI,iBAAiB,GAAG,MAAM;CAMzE,CAAC;AAGJ,OAAO,EACH,SAAS,EACT,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GACpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAI1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAKpE,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAIpD,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAIhE,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAWlF;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAMT;AAED,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9D,sDAAsD;AACtD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GACnC,oBAAoB,CAKtB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EAC5C,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,GACpC,OAAO,CAMT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,OAAO,EACjB,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,GACpC,OAAO,CAaT;AAED,MAAM,MAAM,yBAAyB,GAAG;KACrC,GAAG,IAAI,aAAa,GAAG,MAAM;CAC/B,CAAC;AACF,eAAO,MAAM,qBAAqB,EAAE,yBAkInC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;KAC5D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACf,CAAC;AACF,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAE3D,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACvD,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GACxB,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAChC;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC7C,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GACrD,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GACzD,KAAK,GACP,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;CAC9C,CAAC,MAAM,CAAC,CAAC,GACV,KAAK,GACP,KAAK,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;AAErE,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GAC1C,CAAC,GACD,CAAC,SAAS,CAAC,GACX,CAAC,GACD,CAAC,SAAS,CAAC,GACX,CAAC,GACD,CAAC,SAAS,CAAC,GACX,CAAC,GACD,CAAC,SAAS,CAAC,GACX,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,YAAY,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,GAC5D,KAAK,GACL,CAAC,SAAS,MAAM,GAChB,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GACxB,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAChC;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC7C,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAE9C,GAAG,CAAC,GAAG,MAAM,EAAE,GACf,GAAG,CAAC,GACF,MAAM,GAAG,OAAO,kCAAkC,GAAG,YAAY,CACjE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,KAAK,CAAC,CACjB,GACC,MAAM,EAAE,GACd,KAAK,GACP,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GACrB,KAAK,GAED,GAAG,CAAC,GAAG,MAAM,EAAE,GACf,GAAG,CAAC,GACF,MAAM,GAAG,OAAO,kCAAkC,GAAG,YAAY,CACjE,CAAC,CAAC,CAAC,CAAC,EACJ,SAAS,CAAC,KAAK,CAAC,CACjB,GACC,MAAM,EAAE;CACnB,CAAC,MAAM,CAAC,CAAC,GACV,KAAK,GACP,KAAK,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;CACpB;AAED,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAED,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAGD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc,EAAE,eAAe;CAAG;AAElF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH;AAED,iFAAiF;AACjF,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GACzB,CAAC,eAAe,GACd,uBAAuB,GAAG;IACxB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC,GACJ;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,GAAG,uBAAuB,CAAC;AAGhC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA4C3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAoCnE,CAAC;AAGF,eAAO,MAAM,mBAAmB;8BACJ,MAAM;iCACH,MAAM;8BACT,MAAM;uCACG,MAAM;uCACN,MAAM;+BACd,MAAM;CAClC,CAAC;AAGF,eAAO,MAAM,oBAAoB;+BACJ,MAAM;+BACN,MAAM;kCACH,MAAM,UAAU,MAAM;;CAGrD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAG,mEAA4E,CAAC;AAGrH,eAAO,MAAM,QAAQ,EAAG,OAAgB,CAAC;AACzC,eAAO,MAAM,eAAe,EAAG,OAAgB,CAAC;AAChD,eAAO,MAAM,kBAAkB,EAAG,kEAA2E,CAAC;AAG9G,eAAO,MAAM,mBAAmB,EAAG,EAAW,CAAC;AAC/C,eAAO,MAAM,mBAAmB,EAAG,GAAY,CAAC;AAGhD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAGX,eAAO,MAAM,iBAAiB,sJAWpB,CAAC;AAEX,eAAO,MAAM,SAAS,EAAG,MAAe,CAAC"}