@vendure/core 3.6.5-master-202606290309 → 3.6.5-master-202607010309
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/resolvers/shop/shop-products.resolver.d.ts +8 -0
- package/dist/api/resolvers/shop/shop-products.resolver.js +23 -5
- package/dist/api/resolvers/shop/shop-products.resolver.js.map +1 -1
- package/dist/i18n/messages/en.json +2 -0
- package/dist/service/helpers/list-query-builder/parse-filter-params.js +2 -0
- package/dist/service/helpers/list-query-builder/parse-filter-params.js.map +1 -1
- package/dist/service/helpers/list-query-builder/validate-regex-filter.d.ts +22 -0
- package/dist/service/helpers/list-query-builder/validate-regex-filter.js +177 -0
- package/dist/service/helpers/list-query-builder/validate-regex-filter.js.map +1 -0
- package/dist/service/services/asset.service.d.ts +7 -0
- package/dist/service/services/asset.service.js +115 -3
- package/dist/service/services/asset.service.js.map +1 -1
- package/package.json +3 -2
|
@@ -27,5 +27,13 @@ export declare class ShopProductsResolver {
|
|
|
27
27
|
collection(ctx: RequestContext, args: QueryCollectionArgs, relations: RelationPaths<Collection>): Promise<Translated<Collection> | undefined>;
|
|
28
28
|
search(...args: any): Promise<Omit<SearchResponse, 'facetValues'>>;
|
|
29
29
|
facets(ctx: RequestContext, args: QueryFacetsArgs, relations: RelationPaths<Facet>): Promise<PaginatedList<Translated<Facet>>>;
|
|
30
|
+
/**
|
|
31
|
+
* Combines the caller-supplied filter with a mandatory `guard` filter using AND semantics,
|
|
32
|
+
* while preserving the caller's `filterOperator` over their own filter fields. This ensures
|
|
33
|
+
* the guard (e.g. `enabled: true`) is always applied, independently of the caller's
|
|
34
|
+
* `filterOperator`, by nesting the caller's fields (combined by their operator) inside an
|
|
35
|
+
* AND block alongside the guard.
|
|
36
|
+
*/
|
|
37
|
+
private enforceGuardFilter;
|
|
30
38
|
facet(ctx: RequestContext, args: QueryFacetArgs, relations: RelationPaths<Facet>): Promise<Translated<Facet> | undefined>;
|
|
31
39
|
}
|
|
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.ShopProductsResolver = void 0;
|
|
16
16
|
const graphql_1 = require("@nestjs/graphql");
|
|
17
|
+
const generated_types_1 = require("@vendure/common/lib/generated-types");
|
|
17
18
|
const request_context_cache_service_1 = require("../../../cache/request-context-cache.service");
|
|
18
19
|
const constants_1 = require("../../../common/constants");
|
|
19
20
|
const errors_1 = require("../../../common/error/errors");
|
|
@@ -38,7 +39,7 @@ let ShopProductsResolver = class ShopProductsResolver {
|
|
|
38
39
|
this.requestContextCache = requestContextCache;
|
|
39
40
|
}
|
|
40
41
|
async products(ctx, args, relations) {
|
|
41
|
-
const options =
|
|
42
|
+
const options = this.enforceGuardFilter(args.options, { enabled: { eq: true } });
|
|
42
43
|
return this.productService.findAll(ctx, options, relations);
|
|
43
44
|
}
|
|
44
45
|
async product(ctx, args, relations) {
|
|
@@ -63,8 +64,8 @@ let ShopProductsResolver = class ShopProductsResolver {
|
|
|
63
64
|
return result;
|
|
64
65
|
}
|
|
65
66
|
async collections(ctx, args, relations, info) {
|
|
66
|
-
const options =
|
|
67
|
-
const collections = await this.collectionService.findAll(ctx, options
|
|
67
|
+
const options = this.enforceGuardFilter(args.options, { isPrivate: { eq: false } });
|
|
68
|
+
const collections = await this.collectionService.findAll(ctx, options, relations);
|
|
68
69
|
// Cache the variant counts query promise if productVariantCount is requested,
|
|
69
70
|
// allowing the DB query to start before the field resolvers are called
|
|
70
71
|
if ((0, is_field_in_selection_1.isFieldInSelection)(info, 'productVariantCount')) {
|
|
@@ -97,8 +98,25 @@ let ShopProductsResolver = class ShopProductsResolver {
|
|
|
97
98
|
throw new errors_1.InternalServerError('error.no-search-plugin-configured');
|
|
98
99
|
}
|
|
99
100
|
async facets(ctx, args, relations) {
|
|
100
|
-
const options =
|
|
101
|
-
return this.facetService.findAll(ctx, options
|
|
101
|
+
const options = this.enforceGuardFilter(args.options, { isPrivate: { eq: false } });
|
|
102
|
+
return this.facetService.findAll(ctx, options, relations);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Combines the caller-supplied filter with a mandatory `guard` filter using AND semantics,
|
|
106
|
+
* while preserving the caller's `filterOperator` over their own filter fields. This ensures
|
|
107
|
+
* the guard (e.g. `enabled: true`) is always applied, independently of the caller's
|
|
108
|
+
* `filterOperator`, by nesting the caller's fields (combined by their operator) inside an
|
|
109
|
+
* AND block alongside the guard.
|
|
110
|
+
*/
|
|
111
|
+
enforceGuardFilter(options, guard) {
|
|
112
|
+
const userFilter = options === null || options === void 0 ? void 0 : options.filter;
|
|
113
|
+
if (!userFilter || Object.keys(userFilter).length === 0) {
|
|
114
|
+
// Guard is the only filter field, so `filterOperator` is moot (AND/OR over a single
|
|
115
|
+
// condition are equivalent); clearing it avoids carrying a now-meaningless operator.
|
|
116
|
+
return Object.assign(Object.assign({}, options), { filter: guard, filterOperator: undefined });
|
|
117
|
+
}
|
|
118
|
+
const userBlock = ((options === null || options === void 0 ? void 0 : options.filterOperator) === generated_types_1.LogicalOperator.OR ? { _or: [userFilter] } : { _and: [userFilter] });
|
|
119
|
+
return Object.assign(Object.assign({}, options), { filter: { _and: [userBlock, guard] }, filterOperator: undefined });
|
|
102
120
|
}
|
|
103
121
|
async facet(ctx, args, relations) {
|
|
104
122
|
const facet = await this.facetService.findOne(ctx, args.id, relations);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shop-products.resolver.js","sourceRoot":"","sources":["../../../../src/api/resolvers/shop/shop-products.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA8D;
|
|
1
|
+
{"version":3,"file":"shop-products.resolver.js","sourceRoot":"","sources":["../../../../src/api/resolvers/shop/shop-products.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,8 @@
|
|
|
51
51
|
"product-variant-option-ids-not-compatible": "ProductVariant optionIds must include one optionId from each of the groups: {groupNames}",
|
|
52
52
|
"product-variant-options-combination-already-exists": "A ProductVariant with the selected options already exists: {variantName}",
|
|
53
53
|
"promotion-channels-can-only-be-changed-from-default-channel": "Promotions channels may only be changed from the Default Channel",
|
|
54
|
+
"regex-filter-pattern-too-long": "The regex filter pattern exceeds the maximum allowed length of { max } characters",
|
|
55
|
+
"regex-filter-pattern-unsafe": "The regex filter pattern is not allowed as it may cause excessive resource consumption",
|
|
54
56
|
"stockonhand-cannot-be-negative": "stockOnHand cannot be a negative value",
|
|
55
57
|
"superadmin-must-have-superadmin-role": "Cannot remove the SuperAdmin role from the sole SuperAdmin",
|
|
56
58
|
"target-customer-not-assigned-to-order-channels": "The target Customer is not assigned to the same Channels as the Order. Missing channels IDs: { missingChannelIds }",
|
|
@@ -7,6 +7,7 @@ const DateUtils_1 = require("typeorm/util/DateUtils");
|
|
|
7
7
|
const errors_1 = require("../../../common/error/errors");
|
|
8
8
|
const connection_utils_1 = require("./connection-utils");
|
|
9
9
|
const get_calculated_columns_1 = require("./get-calculated-columns");
|
|
10
|
+
const validate_regex_filter_1 = require("./validate-regex-filter");
|
|
10
11
|
/**
|
|
11
12
|
* @description
|
|
12
13
|
* Parses filter parameters from a GraphQL query and converts them into SQL WHERE conditions.
|
|
@@ -206,6 +207,7 @@ function buildWhereCondition(fieldName, operator, operand, argIndex, dbType) {
|
|
|
206
207
|
}
|
|
207
208
|
}
|
|
208
209
|
case 'regex':
|
|
210
|
+
(0, validate_regex_filter_1.assertSafeRegexFilter)(operand);
|
|
209
211
|
return {
|
|
210
212
|
clause: getRegexpClause(fieldName, argIndex, dbType),
|
|
211
213
|
parameters: { [`arg${argIndex}`]: operand },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-filter-params.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/parse-filter-params.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parse-filter-params.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/parse-filter-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maximum permitted length of a `regex` filter pattern. Patterns longer than this
|
|
3
|
+
* are rejected outright as a cheap first line of defence before any structural analysis.
|
|
4
|
+
*/
|
|
5
|
+
export declare const MAX_REGEX_FILTER_LENGTH = 100;
|
|
6
|
+
/**
|
|
7
|
+
* Validates a user-supplied `StringOperators.regex` filter value, throwing a
|
|
8
|
+
* {@link UserInputError} if the pattern is too long or has a structure prone to
|
|
9
|
+
* catastrophic backtracking (ReDoS).
|
|
10
|
+
*
|
|
11
|
+
* The `regex` filter is exposed on the public Shop API and, on SQLite backends, is
|
|
12
|
+
* evaluated by a synchronous JS user-defined function on the Node.js event loop. An
|
|
13
|
+
* unvalidated pattern such as `(a+)+$` can therefore block the entire server. This
|
|
14
|
+
* check is a conservative static analysis applied at the single parse-layer choke
|
|
15
|
+
* point, so it protects all database backends regardless of how they evaluate the regex.
|
|
16
|
+
*
|
|
17
|
+
* It is a heuristic, not a proof: it reliably rejects exponential nested-quantifier
|
|
18
|
+
* patterns (star height >= 2) but does not attempt to catch every pathological regex
|
|
19
|
+
* (e.g. alternation-overlap such as `(a|a)+`). Combined with the length cap, it closes
|
|
20
|
+
* the documented attack class while leaving legitimate filters untouched.
|
|
21
|
+
*/
|
|
22
|
+
export declare function assertSafeRegexFilter(pattern: string): void;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_REGEX_FILTER_LENGTH = void 0;
|
|
4
|
+
exports.assertSafeRegexFilter = assertSafeRegexFilter;
|
|
5
|
+
const errors_1 = require("../../../common/error/errors");
|
|
6
|
+
/**
|
|
7
|
+
* Maximum permitted length of a `regex` filter pattern. Patterns longer than this
|
|
8
|
+
* are rejected outright as a cheap first line of defence before any structural analysis.
|
|
9
|
+
*/
|
|
10
|
+
exports.MAX_REGEX_FILTER_LENGTH = 100;
|
|
11
|
+
/**
|
|
12
|
+
* Validates a user-supplied `StringOperators.regex` filter value, throwing a
|
|
13
|
+
* {@link UserInputError} if the pattern is too long or has a structure prone to
|
|
14
|
+
* catastrophic backtracking (ReDoS).
|
|
15
|
+
*
|
|
16
|
+
* The `regex` filter is exposed on the public Shop API and, on SQLite backends, is
|
|
17
|
+
* evaluated by a synchronous JS user-defined function on the Node.js event loop. An
|
|
18
|
+
* unvalidated pattern such as `(a+)+$` can therefore block the entire server. This
|
|
19
|
+
* check is a conservative static analysis applied at the single parse-layer choke
|
|
20
|
+
* point, so it protects all database backends regardless of how they evaluate the regex.
|
|
21
|
+
*
|
|
22
|
+
* It is a heuristic, not a proof: it reliably rejects exponential nested-quantifier
|
|
23
|
+
* patterns (star height >= 2) but does not attempt to catch every pathological regex
|
|
24
|
+
* (e.g. alternation-overlap such as `(a|a)+`). Combined with the length cap, it closes
|
|
25
|
+
* the documented attack class while leaving legitimate filters untouched.
|
|
26
|
+
*/
|
|
27
|
+
function assertSafeRegexFilter(pattern) {
|
|
28
|
+
if (pattern.length > exports.MAX_REGEX_FILTER_LENGTH) {
|
|
29
|
+
throw new errors_1.UserInputError('error.regex-filter-pattern-too-long', { max: exports.MAX_REGEX_FILTER_LENGTH });
|
|
30
|
+
}
|
|
31
|
+
if (getRegexStarHeight(pattern) >= 2) {
|
|
32
|
+
throw new errors_1.UserInputError('error.regex-filter-pattern-unsafe');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Computes the "star height" of a regex pattern: the deepest nesting of *amplifying*
|
|
37
|
+
* quantifiers (those that can match 2+ times — `*`, `+`, `{n,}`, `{n,m}` with max >= 2).
|
|
38
|
+
* A value >= 2 means an amplifying quantifier is applied to a sub-expression that itself
|
|
39
|
+
* contains one (e.g. `(a+)+`), which is the structure responsible for exponential
|
|
40
|
+
* backtracking. Bounded quantifiers (`?`, `{0,1}`, `{1}`) do not amplify.
|
|
41
|
+
*
|
|
42
|
+
* Escaped characters and character classes are treated as single atoms so their contents
|
|
43
|
+
* are never mistaken for grouping or quantifier syntax.
|
|
44
|
+
*/
|
|
45
|
+
function getRegexStarHeight(pattern) {
|
|
46
|
+
// Each frame records whether the group at that nesting level already contains an
|
|
47
|
+
// amplifying quantifier. Index 0 is the implicit top-level group.
|
|
48
|
+
const stack = [{ hasAmplifier: false }];
|
|
49
|
+
let maxHeight = 0;
|
|
50
|
+
let i = 0;
|
|
51
|
+
const n = pattern.length;
|
|
52
|
+
while (i < n) {
|
|
53
|
+
const char = pattern[i];
|
|
54
|
+
if (char === '(') {
|
|
55
|
+
stack.push({ hasAmplifier: false });
|
|
56
|
+
i = skipGroupPrefix(pattern, i + 1);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (char === ')') {
|
|
60
|
+
const frame = stack.length > 1 ? stack.pop() : stack[0];
|
|
61
|
+
const quantifier = readQuantifier(pattern, i + 1);
|
|
62
|
+
i = quantifier.present ? quantifier.next : i + 1;
|
|
63
|
+
const parent = stack[stack.length - 1];
|
|
64
|
+
if (quantifier.amplifying) {
|
|
65
|
+
// The group is repeated by an amplifying quantifier, so it is itself an
|
|
66
|
+
// amplifier in the parent's body. If the group also contains one, that is
|
|
67
|
+
// amplifier-over-amplifier: star height >= 2.
|
|
68
|
+
parent.hasAmplifier = true;
|
|
69
|
+
maxHeight = Math.max(maxHeight, frame.hasAmplifier ? 2 : 1);
|
|
70
|
+
}
|
|
71
|
+
else if (frame.hasAmplifier) {
|
|
72
|
+
// Grouping is transparent to star height: an amplifier inside an
|
|
73
|
+
// unquantified group still counts as an amplifier in the parent's body.
|
|
74
|
+
parent.hasAmplifier = true;
|
|
75
|
+
}
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
// Otherwise the current position starts an atom (escaped char, character class,
|
|
79
|
+
// or single literal/metacharacter) which may be followed by a quantifier.
|
|
80
|
+
if (char === '\\') {
|
|
81
|
+
i += 2;
|
|
82
|
+
}
|
|
83
|
+
else if (char === '[') {
|
|
84
|
+
i = skipCharacterClass(pattern, i);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
i += 1;
|
|
88
|
+
}
|
|
89
|
+
const quantifier = readQuantifier(pattern, i);
|
|
90
|
+
if (quantifier.present) {
|
|
91
|
+
i = quantifier.next;
|
|
92
|
+
if (quantifier.amplifying) {
|
|
93
|
+
stack[stack.length - 1].hasAmplifier = true;
|
|
94
|
+
maxHeight = Math.max(maxHeight, 1);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return maxHeight;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Skips a group-opening prefix immediately after a `(`, handling non-capturing groups
|
|
102
|
+
* `(?:`, lookaheads `(?=` / `(?!`, lookbehinds `(?<=` / `(?<!` and named groups `(?<name>`.
|
|
103
|
+
* Returns the index of the first character of the group's body.
|
|
104
|
+
*/
|
|
105
|
+
function skipGroupPrefix(pattern, i) {
|
|
106
|
+
if (pattern[i] !== '?') {
|
|
107
|
+
return i;
|
|
108
|
+
}
|
|
109
|
+
i++; // skip '?'
|
|
110
|
+
const char = pattern[i];
|
|
111
|
+
if (char === ':' || char === '=' || char === '!') {
|
|
112
|
+
return i + 1;
|
|
113
|
+
}
|
|
114
|
+
if (char === '<') {
|
|
115
|
+
i++;
|
|
116
|
+
if (pattern[i] === '=' || pattern[i] === '!') {
|
|
117
|
+
return i + 1; // lookbehind
|
|
118
|
+
}
|
|
119
|
+
// named group: skip to the closing '>'
|
|
120
|
+
while (i < pattern.length && pattern[i] !== '>') {
|
|
121
|
+
i++;
|
|
122
|
+
}
|
|
123
|
+
return i < pattern.length ? i + 1 : i;
|
|
124
|
+
}
|
|
125
|
+
return i;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Skips a character class `[...]` starting at `i` (which must point at `[`), accounting
|
|
129
|
+
* for an initial `^`/`]` and escaped characters. Returns the index after the closing `]`.
|
|
130
|
+
*/
|
|
131
|
+
function skipCharacterClass(pattern, i) {
|
|
132
|
+
let j = i + 1;
|
|
133
|
+
if (pattern[j] === '^') {
|
|
134
|
+
j++;
|
|
135
|
+
}
|
|
136
|
+
if (pattern[j] === ']') {
|
|
137
|
+
j++; // a `]` as the first member is a literal
|
|
138
|
+
}
|
|
139
|
+
while (j < pattern.length && pattern[j] !== ']') {
|
|
140
|
+
if (pattern[j] === '\\') {
|
|
141
|
+
j++;
|
|
142
|
+
}
|
|
143
|
+
j++;
|
|
144
|
+
}
|
|
145
|
+
return j < pattern.length ? j + 1 : j;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Reads a quantifier at position `i`, if present. `amplifying` is true when the quantifier
|
|
149
|
+
* can match two or more times (`*`, `+`, `{n,}`, `{n,m}` with max >= 2) and false for
|
|
150
|
+
* bounded-to-one quantifiers (`?`, `{0,1}`, `{1}`). A trailing lazy `?` is consumed.
|
|
151
|
+
*/
|
|
152
|
+
function readQuantifier(pattern, i) {
|
|
153
|
+
const char = pattern[i];
|
|
154
|
+
if (char === '*' || char === '+') {
|
|
155
|
+
const next = pattern[i + 1] === '?' ? i + 2 : i + 1;
|
|
156
|
+
return { present: true, amplifying: true, next };
|
|
157
|
+
}
|
|
158
|
+
if (char === '?') {
|
|
159
|
+
const next = pattern[i + 1] === '?' ? i + 2 : i + 1;
|
|
160
|
+
return { present: true, amplifying: false, next };
|
|
161
|
+
}
|
|
162
|
+
if (char === '{') {
|
|
163
|
+
const match = /^\{(\d*)(,(\d*))?\}/.exec(pattern.slice(i));
|
|
164
|
+
if (match) {
|
|
165
|
+
const min = match[1] === '' ? 0 : parseInt(match[1], 10);
|
|
166
|
+
const hasComma = match[2] !== undefined;
|
|
167
|
+
const max = !hasComma ? min : match[3] === '' ? Infinity : parseInt(match[3], 10);
|
|
168
|
+
let next = i + match[0].length;
|
|
169
|
+
if (pattern[next] === '?') {
|
|
170
|
+
next++;
|
|
171
|
+
}
|
|
172
|
+
return { present: true, amplifying: max >= 2, next };
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return { present: false, amplifying: false, next: i };
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=validate-regex-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-regex-filter.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/validate-regex-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,6 +115,13 @@ export declare class AssetService {
|
|
|
115
115
|
* Check if current user has permissions to delete assets from all channels
|
|
116
116
|
*/
|
|
117
117
|
private hasDeletePermissionForChannels;
|
|
118
|
+
/**
|
|
119
|
+
* Validates an upload against the permitted MIME types using three independently spoofable
|
|
120
|
+
* signals (see GHSA-88rq-mq4v-frmm): the declared Content-Type, the file extension, and the
|
|
121
|
+
* actual content (magic bytes). Returns a {@link MimeTypeError} if any signal identifies a
|
|
122
|
+
* non-permitted type, or `undefined` if the file is permitted.
|
|
123
|
+
*/
|
|
124
|
+
private getPermittedMimeTypeError;
|
|
118
125
|
private createAssetInternal;
|
|
119
126
|
private getSourceFileName;
|
|
120
127
|
private getPreviewFileName;
|
|
@@ -51,6 +51,71 @@ const patch_entity_1 = require("../helpers/utils/patch-entity");
|
|
|
51
51
|
const channel_service_1 = require("./channel.service");
|
|
52
52
|
const role_service_1 = require("./role.service");
|
|
53
53
|
const tag_service_1 = require("./tag.service");
|
|
54
|
+
/**
|
|
55
|
+
* Detects the MIME type of a buffer from its magic bytes. Returns `undefined` for content
|
|
56
|
+
* with no recognisable signature (e.g. plain text, SVG). The `file-type` package is ESM-only,
|
|
57
|
+
* so it is loaded via dynamic import (preserved by the NodeNext build).
|
|
58
|
+
*/
|
|
59
|
+
async function detectMimeTypeFromContents(buffer) {
|
|
60
|
+
const { fileTypeFromBuffer } = await import('file-type');
|
|
61
|
+
const result = await fileTypeFromBuffer(buffer);
|
|
62
|
+
return result === null || result === void 0 ? void 0 : result.mime;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The number of leading bytes to inspect for magic-byte detection. Signatures live at the
|
|
66
|
+
* start of a file and `file-type` samples only a small prefix, so peeking this much is
|
|
67
|
+
* sufficient to identify the content type without buffering the whole upload.
|
|
68
|
+
*/
|
|
69
|
+
const CONTENT_DETECTION_SAMPLE_BYTES = 4100;
|
|
70
|
+
/**
|
|
71
|
+
* Reads up to `byteCount` leading bytes from a stream for inspection so the uploaded content
|
|
72
|
+
* can be validated before it is persisted. Returns the peeked bytes and whether the stream was
|
|
73
|
+
* fully consumed in the process (`complete`):
|
|
74
|
+
*
|
|
75
|
+
* - If the stream ended within `byteCount` (a small file), the whole content is in `head` and
|
|
76
|
+
* the caller writes it directly — the stream cannot be replayed.
|
|
77
|
+
* - Otherwise the peeked bytes are unshifted back onto the stream, so the caller can write the
|
|
78
|
+
* full original stream (preserving its error handling) without buffering it whole.
|
|
79
|
+
*
|
|
80
|
+
* The stream is read in paused mode because a `for await … break` would destroy it.
|
|
81
|
+
*/
|
|
82
|
+
function peekStreamHead(stream, byteCount) {
|
|
83
|
+
return new Promise((resolve, reject) => {
|
|
84
|
+
const chunks = [];
|
|
85
|
+
let size = 0;
|
|
86
|
+
const cleanup = () => {
|
|
87
|
+
stream.removeListener('readable', onReadable);
|
|
88
|
+
stream.removeListener('end', onEnd);
|
|
89
|
+
stream.removeListener('error', onError);
|
|
90
|
+
};
|
|
91
|
+
const onEnd = () => {
|
|
92
|
+
cleanup();
|
|
93
|
+
resolve({ head: Buffer.concat(chunks), complete: true });
|
|
94
|
+
};
|
|
95
|
+
const onError = (err) => {
|
|
96
|
+
cleanup();
|
|
97
|
+
reject(err);
|
|
98
|
+
};
|
|
99
|
+
const onReadable = () => {
|
|
100
|
+
let chunk;
|
|
101
|
+
// eslint-disable-next-line no-cond-assign
|
|
102
|
+
while ((chunk = stream.read()) !== null) {
|
|
103
|
+
chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
|
|
104
|
+
size += chunks[chunks.length - 1].length;
|
|
105
|
+
if (size >= byteCount) {
|
|
106
|
+
cleanup();
|
|
107
|
+
const head = Buffer.concat(chunks);
|
|
108
|
+
stream.unshift(head);
|
|
109
|
+
resolve({ head, complete: false });
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
stream.on('readable', onReadable);
|
|
115
|
+
stream.on('end', onEnd);
|
|
116
|
+
stream.on('error', onError);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
54
119
|
/**
|
|
55
120
|
* @description
|
|
56
121
|
* Contains methods relating to {@link Asset} entities.
|
|
@@ -431,15 +496,62 @@ let AssetService = class AssetService {
|
|
|
431
496
|
}));
|
|
432
497
|
return !permissions.includes(false);
|
|
433
498
|
}
|
|
499
|
+
/**
|
|
500
|
+
* Validates an upload against the permitted MIME types using three independently spoofable
|
|
501
|
+
* signals (see GHSA-88rq-mq4v-frmm): the declared Content-Type, the file extension, and the
|
|
502
|
+
* actual content (magic bytes). Returns a {@link MimeTypeError} if any signal identifies a
|
|
503
|
+
* non-permitted type, or `undefined` if the file is permitted.
|
|
504
|
+
*/
|
|
505
|
+
getPermittedMimeTypeError(filename, declaredMimeType, contentMimeType) {
|
|
506
|
+
// 1. The declared Content-Type must be permitted (cheap, header-only check).
|
|
507
|
+
if (!this.validateMimeType(declaredMimeType)) {
|
|
508
|
+
return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: declaredMimeType });
|
|
509
|
+
}
|
|
510
|
+
// 2. The file extension must be permitted: the stored file keeps it, and it is what
|
|
511
|
+
// determines whether a downstream web server might execute the file (e.g. `.php`).
|
|
512
|
+
// `mime.lookup` returns `false` for unrecognised extensions, handled by the content check.
|
|
513
|
+
const extensionMimeType = mime_types_1.default.lookup(filename) || undefined;
|
|
514
|
+
if (extensionMimeType && !this.validateMimeType(extensionMimeType)) {
|
|
515
|
+
return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: extensionMimeType });
|
|
516
|
+
}
|
|
517
|
+
// 3. The actual content must not identify a non-permitted type. Text-based formats have no
|
|
518
|
+
// binary signature: plain text yields `undefined`, while XML-based formats such as SVG
|
|
519
|
+
// yield a generic `application/xml`/`text/xml` which is consistent with a permitted `*+xml`
|
|
520
|
+
// extension and so is not a mismatch.
|
|
521
|
+
if (contentMimeType && !this.validateMimeType(contentMimeType)) {
|
|
522
|
+
const contentIsGenericXml = contentMimeType === 'application/xml' || contentMimeType === 'text/xml';
|
|
523
|
+
const extensionIsXmlBased = !!extensionMimeType && extensionMimeType.endsWith('+xml');
|
|
524
|
+
if (!(contentIsGenericXml && extensionIsXmlBased)) {
|
|
525
|
+
return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: contentMimeType });
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
// A file recognised neither by content nor by a permitted extension cannot be verified as
|
|
529
|
+
// a permitted type (e.g. a script with an unrecognised extension such as `.phtml`).
|
|
530
|
+
if (!contentMimeType && !extensionMimeType) {
|
|
531
|
+
return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: 'application/octet-stream' });
|
|
532
|
+
}
|
|
533
|
+
return undefined;
|
|
534
|
+
}
|
|
434
535
|
async createAssetInternal(ctx, stream, filename, mimetype, customFields, translations) {
|
|
435
536
|
const { assetOptions } = this.configService;
|
|
436
|
-
|
|
437
|
-
|
|
537
|
+
// Inspect the leading bytes of the uploaded content (magic bytes) so the real content
|
|
538
|
+
// type can be validated, not just the spoofable declared Content-Type and extension. The
|
|
539
|
+
// stream is peeked rather than fully buffered so the file can still be written as a stream.
|
|
540
|
+
const { head, complete } = await peekStreamHead(stream, CONTENT_DETECTION_SAMPLE_BYTES);
|
|
541
|
+
const contentMimeType = await detectMimeTypeFromContents(head);
|
|
542
|
+
const mimeTypeError = this.getPermittedMimeTypeError(filename, mimetype, contentMimeType);
|
|
543
|
+
if (mimeTypeError) {
|
|
544
|
+
return mimeTypeError;
|
|
438
545
|
}
|
|
439
546
|
const { assetPreviewStrategy, assetStorageStrategy } = assetOptions;
|
|
440
547
|
const sourceFileName = await this.getSourceFileName(ctx, filename);
|
|
441
548
|
const previewFileName = await this.getPreviewFileName(ctx, sourceFileName);
|
|
442
|
-
|
|
549
|
+
// If the stream was fully consumed during the peek (a small file), `head` holds the
|
|
550
|
+
// whole content and the stream cannot be replayed; write the buffer directly.
|
|
551
|
+
// Otherwise the peeked bytes were unshifted back, so write the full stream.
|
|
552
|
+
const sourceFileIdentifier = complete
|
|
553
|
+
? await assetStorageStrategy.writeFileFromBuffer(sourceFileName, head)
|
|
554
|
+
: await assetStorageStrategy.writeFileFromStream(sourceFileName, stream);
|
|
443
555
|
const sourceFile = await assetStorageStrategy.readFileToBuffer(sourceFileIdentifier);
|
|
444
556
|
let preview;
|
|
445
557
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.service.js","sourceRoot":"","sources":["../../../src/service/services/asset.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yEAW6C;AAC7C,mDAAgD;AAEhD,mEAAsE;AACtE,uDAAoD;AACpD,2BAAgD;AAChD,uCAAsC;AACtC,+BAAuC;AACvC,2CAAuC;AACvC,4DAA8B;AAC9B,gDAAwB;AAExB,qCAAiC;AAEjC,0DAAqD;AAErD,sEAAkE;AAElE,yCAA0C;AAC1C,kEAAuE;AACvE,sDAAgF;AAChF,sGAAkF;AAGlF,8CAA+D;AAC/D,gEAA4D;AAC5D,uEAA4D;AAC5D,wFAAoF;AACpF,0FAA+E;AAC/E,kEAAwD;AAGxD,iFAAuE;AACvE,gGAAqF;AACrF,wEAA8D;AAC9D,yDAAqD;AACrD,oFAA+E;AAC/E,oEAAgE;AAChE,kHAA4G;AAC5G,yFAAoF;AACpF,yFAAqF;AACrF,iFAA6E;AAC7E,gEAA4D;AAE5D,uDAAmD;AACnD,iDAA6C;AAC7C,+CAA2C;AA2B3C;;;;;;GAMG;AAGI,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGrB,YACY,UAAmC,EACnC,aAA4B,EAC5B,gBAAkC,EAClC,QAAkB,EAClB,UAAsB,EACtB,cAA8B,EAC9B,WAAwB,EACxB,0BAAsD,EAC7C,iBAAoC,EACpC,UAA6B;QATtC,eAAU,GAAV,UAAU,CAAyB;QACnC,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,aAAQ,GAAR,QAAQ,CAAU;QAClB,eAAU,GAAV,UAAU,CAAY;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,+BAA0B,GAA1B,0BAA0B,CAA4B;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,eAAU,GAAV,UAAU,CAAmB;QAZ1C,uBAAkB,GAA6C,EAAE,CAAC;QActE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,kBAAkB;aACvE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACvE,MAAM,CAAC,iCAAkB,CAAC;aAC1B,GAAG,CAAC,GAAG,CAAC,EAAE;YACP,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CACH,GAAmB,EACnB,EAAM,EACN,SAAgC;QAEhC,OAAO,IAAI,CAAC,UAAU;aACjB,gBAAgB,CAAC,GAAG,EAAE,oBAAK,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE;YAC7C,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE;SAC7B,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,CACH,GAAmB,EACnB,OAA0B,EAC1B,SAAgC;;QAEhC,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,oBAAK,EAAE,OAAO,EAAE;YACnD,GAAG;YACH,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,EAAE,MAAM,CAAC;YACzC,SAAS,EAAE,GAAG,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,iCAAe,CAAC,GAAG,CAAC;YAC9D,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU;iBACzB,kBAAkB,EAAE;iBACpB,MAAM,CAAC,UAAU,CAAC;iBAClB,IAAI,CAAC,oBAAK,EAAE,OAAO,CAAC;iBACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;iBAC9B,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAEvC,IAAI,QAAQ,KAAK,iCAAe,CAAC,GAAG,EAAE,CAAC;gBACnC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACvE,CAAC;YAED,EAAE,CAAC,QAAQ,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;gBAC9D,IAAI;gBACJ,QAAQ,EAAE,IAAI,CAAC,MAAM;aACxB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChE,UAAU;SACb,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,GAAmB,EACnB,MAAS;QAET,MAAM,UAAU,GAAY,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC;QACtE,IAAI,uBAAsC,CAAC;QAE3C,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,uBAAuB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAC5D,GAAG,EACH,UAAoC,EACpC,MAAM,CAAC,EAAE,EACT,GAAG,CAAC,SAAS,EACb;gBACI,SAAS,EAAE,CAAC,eAAe,CAAC;gBAC5B,kBAAkB,EAAE,KAAK;aAC5B,CACJ,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,uBAAuB,GAAG,MAAM,IAAI,CAAC,UAAU;iBAC1C,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC;iBAC9B,OAAO,CAAC;gBACL,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACxB,SAAS,EAAE;oBACP,aAAa,EAAE,IAAI;iBACtB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,kBAAkB;aACA,CAAC;iBACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,uBAAuB,IAAI,uBAAuB,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;IAC3F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACjB,GAAmB,EACnB,MAAS;;QAET,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,UAAU,GAA2B,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC;YACrF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU;iBACzC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC;iBAC9B,kBAAkB,CAAC,QAAQ,CAAC;iBAC5B,iBAAiB,CAAC,eAAe,EAAE,iBAAiB,CAAC;iBACrD,iBAAiB,CAAC,uBAAuB,EAAE,OAAO,CAAC;iBACnD,iBAAiB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;iBAC7D,iBAAiB,CAAC,gBAAgB,EAAE,eAAe,CAAC;iBACpD,KAAK,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;iBACvE,MAAM,EAAE,CAAC;YAEd,eAAe,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,mCAAI,EAAE,CAAC;QACrD,CAAC;aAAM,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;YACpC,sEAAsE;YACtE,IAAI,MAAA,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAC;gBACrC,eAAe,GAAG,eAAe,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CACpF,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU;qBACxC,aAAa,CAAC,GAAG,EAAE,oBAAK,CAAC;qBACzB,kBAAkB,CAAC,OAAO,CAAC;qBAC3B,iBAAiB,CAAC,gBAAgB,EAAE,eAAe,CAAC;qBACpD,KAAK,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;qBAC5E,QAAQ,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;qBACvE,OAAO,EAAE,CAAC;gBAEf,eAAe,GAAG,eAAe,CAAC,MAAM,CACpC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CACnE,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,eAAe,GAAG,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,mBAAmB,CACrB,GAAmB,EACnB,MAAS,EACT,KAAuB;QAEvB,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;QAC5C,IAAI,eAAe,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC/D,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACpB,GAAmB,EACnB,MAAS,EACT,KAAuB;QAEvB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAAC,8BAA8B,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,oBAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACjG,MAAM,YAAY,GAAG,QAAQ;iBACxB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;iBAClD,MAAM,CAAC,iCAAkB,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YACvB,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,GAAmB,EAAE,KAAuB;QACrD,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;QAClE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;YACjG,YAAY;SACf,CAAC,CAAC;QACH,IAAI,IAAA,mCAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,GAAG,EAAE,oBAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACpF,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,GAAmB,EAAE,KAAuB;;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3C,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,IAAA,0BAAW,EAAC,KAAK,EAAE,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,sBAAsB;QACtB,MAAM,iBAAiB,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE,CAAC;QACnD,gHAAgH;QAChH,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1F,iBAAiB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,gFAAgF;QAChF,kFAAkF;QAClF,0BAA0B;QAC1B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/E,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,GAAG,EAAE,oBAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAChC,GAAG;gBACH,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE;gBAC7D,UAAU,EAAE,oBAAK;gBACjB,eAAe,EAAE,2CAAgB;aACpC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACpF,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACR,GAAmB,EACnB,GAAS,EACT,QAAiB,KAAK,EACtB,wBAAiC,KAAK;QAEtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,oBAAK,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE;YACpF,SAAS,EAAE,CAAC,UAAU,CAAC;SAC1B,CAAC,CAAC;QACH,IAAI,gBAAgB,GAAS,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,gBAAgB,GAAG,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG;YACf,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,CAAC;SACjB,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtD,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9C,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9C,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;QACxD,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3F,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;gBACH,MAAM,EAAE,gCAAc,CAAC,WAAW;gBAClC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,yCAAyC,EAAE;oBAC9D,UAAU,EAAE,MAAM,CAAC,MAAM;oBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,WAAW,EAAE,UAAU,CAAC,WAAW;iBACtC,CAAC;aACL,CAAC;QACN,CAAC;QACD,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAChG,IAAI,qBAAqB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACnD,MAAM,IAAI,uBAAc,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;gBACrB,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,oBAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBACpF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,uCAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAC7F,CAAC,CAAC,CACL,CAAC;YACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;YACpD,IAAI,aAAa,EAAE,CAAC;gBAChB,qCAAqC;gBACrC,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,OAAO;gBACH,MAAM,EAAE,gCAAc,CAAC,OAAO;aACjC,CAAC;QACN,CAAC;QACD,uGAAuG;QACvG,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YACrB,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,oBAAK,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YACrF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,uCAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7F,CAAC,CAAC,CACL,CAAC;QACF,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,GAAmB,EACnB,KAAiC;QAEjC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CACnE,GAAG,EACH,KAAK,CAAC,SAAS,EACf,4BAAU,CAAC,aAAa,CAC3B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,uBAAc,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACnD,GAAG,EACH,oBAAK,EACL,KAAK,CAAC,QAAQ,EACd,GAAG,CAAC,SAAS,EACb,EAAE,CACL,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YACrB,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACpF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC9B,IAAI,uCAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CACjE,CAAC;QACN,CAAC,CAAC,CACL,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAC1D,GAAG,EACH,oBAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACrB,GAAG,CAAC,SAAS,EACb,EAAE,CACL,CAAC;QACF,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC;IAeD,KAAK,CAAC,oBAAoB,CACtB,MAA6B,EAC7B,kBAA4C,EAC5C,QAAyB;QAEzB,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;QACvE,MAAM,gBAAgB,GAClB,kBAAkB,YAAY,gCAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAClF,MAAM,QAAQ,GACV,MAAM,YAAY,qBAAU,IAAI,MAAM,YAAY,eAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACpG,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,GAAG,GACL,kBAAkB,YAAY,gCAAc;gBACxC,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,QAAQ,YAAY,gCAAc;oBAClC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,gCAAc,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/E,IAAI,IAAA,mCAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,4BAAmB,CAAC,0CAA0C,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,MAAgB,EAAE,QAAgB;QAClD,IAAI,MAAM,YAAY,sBAAe,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;QACD,OAAO,oBAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAAC,GAAmB,EAAE,MAAe;QAClE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,uDAAuD;YACvD,6DAA6D;YAC7D,MAAM,YAAY,GAAG,IAAI,oBAAK,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpF,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,uBAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO;YACH,MAAM,EAAE,gCAAc,CAAC,OAAO;SACjC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,8BAA8B,CAAC,GAAmB,EAAE,UAAgB;QAC9E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,GAAG,EAAE,SAAS,EAAE,4BAAU,CAAC,aAAa,CAAC,CAAC;QACjG,CAAC,CAAC,CACL,CAAC;QACF,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC7B,GAAmB,EACnB,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,YAAqC,EACrC,YAA8F;QAE9F,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,8CAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,YAAY,CAAC;QACpE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAE3E,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACpG,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QACrF,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,oBAAoB,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,MAAM,OAAO,GAAW,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzF,uBAAM,CAAC,KAAK,CAAC,yCAAyC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACrF,MAAM,CAAC,CAAC;QACZ,CAAC;QACD,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CACxE,eAAe,EACf,OAAO,CACV,CAAC;QACF,MAAM,IAAI,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,2BAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE9F,mBAAmB;QACnB,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;YACpB,IAAI;YACJ,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,UAAU,CAAC,UAAU;YAC/B,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,UAAU,EAAE,IAAI;YAChB,YAAY;SACf,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/E,8DAA8D;QAC9D,6DAA6D;QAC7D,MAAM,WAAW,GAAG,QAAQ,CAAC;QAC7B,IAAI,iBAAqC,CAAC;QAC1C,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAChC,CAAC,CAAC,EAAE;;gBACA,OAAA,IAAI,2CAAgB,CAAC;oBACjB,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,IAAI,EAAE,MAAA,CAAC,CAAC,IAAI,mCAAI,WAAW;oBAC3B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,IAAI,EAAE,UAAU;iBACnB,CAAC,CAAA;aAAA,CACT,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,oDAAoD;YACpD,iBAAiB,GAAG;gBAChB,IAAI,2CAAgB,CAAC;oBACjB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,UAAU;iBACnB,CAAC;aACL,CAAC;QACN,CAAC;QAED,oBAAoB;QACpB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC1C,aAAa,CAAC,GAAG,EAAE,2CAAgB,CAAC;aACpC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE7B,oDAAoD;QACpD,UAAU,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC5C,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,GAAmB,EAAE,QAAgB;QACjE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CACxD,YAAY,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAC/E,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,GAAmB,EAAE,QAAgB;QAClE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CACxD,YAAY,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAChF,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC5B,aAAqB,EACrB,cAAmE;QAEnE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,IAAI,cAAkC,CAAC;QACvC,GAAG,CAAC;YACA,cAAc,GAAG,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC,QAAQ,MAAM,YAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;QAC7E,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,aAAa,CAAC,SAAiB;QACnC,IAAI,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,sBAAS,EAAC,SAAS,CAAC,CAAC;YAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,EAAE,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,uBAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAEO,qBAAqB,CACzB,GAAmB,EACnB,MAAwB,EACxB,MAAe;QAEf,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpG,CAAC;IAEO,iBAAiB,CACrB,GAAmB,EACnB,MAAwB,EACxB,KAAY,EACZ,KAAa;QAEb,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,IAAI,kBAAkB,CAAC;YAC1B,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,QAAQ,EAAE,KAAK;YACf,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAAE;SAChC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,GAAmB,EAAE,MAAwB;QACrF,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC;YAChE,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE;SAC5B,CAAC,CAAC;IACP,CAAC;IAEO,qBAAqB,CAAC,GAAmB,EAAE,MAAwB;QACvE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU;aAChC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;aACtC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,4BAAmB,CAAC,+CAA+C,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,aAAa,CAAC,IAA4B,CAAC;IACtD,CAAC;IAEO,uBAAuB,CAAC,MAAwB;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QAC3C,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,SAAS;gBACV,OAAO,WAAW,CAAC;YACvB,KAAK,gBAAgB;gBACjB,OAAO,kBAAkB,CAAC;YAC9B,KAAK,YAAY;gBACb,OAAO,cAAc,CAAC;YAC1B;gBACI,OAAO,GAAG,IAAA,uBAAS,EAAC,UAAU,CAAC,IAAI,CAAC;QAC5C,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,QAAgB;QACrC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAEzE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CACzB,GAAmB,EACnB,KAAY;QAEZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,wBAAO,CAAC,CAAC,IAAI,CAAC;YACpE,KAAK,EAAE;gBACH,aAAa,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC/B,SAAS,EAAE,IAAA,gBAAM,GAAE;aACtB;SACJ,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,uCAAc,CAAC,CAAC,IAAI,CAAC;YAC3E,KAAK,EAAE;gBACH,aAAa,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC/B,SAAS,EAAE,IAAA,gBAAM,GAAE;aACtB;SACJ,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,8BAAU,CAAC,CAAC,IAAI,CAAC;YAC1E,KAAK,EAAE;gBACH,aAAa,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;aAClC;SACJ,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAC/C,CAAC;IAEO,eAAe,CAAC,gBAAkC;QAItD,IAAI,QAAgC,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YAC/C,QAAQ,GAAG,GAAG,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,gGAAgG;QAChG,oDAAoD;QACpD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACrB,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;CACJ,CAAA;AA/rBY,oCAAY;uBAAZ,YAAY;IAFxB,IAAA,mBAAU,GAAE;IACZ,IAAA,mBAAU,GAAE;qCAKe,kDAAuB;QACpB,8BAAa;QACV,qCAAgB;QACxB,oBAAQ;QACN,wBAAU;QACN,gCAAc;QACjB,0BAAW;QACI,0DAA0B;QAC1B,sCAAiB;QACxB,sCAAiB;GAbzC,YAAY,CA+rBxB"}
|
|
1
|
+
{"version":3,"file":"asset.service.js","sourceRoot":"","sources":["../../../src/service/services/asset.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/core",
|
|
3
|
-
"version": "3.6.5-master-
|
|
3
|
+
"version": "3.6.5-master-202607010309",
|
|
4
4
|
"description": "A modern, headless ecommerce framework",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@nestjs/platform-express": "^11.0.12",
|
|
50
50
|
"@nestjs/terminus": "^11.0.0",
|
|
51
51
|
"@nestjs/typeorm": "^11.0.0",
|
|
52
|
-
"@vendure/common": "^3.6.5-master-
|
|
52
|
+
"@vendure/common": "^3.6.5-master-202607010309",
|
|
53
53
|
"bcrypt": "^6.0.0",
|
|
54
54
|
"body-parser": "^1.20.2",
|
|
55
55
|
"cookie-session": "^2.1.0",
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"cronstrue": "^3.14.0",
|
|
59
59
|
"csv-parse": "^6.2.1",
|
|
60
60
|
"express": "^5.1.0",
|
|
61
|
+
"file-type": "^19.0.0",
|
|
61
62
|
"fs-extra": "^11.2.0",
|
|
62
63
|
"graphql": "^16.11.0",
|
|
63
64
|
"graphql-fields": "^2.0.3",
|