@shopware-ag/app-server-sdk 1.1.1 → 1.1.3

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 (35) hide show
  1. package/dist/commonjs/context-resolver.d.ts.map +1 -1
  2. package/dist/commonjs/context-resolver.js +4 -0
  3. package/dist/commonjs/context-resolver.js.map +1 -1
  4. package/dist/commonjs/helper/admin-api.d.ts +56 -0
  5. package/dist/commonjs/helper/admin-api.d.ts.map +1 -0
  6. package/dist/commonjs/helper/admin-api.js +126 -0
  7. package/dist/commonjs/helper/admin-api.js.map +1 -0
  8. package/dist/commonjs/helper/criteria.d.ts +377 -0
  9. package/dist/commonjs/helper/criteria.d.ts.map +1 -0
  10. package/dist/commonjs/helper/criteria.js +456 -0
  11. package/dist/commonjs/helper/criteria.js.map +1 -0
  12. package/dist/commonjs/http-client.js +2 -1
  13. package/dist/commonjs/http-client.js.map +1 -1
  14. package/dist/commonjs/integration/hono.d.ts +60 -0
  15. package/dist/commonjs/integration/hono.d.ts.map +1 -1
  16. package/dist/commonjs/integration/hono.js +34 -0
  17. package/dist/commonjs/integration/hono.js.map +1 -1
  18. package/dist/esm/context-resolver.d.ts.map +1 -1
  19. package/dist/esm/context-resolver.js +4 -0
  20. package/dist/esm/context-resolver.js.map +1 -1
  21. package/dist/esm/helper/admin-api.d.ts +56 -0
  22. package/dist/esm/helper/admin-api.d.ts.map +1 -0
  23. package/dist/esm/helper/admin-api.js +117 -0
  24. package/dist/esm/helper/admin-api.js.map +1 -0
  25. package/dist/esm/helper/criteria.d.ts +377 -0
  26. package/dist/esm/helper/criteria.d.ts.map +1 -0
  27. package/dist/esm/helper/criteria.js +452 -0
  28. package/dist/esm/helper/criteria.js.map +1 -0
  29. package/dist/esm/http-client.js +2 -1
  30. package/dist/esm/http-client.js.map +1 -1
  31. package/dist/esm/integration/hono.d.ts +60 -0
  32. package/dist/esm/integration/hono.d.ts.map +1 -1
  33. package/dist/esm/integration/hono.js +34 -0
  34. package/dist/esm/integration/hono.js.map +1 -1
  35. package/package.json +34 -1
@@ -0,0 +1,377 @@
1
+ export declare enum TotalCountMode {
2
+ NO_TOTAL_COUNT = 0,
3
+ EXACT_TOTAL_COUNT = 1,
4
+ PAGINATION_TOTAL_COUNT = 2
5
+ }
6
+ interface Filters {
7
+ contains: {
8
+ type: "contains";
9
+ field: string;
10
+ value: string;
11
+ };
12
+ prefix: {
13
+ type: "prefix";
14
+ field: string;
15
+ value: string;
16
+ };
17
+ suffix: {
18
+ type: "suffix";
19
+ field: string;
20
+ value: string;
21
+ };
22
+ equalsAny: {
23
+ type: "equalsAny";
24
+ field: string;
25
+ value: (string | number | boolean | null)[];
26
+ };
27
+ equals: {
28
+ type: "equals";
29
+ field: string;
30
+ value: string | number | boolean | null;
31
+ };
32
+ range: {
33
+ type: "range";
34
+ field: string;
35
+ parameters: {
36
+ lte?: string | number;
37
+ lt?: string | number;
38
+ gte?: string | number;
39
+ gt?: string | number;
40
+ };
41
+ };
42
+ not: {
43
+ type: "not";
44
+ operator: "and" | "AND" | "or" | "OR";
45
+ queries: SingleFilter[];
46
+ };
47
+ multi: {
48
+ type: "multi";
49
+ operator: "and" | "AND" | "or" | "OR";
50
+ queries: SingleFilter[];
51
+ };
52
+ }
53
+ interface Aggregations {
54
+ histogram: {
55
+ type: "histogram";
56
+ name: string;
57
+ field: string;
58
+ interval: string | null;
59
+ format: string | null;
60
+ aggregation: Aggregation | null;
61
+ timeZone: string | null;
62
+ };
63
+ terms: {
64
+ type: "terms";
65
+ name: string;
66
+ field: string;
67
+ limit?: number | null;
68
+ sort?: Sorting | null;
69
+ aggregation?: Aggregation | null;
70
+ };
71
+ sum: {
72
+ type: "sum";
73
+ name: string;
74
+ field: string;
75
+ };
76
+ stats: {
77
+ type: "stats";
78
+ name: string;
79
+ field: string;
80
+ };
81
+ min: {
82
+ type: "min";
83
+ name: string;
84
+ field: string;
85
+ };
86
+ max: {
87
+ type: "max";
88
+ name: string;
89
+ field: string;
90
+ };
91
+ count: {
92
+ type: "count";
93
+ name: string;
94
+ field: string;
95
+ };
96
+ avg: {
97
+ type: "avg";
98
+ name: string;
99
+ field: string;
100
+ };
101
+ entity: {
102
+ type: "entity";
103
+ name: string;
104
+ field: string;
105
+ definition: string;
106
+ };
107
+ filter: {
108
+ type: "filter";
109
+ name: string;
110
+ filter: SingleFilter[];
111
+ aggregation: Aggregation;
112
+ };
113
+ }
114
+ type ValueOf<T> = T[keyof T];
115
+ export type SingleFilter = ValueOf<Filters>;
116
+ type Aggregation = ValueOf<Aggregations>;
117
+ interface Include {
118
+ [entityName: string]: string[];
119
+ }
120
+ interface Association {
121
+ association: string;
122
+ criteria: Criteria;
123
+ }
124
+ interface Query {
125
+ score: number;
126
+ query: SingleFilter;
127
+ scoreField?: string;
128
+ }
129
+ interface Sorting {
130
+ field: string;
131
+ order: "ASC" | "DESC";
132
+ naturalSorting: boolean;
133
+ type?: string;
134
+ }
135
+ interface RequestParams {
136
+ ids?: string[];
137
+ page?: number;
138
+ limit?: number;
139
+ term?: string;
140
+ query?: Query[];
141
+ filter?: SingleFilter[];
142
+ "post-filter"?: SingleFilter[];
143
+ sort?: Sorting[];
144
+ aggregations?: Aggregation[];
145
+ grouping?: string[];
146
+ fields?: string[];
147
+ associations?: {
148
+ [association: string]: RequestParams;
149
+ };
150
+ includes?: Include;
151
+ "total-count-mode"?: TotalCountMode;
152
+ }
153
+ export declare class Criteria {
154
+ title: string | null;
155
+ page: number | null;
156
+ limit: number | null;
157
+ term: string | null;
158
+ filters: SingleFilter[];
159
+ ids: string[];
160
+ queries: Query[];
161
+ associations: Association[];
162
+ postFilter: SingleFilter[];
163
+ sortings: Sorting[];
164
+ aggregations: Aggregation[];
165
+ grouping: string[];
166
+ fields: string[];
167
+ totalCountMode: TotalCountMode | null;
168
+ includes: Include | null;
169
+ constructor(ids?: string[]);
170
+ /**
171
+ * Parses the current criteria and generates an object which can be provided to the api
172
+ */
173
+ toPayload(): RequestParams;
174
+ /**
175
+ * Allows to provide a title for the criteria. This title will be shown in the `repository.search` request url so it can be used for debugging in network's tab
176
+ */
177
+ setTitle(title: string): this;
178
+ getTitle(): string | null;
179
+ /**
180
+ * Allows to provide a list of ids which are used as a filter
181
+ */
182
+ setIds(ids: string[]): this;
183
+ /**
184
+ * Allows to configure the total value of a search result.
185
+ * 0 - no total count will be selected. Should be used if no pagination required (fastest)
186
+ * 1 - exact total count will be selected. Should be used if an exact pagination is required (slow)
187
+ * 2 - fetches limit * 5 + 1. Should be used if pagination can work with "next page exists" (fast)
188
+ */
189
+ setTotalCountMode(mode: TotalCountMode): this;
190
+ setPage(page: number): this;
191
+ setLimit(limit: number): this;
192
+ setTerm(term: string): this;
193
+ addFilter(filter: SingleFilter): this;
194
+ addIncludes(include: Include): this;
195
+ /**
196
+ * Adds the provided filter as post filter.
197
+ * Post filter will be considered for the documents query but not for the aggregations.
198
+ */
199
+ addPostFilter(filter: SingleFilter): this;
200
+ /**
201
+ * Allows to add different sortings for the criteria, to sort the entity result.
202
+ */
203
+ addSorting(sorting: Sorting): this;
204
+ /**
205
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Query\ScoreQuery.
206
+ * These queries are used to search for documents and score them with a ranking
207
+ */
208
+ addQuery(filter: SingleFilter, score: number, scoreField?: string | null): this;
209
+ /**
210
+ * Allows grouping the result by a specific field
211
+ */
212
+ addGrouping(field: string): this;
213
+ /**
214
+ * Allows loading partial fields for the result.
215
+ */
216
+ addFields(...field: string[]): this;
217
+ /**
218
+ * @param {Object} aggregation
219
+ */
220
+ addAggregation(aggregation: Aggregation): this;
221
+ /**
222
+ * Ensures that a criterion is created for each segment of the passed path.
223
+ * Existing Criteria objects are not overwritten.
224
+ * Returns the own instance
225
+ */
226
+ addAssociation(path: string): this;
227
+ /**
228
+ * Ensures that a criterion is created for each segment of the passed path.
229
+ * Returns the criteria instance of the last path segment
230
+ */
231
+ getAssociation(path: string): Criteria;
232
+ private getAssociationCriteria;
233
+ getLimit(): number;
234
+ getPage(): number;
235
+ hasAssociation(property: string): boolean;
236
+ /**
237
+ * Resets the sorting parameter
238
+ */
239
+ resetSorting(): void;
240
+ /**
241
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\AvgAggregation
242
+ * Allows to calculate the avg value for the provided field
243
+ */
244
+ static avg(name: string, field: string): Aggregations["avg"];
245
+ /**
246
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\CountAggregation
247
+ * Allows to calculate the count value for the provided field
248
+ */
249
+ static count(name: string, field: string): Aggregations["count"];
250
+ /**
251
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\MaxAggregation
252
+ * Allows to calculate the max value for the provided field
253
+ */
254
+ static max(name: string, field: string): Aggregations["max"];
255
+ /**
256
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\MinAggregation
257
+ * Allows to calculate the min value for the provided field
258
+ */
259
+ static min(name: string, field: string): Aggregations["min"];
260
+ /**
261
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\StatsAggregation
262
+ * Allows to calculate the sum, max, min, avg, count values for the provided field
263
+ */
264
+ static stats(name: string, field: string): Aggregations["stats"];
265
+ /**
266
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\SumAggregation
267
+ * Allows to calculate the sum value for the provided field
268
+ */
269
+ static sum(name: string, field: string): Aggregations["sum"];
270
+ /**
271
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\TermsAggregation
272
+ * Allows to fetch term buckets for the provided field
273
+ */
274
+ static terms(name: string, field: string, limit?: number | null, sort?: Sorting | null, aggregation?: Aggregation | null): Aggregations["terms"];
275
+ /**
276
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\EntityAggregation
277
+ * Allows to filter an aggregation result
278
+ */
279
+ static entityAggregation(name: string, field: string, definition: string): Aggregations["entity"];
280
+ /**
281
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\FilterAggregation
282
+ * Allows to filter an aggregation result
283
+ */
284
+ static filter(name: string, filter: SingleFilter[], aggregation: Aggregation): Aggregations["filter"];
285
+ /**
286
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\DateHistogramAggregation
287
+ * Allows to fetch date buckets for the provided date interval
288
+ */
289
+ static histogram(name: string, field: string, interval?: string | null, format?: string | null, aggregation?: Aggregation | null, timeZone?: string | null): Aggregations["histogram"];
290
+ /**
291
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting.
292
+ * Allows to sort the documents by the provided field
293
+ */
294
+ static sort(field: string, order?: Sorting["order"], naturalSorting?: boolean): Sorting;
295
+ /**
296
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting.
297
+ * Allows to sort the documents by the provided field naturally
298
+ */
299
+ static naturalSorting(field: string, order?: Sorting["order"]): Sorting;
300
+ /**
301
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\CountSorting.
302
+ * Allows to sort the documents by counting associations via the provided field
303
+ *
304
+ * Sql representation: `ORDER BY COUNT({field}) {order}`
305
+ */
306
+ static countSorting(field: string, order?: Sorting["order"]): Sorting;
307
+ /**
308
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\ContainsFilter.
309
+ * This allows to filter documents where the value are contained in the provided field.
310
+ *
311
+ * Sql representation: `{field} LIKE %{value}%`
312
+ */
313
+ static contains(field: string, value: string): Filters["contains"];
314
+ /**
315
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\PrefixFilter.
316
+ * This allows to filter documents where the value marks the beginning of the provided field.
317
+ *
318
+ * Sql representation: `{field} LIKE {value}%`
319
+ */
320
+ static prefix(field: string, value: string): Filters["prefix"];
321
+ /**
322
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\SuffixFilter.
323
+ * This allows to filter documents where the value marks the end of the provided field.
324
+ *
325
+ * Sql representation: `{field} LIKE %{value}`
326
+ */
327
+ static suffix(field: string, value: string): Filters["suffix"];
328
+ /**
329
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsAnyFilter.
330
+ * This allows to filter documents where the field matches one of the provided values
331
+ *
332
+ * Sql representation: `{field} IN ({value}, {value})`
333
+ */
334
+ static equalsAny(field: string, value: (string | number | boolean | null)[]): Filters["equalsAny"];
335
+ /**
336
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\RangeFilter.
337
+ * This allows to filter documents where the field matches a defined range
338
+ *
339
+ * Sql representation: `{field} >= {value}`, `{field} <= {value}`, ...
340
+ */
341
+ static range(field: string, range: Filters["range"]["parameters"]): Filters["range"];
342
+ /**
343
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter.
344
+ * This allows to filter documents where the field matches a defined range
345
+ *
346
+ * Sql representation: `{field} = {value}`
347
+ */
348
+ static equals(field: string, value: string | number | boolean | null): Filters["equals"];
349
+ /**
350
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\NotFilter.
351
+ * This allows to filter documents which not matches for the provided filters
352
+ * All above listed queries can be provided (equals, equalsAny, range, contains)
353
+ *
354
+ * Sql representation: `NOT({query} {operator} {query} {operator} {query})`
355
+ *
356
+ * @param {string} operator - and/or
357
+ * @param {array} queries
358
+ *
359
+ * @returns {Object}
360
+ */
361
+ static not(operator: Filters["not"]["operator"], queries?: SingleFilter[]): Filters["not"];
362
+ /**
363
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\NotFilter.
364
+ * This allows to filter documents which matches for the provided filters
365
+ * All above listed queries can be provided (equals, equalsAny, range, contains)
366
+ *
367
+ * Sql representation: `({query} {operator} {query} {operator} {query})`
368
+ *
369
+ * @param {string} operator - and/or
370
+ * @param {array} queries
371
+ *
372
+ * @returns {Object}
373
+ */
374
+ static multi(operator: Filters["multi"]["operator"], queries?: SingleFilter[]): Filters["multi"];
375
+ }
376
+ export {};
377
+ //# sourceMappingURL=criteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../src/helper/criteria.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IAEzB,cAAc,IAAI;IAElB,iBAAiB,IAAI;IAErB,sBAAsB,IAAI;CAC1B;AAED,UAAU,OAAO;IAChB,QAAQ,EAAE;QACT,IAAI,EAAE,UAAU,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE;QACV,IAAI,EAAE,WAAW,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;KAC5C,CAAC;IACF,MAAM,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;KACxC,CAAC;IACF,KAAK,EAAE;QACN,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE;YACX,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;YACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;YACrB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;YACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;SACrB,CAAC;KACF,CAAC;IACF,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;QACtC,OAAO,EAAE,YAAY,EAAE,CAAC;KACxB,CAAC;IACF,KAAK,EAAE;QACN,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;QACtC,OAAO,EAAE,YAAY,EAAE,CAAC;KACxB,CAAC;CACF;AAED,UAAU,YAAY;IACrB,SAAS,EAAE;QACV,IAAI,EAAE,WAAW,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;QAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,KAAK,EAAE;QACN,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACtB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE;QACN,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE;QACN,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,YAAY,EAAE,CAAC;QACvB,WAAW,EAAE,WAAW,CAAC;KACzB,CAAC;CACF;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5C,KAAK,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEzC,UAAU,OAAO;IAChB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AACD,UAAU,WAAW;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACnB;AACD,UAAU,KAAK;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,UAAU,OAAO;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,aAAa;IACtB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE;QACd,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAAC;KACrC,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,cAAc,CAAC;CACpC;AAED,qBAAa,QAAQ;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd,OAAO,EAAE,KAAK,EAAE,CAAC;IAEjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,UAAU,EAAE,YAAY,EAAE,CAAC;IAE3B,QAAQ,EAAE,OAAO,EAAE,CAAC;IAEpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAEtC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;gBAEb,GAAG,GAAE,MAAM,EAAO;IAkB9B;;OAEG;IACH,SAAS,IAAI,aAAa;IAyD1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,QAAQ,IAAI,MAAM,GAAG,IAAI;IAGzB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAK3B;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAS7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAMrC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAenC;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAKzC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKlC;;;OAGG;IACH,QAAQ,CACP,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAM,GAAG,IAAW,GAC9B,IAAI;IAYP;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhC;;OAEG;IACH,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMnC;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAK9C;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMlC;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAqBtC,OAAO,CAAC,sBAAsB;IAoB9B,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,MAAM;IAIjB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMzC;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAI5D;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IAIhE;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAI5D;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAI5D;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IAIhE;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAI5D;;;OAGG;IACH,MAAM,CAAC,KAAK,CACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,IAAI,GAAE,OAAO,GAAG,IAAW,EAC3B,WAAW,GAAE,WAAW,GAAG,IAAW,GACpC,YAAY,CAAC,OAAO,CAAC;IAIxB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAChB,YAAY,CAAC,QAAQ,CAAC;IAIzB;;;OAGG;IACH,MAAM,CAAC,MAAM,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EAAE,EACtB,WAAW,EAAE,WAAW,GACtB,YAAY,CAAC,QAAQ,CAAC;IAIzB;;;OAGG;IACH,MAAM,CAAC,SAAS,CACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,WAAW,GAAE,WAAW,GAAG,IAAW,EACtC,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC5B,YAAY,CAAC,WAAW,CAAC;IAY5B;;;OAGG;IACH,MAAM,CAAC,IAAI,CACV,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,OAAO,CAAC,OAAO,CAAS,EAC/B,cAAc,UAAQ,GACpB,OAAO;IAIV;;;OAGG;IACH,MAAM,CAAC,cAAc,CACpB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,OAAO,CAAC,OAAO,CAAS,GAC7B,OAAO;IAIV;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,OAAO,CAAC,OAAO,CAAS,GAAG,OAAO;IAI5E;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIlE;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9D;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GACzC,OAAO,CAAC,WAAW,CAAC;IAIvB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC;IAInB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GACrC,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CACT,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EACpC,OAAO,GAAE,YAAY,EAAO,GAC1B,OAAO,CAAC,KAAK,CAAC;IAIjB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CACX,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EACtC,OAAO,GAAE,YAAY,EAAO,GAC1B,OAAO,CAAC,OAAO,CAAC;CAGnB"}