@extenshi/cli 0.15.2 → 0.17.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.
- package/dist/chromewebstore-md.d.ts +37 -0
- package/dist/chromewebstore-md.d.ts.map +1 -0
- package/dist/chromewebstore-md.js +117 -0
- package/dist/chromewebstore-md.js.map +1 -0
- package/dist/listing-checks.d.ts +5 -3
- package/dist/listing-checks.d.ts.map +1 -1
- package/dist/listing-checks.js +155 -10
- package/dist/listing-checks.js.map +1 -1
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +12 -4
- package/dist/listing.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CHROMEWEBSTORE.md (ROADMAP it.2 T11).
|
|
3
|
+
*
|
|
4
|
+
* Assembles listing copy, permission justifications, single-purpose and
|
|
5
|
+
* privacy-practices notes from tools that already exist. It is NOT a third
|
|
6
|
+
* listing format: `review-risk --listing CHROMEWEBSTORE.md` parses the
|
|
7
|
+
* Name / Short description / Description sections into the same draft
|
|
8
|
+
* object `listing.json` uses.
|
|
9
|
+
*/
|
|
10
|
+
import type { Listing } from './listing.js';
|
|
11
|
+
export declare const CHROMEWEBSTORE_FILENAME = "CHROMEWEBSTORE.md";
|
|
12
|
+
/**
|
|
13
|
+
* Pull the listing draft out of a CHROMEWEBSTORE.md. Missing sections
|
|
14
|
+
* stay undefined so mergeListings can fill from the artifact.
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseChromeWebStoreMd(md: string): {
|
|
17
|
+
name?: string;
|
|
18
|
+
shortDescription?: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
singlePurpose?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare function listingDraftFromChromeWebStoreMd(md: string): Record<string, string>;
|
|
23
|
+
export declare function renderChromeWebStoreMd(input: {
|
|
24
|
+
listing: Listing | null;
|
|
25
|
+
justifications?: readonly {
|
|
26
|
+
permission: string;
|
|
27
|
+
prompt: string;
|
|
28
|
+
}[];
|
|
29
|
+
privacy?: readonly {
|
|
30
|
+
dataType: string;
|
|
31
|
+
permission: string;
|
|
32
|
+
}[];
|
|
33
|
+
singlePurpose?: string;
|
|
34
|
+
}): string;
|
|
35
|
+
/** Starter file for get_project_scaffold. Same headings the parser reads. */
|
|
36
|
+
export declare function starterChromeWebStoreMd(name: string, shortDescription: string): string;
|
|
37
|
+
//# sourceMappingURL=chromewebstore-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromewebstore-md.d.ts","sourceRoot":"","sources":["../src/chromewebstore-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,eAAO,MAAM,uBAAuB,sBAAsB,CAAA;AAe1D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG;IAClD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB,CAgBA;AAED,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOnF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,cAAc,CAAC,EAAE,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClE,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,MAAM,CAmDT;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAUtF"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CHROMEWEBSTORE.md (ROADMAP it.2 T11).
|
|
3
|
+
*
|
|
4
|
+
* Assembles listing copy, permission justifications, single-purpose and
|
|
5
|
+
* privacy-practices notes from tools that already exist. It is NOT a third
|
|
6
|
+
* listing format: `review-risk --listing CHROMEWEBSTORE.md` parses the
|
|
7
|
+
* Name / Short description / Description sections into the same draft
|
|
8
|
+
* object `listing.json` uses.
|
|
9
|
+
*/
|
|
10
|
+
export const CHROMEWEBSTORE_FILENAME = 'CHROMEWEBSTORE.md';
|
|
11
|
+
function section(body, heading) {
|
|
12
|
+
const re = new RegExp(`^## ${heading}\\s*$`, 'im');
|
|
13
|
+
const start = body.search(re);
|
|
14
|
+
if (start < 0)
|
|
15
|
+
return '';
|
|
16
|
+
const after = body.slice(start).split('\n').slice(1);
|
|
17
|
+
const lines = [];
|
|
18
|
+
for (const line of after) {
|
|
19
|
+
if (/^##\s+/.test(line))
|
|
20
|
+
break;
|
|
21
|
+
lines.push(line);
|
|
22
|
+
}
|
|
23
|
+
return lines.join('\n').trim();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Pull the listing draft out of a CHROMEWEBSTORE.md. Missing sections
|
|
27
|
+
* stay undefined so mergeListings can fill from the artifact.
|
|
28
|
+
*/
|
|
29
|
+
export function parseChromeWebStoreMd(md) {
|
|
30
|
+
const name = section(md, 'Name');
|
|
31
|
+
const shortDescription = section(md, 'Short description');
|
|
32
|
+
const description = section(md, 'Description');
|
|
33
|
+
const singlePurpose = section(md, 'Single purpose');
|
|
34
|
+
const out = {};
|
|
35
|
+
if (name)
|
|
36
|
+
out.name = name;
|
|
37
|
+
if (shortDescription)
|
|
38
|
+
out.shortDescription = shortDescription;
|
|
39
|
+
if (description)
|
|
40
|
+
out.description = description;
|
|
41
|
+
if (singlePurpose)
|
|
42
|
+
out.singlePurpose = singlePurpose;
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
export function listingDraftFromChromeWebStoreMd(md) {
|
|
46
|
+
const parsed = parseChromeWebStoreMd(md);
|
|
47
|
+
const draft = {};
|
|
48
|
+
if (parsed.name)
|
|
49
|
+
draft.name = parsed.name;
|
|
50
|
+
if (parsed.shortDescription)
|
|
51
|
+
draft.shortDescription = parsed.shortDescription;
|
|
52
|
+
if (parsed.description)
|
|
53
|
+
draft.description = parsed.description;
|
|
54
|
+
return draft;
|
|
55
|
+
}
|
|
56
|
+
export function renderChromeWebStoreMd(input) {
|
|
57
|
+
const loc = input.listing?.locales.find((l) => l.locale === input.listing?.defaultLocale) ?? input.listing?.locales[0];
|
|
58
|
+
const justifications = input.justifications ?? [];
|
|
59
|
+
const privacy = input.privacy ?? [];
|
|
60
|
+
const justBlock = justifications.length === 0
|
|
61
|
+
? '_No sensitive permissions need a dashboard justification yet._'
|
|
62
|
+
: justifications.map((j) => `### ${j.permission}\n\n${j.prompt}`).join('\n\n');
|
|
63
|
+
const privacyBlock = privacy.length === 0
|
|
64
|
+
? '_No Privacy-practices questions follow from the current permissions._'
|
|
65
|
+
: privacy.map((p) => `- **${p.dataType}** (from \`${p.permission}\`)`).join('\n');
|
|
66
|
+
return `# CHROMEWEBSTORE.md
|
|
67
|
+
|
|
68
|
+
Listing copy, permission justifications, single purpose and privacy
|
|
69
|
+
practices for Chrome Web Store. This is the same draft \`review-risk --listing\`
|
|
70
|
+
already accepts as JSON — run:
|
|
71
|
+
|
|
72
|
+
\`npx @extenshi/cli@latest review-risk --listing CHROMEWEBSTORE.md\`
|
|
73
|
+
|
|
74
|
+
Do not paste this into the store automatically. Fill the dashboard by hand.
|
|
75
|
+
|
|
76
|
+
## Name
|
|
77
|
+
|
|
78
|
+
${loc?.name ?? ''}
|
|
79
|
+
|
|
80
|
+
## Short description
|
|
81
|
+
|
|
82
|
+
${loc?.shortDescription ?? ''}
|
|
83
|
+
|
|
84
|
+
## Description
|
|
85
|
+
|
|
86
|
+
${loc?.description ?? ''}
|
|
87
|
+
|
|
88
|
+
## Single purpose
|
|
89
|
+
|
|
90
|
+
${input.singlePurpose ?? loc?.shortDescription ?? loc?.name ?? ''}
|
|
91
|
+
|
|
92
|
+
## Permission justifications
|
|
93
|
+
|
|
94
|
+
${justBlock}
|
|
95
|
+
|
|
96
|
+
## Privacy practices
|
|
97
|
+
|
|
98
|
+
${privacyBlock}
|
|
99
|
+
|
|
100
|
+
## Version history
|
|
101
|
+
|
|
102
|
+
_Record each upload: version, what changed, why._
|
|
103
|
+
`;
|
|
104
|
+
}
|
|
105
|
+
/** Starter file for get_project_scaffold. Same headings the parser reads. */
|
|
106
|
+
export function starterChromeWebStoreMd(name, shortDescription) {
|
|
107
|
+
return renderChromeWebStoreMd({
|
|
108
|
+
listing: {
|
|
109
|
+
source: 'draft',
|
|
110
|
+
defaultLocale: 'en',
|
|
111
|
+
locales: [{ locale: 'en', name, shortDescription }],
|
|
112
|
+
appliesToAllLocales: true,
|
|
113
|
+
},
|
|
114
|
+
singlePurpose: shortDescription || name,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=chromewebstore-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromewebstore-md.js","sourceRoot":"","sources":["../src/chromewebstore-md.ts"],"names":[],"mappings":"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"}
|
package/dist/listing-checks.d.ts
CHANGED
|
@@ -16,8 +16,10 @@
|
|
|
16
16
|
* Every rule here lands as SLOW (advisory), never REJECTED — including the ones
|
|
17
17
|
* whose policy text says "will be rejected". A false block costs the developer
|
|
18
18
|
* a shipped release, a false advisory costs them a paragraph of reading, and
|
|
19
|
-
* these rules
|
|
20
|
-
*
|
|
19
|
+
* these rules were measured on the T9 corpus (v2 sample, 2026-08-27). Only
|
|
20
|
+
* name-stuffing passed FP < 5%. The others stay advisory; v3 of the dictionary
|
|
21
|
+
* is the first repair pass over that sample (negations, markdown `#1`, star
|
|
22
|
+
* headings, technical lists). They get promoted by data, not by wording.
|
|
21
23
|
*
|
|
22
24
|
* ALL LOCALES are checked, not just the default one: moderation reads every
|
|
23
25
|
* locale you publish, and a clean English listing over a stuffed Russian one is
|
|
@@ -36,7 +38,7 @@ import type { ReviewFinding } from './review-checks.js';
|
|
|
36
38
|
* before and after a bump. Same discipline as `ANALYSIS_VERSION` on the
|
|
37
39
|
* permission-usage rows. Bump on any change to a dictionary or a threshold.
|
|
38
40
|
*/
|
|
39
|
-
export declare const LISTING_DICTIONARY_VERSION = "
|
|
41
|
+
export declare const LISTING_DICTIONARY_VERSION = "3";
|
|
40
42
|
/**
|
|
41
43
|
* "If your product has a blank description field … it will be rejected."
|
|
42
44
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing-checks.d.ts","sourceRoot":"","sources":["../src/listing-checks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"listing-checks.d.ts","sourceRoot":"","sources":["../src/listing-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAmY7C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CA8DzE;AASD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CAqDxE;AAID;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CA6DlE;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CA8BnE;AAID,iGAAiG;AACjG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CA4BvE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CA8BvE;AAED,2DAA2D;AAC3D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CA4BzE;AAID,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,aAAa,EAAE,CAWzE"}
|
package/dist/listing-checks.js
CHANGED
|
@@ -16,8 +16,10 @@
|
|
|
16
16
|
* Every rule here lands as SLOW (advisory), never REJECTED — including the ones
|
|
17
17
|
* whose policy text says "will be rejected". A false block costs the developer
|
|
18
18
|
* a shipped release, a false advisory costs them a paragraph of reading, and
|
|
19
|
-
* these rules
|
|
20
|
-
*
|
|
19
|
+
* these rules were measured on the T9 corpus (v2 sample, 2026-08-27). Only
|
|
20
|
+
* name-stuffing passed FP < 5%. The others stay advisory; v3 of the dictionary
|
|
21
|
+
* is the first repair pass over that sample (negations, markdown `#1`, star
|
|
22
|
+
* headings, technical lists). They get promoted by data, not by wording.
|
|
21
23
|
*
|
|
22
24
|
* ALL LOCALES are checked, not just the default one: moderation reads every
|
|
23
25
|
* locale you publish, and a clean English listing over a stuffed Russian one is
|
|
@@ -34,7 +36,7 @@
|
|
|
34
36
|
* before and after a bump. Same discipline as `ANALYSIS_VERSION` on the
|
|
35
37
|
* permission-usage rows. Bump on any change to a dictionary or a threshold.
|
|
36
38
|
*/
|
|
37
|
-
export const LISTING_DICTIONARY_VERSION = '
|
|
39
|
+
export const LISTING_DICTIONARY_VERSION = '3';
|
|
38
40
|
const DOC_LISTING = 'https://developer.chrome.com/docs/webstore/program-policies/listing-requirements';
|
|
39
41
|
const DOC_UNEXPECTED = 'https://developer.chrome.com/docs/webstore/program-policies/unexpected-behavior';
|
|
40
42
|
/**
|
|
@@ -183,9 +185,12 @@ const FUNCTION_WORDS = new Set([
|
|
|
183
185
|
* cost more in false positives than they return.
|
|
184
186
|
*/
|
|
185
187
|
const IMPOSSIBLE_CLAIM_PATTERNS = [
|
|
186
|
-
{
|
|
188
|
+
{
|
|
189
|
+
re: /\bwho (?:has )?view(?:ed|s)? your(?! (?:docs?|documents?|files?|links?|pdfs?|proposal))\b/i,
|
|
190
|
+
what: 'who viewed your profile',
|
|
191
|
+
},
|
|
187
192
|
{ re: /\bwho (?:has )?visit(?:ed|s)? your\b/i, what: 'who visited your profile' },
|
|
188
|
-
{ re: /\bwho (?:has )?(?:
|
|
193
|
+
{ re: /\bwho (?:has )?unfollow(?:ed|s)? you\b/i, what: 'who unfollowed you' },
|
|
189
194
|
{ re: /\bprofile (?:viewers|visitors|stalkers)\b/i, what: 'profile viewers' },
|
|
190
195
|
// One optional word between the adjective and the noun so a brand name
|
|
191
196
|
// ("private Instagram accounts") does not slip the phrase past the rule.
|
|
@@ -209,7 +214,7 @@ const IMPOSSIBLE_CLAIM_PATTERNS = [
|
|
|
209
214
|
* with nothing behind it.
|
|
210
215
|
*/
|
|
211
216
|
const UNVERIFIABLE_CLAIM_PATTERNS = [
|
|
212
|
-
{ re:
|
|
217
|
+
{ re: /(?<!#)#1\b|\bnumber (?:one|1)\b(?! in the hood)/i, what: 'a #1 ranking claim' },
|
|
213
218
|
{ re: /\b100\s?% (?:safe|secure|guaranteed|accurate|free of)\b/i, what: 'a 100% guarantee' },
|
|
214
219
|
{ re: /\b(?:world'?s|the) best extension\b/i, what: '"the best extension"' },
|
|
215
220
|
{ re: /\bguaranteed? (?:results|to work)\b/i, what: 'a guaranteed-results claim' },
|
|
@@ -218,6 +223,123 @@ const UNVERIFIABLE_CLAIM_PATTERNS = [
|
|
|
218
223
|
];
|
|
219
224
|
/** Three or more rating glyphs in a row — a pasted testimonial or ratings block. */
|
|
220
225
|
const TESTIMONIAL_GLYPH_RE = /[★⭐✩✪✫✬✭✮✯🌟]{3,}/u;
|
|
226
|
+
// Grouped so `^` covers every alternative. `.test()` searches; without the
|
|
227
|
+
// wrapper `version` matches inside `"Best version I have used"`.
|
|
228
|
+
const STAR_HEADING_RE = /^(?:(?:main\s+)?features\b|what\s+\w|new in\b|changelog\b|version\b)/i;
|
|
229
|
+
// Auxiliary-verb denials only. Bare `no` / `не` are omitted on purpose: `no`
|
|
230
|
+
// in an 80-char window is marketing copy, and JS `\bне\b` is dead (ASCII `\b`
|
|
231
|
+
// never matches at a space→н boundary). Mirror of listing_checks.py.
|
|
232
|
+
const NEGATION_BEFORE_RE = /(?:\b(?:do(?:es)?|did|can|could|will|would|should|must|is|are|was|were)\s+not\b|\b(?:don't|doesn't|didn't|can't|cannot|won't|wouldn't|shouldn't|isn't|aren't)\b).{0,80}$/i;
|
|
233
|
+
const DENIAL_AFTER_RE = /\bA:\s*No\b|\bAnswer:\s*No\b|\bonly works with public\b|\bnot\b.{0,40}\bprivate\b/i;
|
|
234
|
+
const SPY_ON_SELF_RE = /^\s+(?:me|us|myself|yourself|your (?:own )?(?:screen|tabs|privacy))\b/i;
|
|
235
|
+
const FILE_EXT_ITEM_RE = /^\.?(zip|rar|7z|tar|gz|bz2|xz|txt|docx?|xlsx?|pptx?|pdf|jpe?g|png|gif|csv|json|md|mp3|mp4|wav)$/i;
|
|
236
|
+
const EXCEL_FUNCTIONS = new Set([
|
|
237
|
+
'SUM',
|
|
238
|
+
'AVERAGE',
|
|
239
|
+
'COUNT',
|
|
240
|
+
'COUNTA',
|
|
241
|
+
'COUNTBLANK',
|
|
242
|
+
'IF',
|
|
243
|
+
'IFS',
|
|
244
|
+
'IFERROR',
|
|
245
|
+
'IFNA',
|
|
246
|
+
'SUMIF',
|
|
247
|
+
'SUMIFS',
|
|
248
|
+
'COUNTIF',
|
|
249
|
+
'COUNTIFS',
|
|
250
|
+
'AVERAGEIF',
|
|
251
|
+
'AVERAGEIFS',
|
|
252
|
+
'VLOOKUP',
|
|
253
|
+
'HLOOKUP',
|
|
254
|
+
'XLOOKUP',
|
|
255
|
+
'LOOKUP',
|
|
256
|
+
'INDEX',
|
|
257
|
+
'MATCH',
|
|
258
|
+
'XMATCH',
|
|
259
|
+
'CONCAT',
|
|
260
|
+
'CONCATENATE',
|
|
261
|
+
'TEXTJOIN',
|
|
262
|
+
'MIN',
|
|
263
|
+
'MAX',
|
|
264
|
+
'SUMPRODUCT',
|
|
265
|
+
'LEFT',
|
|
266
|
+
'RIGHT',
|
|
267
|
+
'MID',
|
|
268
|
+
'LEN',
|
|
269
|
+
'TRIM',
|
|
270
|
+
'SUBSTITUTE',
|
|
271
|
+
'REPLACE',
|
|
272
|
+
'TODAY',
|
|
273
|
+
'NOW',
|
|
274
|
+
'DATE',
|
|
275
|
+
'YEAR',
|
|
276
|
+
'MONTH',
|
|
277
|
+
'ROUND',
|
|
278
|
+
'ROUNDUP',
|
|
279
|
+
'ROUNDDOWN',
|
|
280
|
+
'ABS',
|
|
281
|
+
'UNIQUE',
|
|
282
|
+
'FILTER',
|
|
283
|
+
'SORT',
|
|
284
|
+
'SEQUENCE',
|
|
285
|
+
'CHOOSE',
|
|
286
|
+
'SWITCH',
|
|
287
|
+
'OFFSET',
|
|
288
|
+
'INDIRECT',
|
|
289
|
+
'TRANSPOSE',
|
|
290
|
+
'NPV',
|
|
291
|
+
'IRR',
|
|
292
|
+
'PMT',
|
|
293
|
+
'IMPORTRANGE',
|
|
294
|
+
'ARRAYFORMULA',
|
|
295
|
+
'QUERY',
|
|
296
|
+
]);
|
|
297
|
+
const OS_ITEM_RE = /^(iOS|iPadOS|macOS|Android|Linux|Windows|ChromeOS)$/i;
|
|
298
|
+
function claimIsDenied(text, start, end) {
|
|
299
|
+
const before = text.slice(Math.max(0, start - 80), start);
|
|
300
|
+
const after = text.slice(end, end + 120);
|
|
301
|
+
if (NEGATION_BEFORE_RE.test(before))
|
|
302
|
+
return true;
|
|
303
|
+
if (DENIAL_AFTER_RE.test(after))
|
|
304
|
+
return true;
|
|
305
|
+
if (SPY_ON_SELF_RE.test(text.slice(end, end + 40)))
|
|
306
|
+
return true;
|
|
307
|
+
return false;
|
|
308
|
+
}
|
|
309
|
+
function ornamentalStarRun(value, end, stars) {
|
|
310
|
+
const after = value.slice(end).trimStart();
|
|
311
|
+
// Quote first: a star-prefixed testimonial is still a pasted review even
|
|
312
|
+
// when the run is long enough to look like a divider. Include the Russian
|
|
313
|
+
// opening quotes the rest of the dictionary already handles.
|
|
314
|
+
if (/^["“'«„]/.test(after))
|
|
315
|
+
return false;
|
|
316
|
+
// Code points, not UTF-16 units — `🌟`.length === 2, Python len() === 1.
|
|
317
|
+
const count = [...stars].length;
|
|
318
|
+
if (count >= 8)
|
|
319
|
+
return true;
|
|
320
|
+
if (STAR_HEADING_RE.test(after))
|
|
321
|
+
return true;
|
|
322
|
+
if (count >= 3 && count <= 4)
|
|
323
|
+
return true;
|
|
324
|
+
return false;
|
|
325
|
+
}
|
|
326
|
+
function cleanListItem(part) {
|
|
327
|
+
return part
|
|
328
|
+
.trim()
|
|
329
|
+
.replace(/^[()[\]{}]+|[()[\]{}]+$/g, '')
|
|
330
|
+
.trim();
|
|
331
|
+
}
|
|
332
|
+
function technicalListItems(parts) {
|
|
333
|
+
const cleaned = parts.map(cleanListItem).filter(Boolean);
|
|
334
|
+
if (cleaned.length === 0)
|
|
335
|
+
return false;
|
|
336
|
+
let hits = 0;
|
|
337
|
+
for (const item of cleaned) {
|
|
338
|
+
if (FILE_EXT_ITEM_RE.test(item) || EXCEL_FUNCTIONS.has(item.toUpperCase()) || OS_ITEM_RE.test(item))
|
|
339
|
+
hits++;
|
|
340
|
+
}
|
|
341
|
+
return hits * 2 >= cleaned.length;
|
|
342
|
+
}
|
|
221
343
|
/**
|
|
222
344
|
* Markup and links, removed before any rule tokenizes a field.
|
|
223
345
|
*
|
|
@@ -244,8 +366,12 @@ const MIN_SHORT_DESCRIPTION_LENGTH = 25;
|
|
|
244
366
|
const NAME_STUFFING_LENGTH = 45;
|
|
245
367
|
/** Comma-ish segments in a name past which it reads as a keyword list. */
|
|
246
368
|
const NAME_MAX_SEGMENTS = 3;
|
|
247
|
-
/**
|
|
248
|
-
|
|
369
|
+
/**
|
|
370
|
+
* Segments in a run before it counts as a keyword list rather than a sentence.
|
|
371
|
+
* Raised 8 → 10 after the T9 sample: 8–9 item runs were feature/format lists;
|
|
372
|
+
* the true dumps were 10+ (Eventbrite fields, PromoLink regions).
|
|
373
|
+
*/
|
|
374
|
+
const MIN_LIST_SEGMENTS = 10;
|
|
249
375
|
/** Words per segment above which the run is prose, not a list. */
|
|
250
376
|
const MAX_WORDS_PER_LIST_SEGMENT = 3;
|
|
251
377
|
/** The listing fields a rule can point at, in the order a reviewer reads them. */
|
|
@@ -374,8 +500,15 @@ export function checkKeywordRepetition(listing) {
|
|
|
374
500
|
.sort((a, b) => b[1] - a[1]);
|
|
375
501
|
if (over.length === 0)
|
|
376
502
|
continue;
|
|
377
|
-
|
|
378
|
-
|
|
503
|
+
// Drop name tokens from the ranked list rather than skipping the
|
|
504
|
+
// whole field — otherwise `HAVAH ×20, casino ×15` under the name
|
|
505
|
+
// "HAVAH Wallet" is silent.
|
|
506
|
+
const nameWords = new Set(words(locale.name ?? ''));
|
|
507
|
+
const remaining = over.filter(([w]) => !nameWords.has(w));
|
|
508
|
+
if (remaining.length === 0)
|
|
509
|
+
continue;
|
|
510
|
+
const [worstWord, worstCount] = remaining[0];
|
|
511
|
+
const others = remaining.slice(1, 5).map(([w, n]) => `${w} ×${n}`);
|
|
379
512
|
out.push(advisory({
|
|
380
513
|
check: 'listing-keyword-repetition',
|
|
381
514
|
title: `"${worstWord}" is repeated ${worstCount} times in the ${field.label}`,
|
|
@@ -436,6 +569,12 @@ export function checkKeywordList(listing) {
|
|
|
436
569
|
}
|
|
437
570
|
if (best < MIN_LIST_SEGMENTS)
|
|
438
571
|
continue;
|
|
572
|
+
const runParts = segments
|
|
573
|
+
.slice(bestStart, bestStart + best)
|
|
574
|
+
.map((s) => s.trim())
|
|
575
|
+
.filter(Boolean);
|
|
576
|
+
if (technicalListItems(runParts))
|
|
577
|
+
continue;
|
|
439
578
|
const sample = segments
|
|
440
579
|
.slice(bestStart, bestStart + 6)
|
|
441
580
|
.map((s) => s.trim())
|
|
@@ -502,6 +641,8 @@ export function checkTestimonialBlock(listing) {
|
|
|
502
641
|
const m = TESTIMONIAL_GLYPH_RE.exec(value);
|
|
503
642
|
if (!m)
|
|
504
643
|
continue;
|
|
644
|
+
if (ornamentalStarRun(value, m.index + m[0].length, m[0]))
|
|
645
|
+
continue;
|
|
505
646
|
out.push(advisory({
|
|
506
647
|
check: 'listing-testimonial-block',
|
|
507
648
|
title: `The ${field.label} contains a pasted ratings or testimonial block`,
|
|
@@ -533,6 +674,8 @@ export function checkImpossibleClaims(listing) {
|
|
|
533
674
|
const m = pattern.re.exec(value);
|
|
534
675
|
if (!m)
|
|
535
676
|
continue;
|
|
677
|
+
if (claimIsDenied(value, m.index, m.index + m[0].length))
|
|
678
|
+
continue;
|
|
536
679
|
out.push(advisory({
|
|
537
680
|
check: 'listing-impossible-claim',
|
|
538
681
|
title: `The ${field.label} claims functionality no extension can deliver`,
|
|
@@ -562,6 +705,8 @@ export function checkUnverifiableClaims(listing) {
|
|
|
562
705
|
const m = pattern.re.exec(value);
|
|
563
706
|
if (!m)
|
|
564
707
|
continue;
|
|
708
|
+
if (claimIsDenied(value, m.index, m.index + m[0].length))
|
|
709
|
+
continue;
|
|
565
710
|
out.push(advisory({
|
|
566
711
|
check: 'listing-unverifiable-superlative',
|
|
567
712
|
title: `The ${field.label} makes a claim a reviewer cannot verify`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing-checks.js","sourceRoot":"","sources":["../src/listing-checks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listing-checks.js","sourceRoot":"","sources":["../src/listing-checks.ts"],"names":[],"mappings":"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"}
|
package/dist/listing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE3D,2FAA2F;AAC3F,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAA;AAE5D,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC7B,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,OAAO;IACvB,MAAM,EAAE,aAAa,CAAA;IACrB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAA;IACrB,sDAAsD;IACtD,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAmED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAgCtF;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA8BtD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAyD/E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,GAAG,IAAI,CAkBjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GACtB,OAAO,GAAG,IAAI,CA2ChB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,OAAO,GACnB,MAAM,EAAE,CAoBV"}
|
package/dist/listing.js
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
* `mergeListings`) and the report has to say it was used.
|
|
28
28
|
*/
|
|
29
29
|
import fs from 'node:fs';
|
|
30
|
+
import { listingDraftFromChromeWebStoreMd } from './chromewebstore-md.js';
|
|
30
31
|
const DEFAULT_LOCALE_FALLBACK = 'default';
|
|
31
32
|
/** `__MSG_someKey__` — the store's placeholder for a localized manifest string. */
|
|
32
33
|
const MSG_PLACEHOLDER_RE = /^__MSG_([A-Za-z0-9_@]+)__$/;
|
|
@@ -303,11 +304,18 @@ export function assembleListing(manifest, files, listingPath, catalog) {
|
|
|
303
304
|
throw new Error(`Listing file not found: ${listingPath}`);
|
|
304
305
|
}
|
|
305
306
|
let parsed;
|
|
306
|
-
|
|
307
|
-
|
|
307
|
+
const raw = fs.readFileSync(listingPath, 'utf8');
|
|
308
|
+
if (listingPath.toLowerCase().endsWith('.md')) {
|
|
309
|
+
// CHROMEWEBSTORE.md is the same draft as listing.json, in markdown.
|
|
310
|
+
parsed = listingDraftFromChromeWebStoreMd(raw);
|
|
308
311
|
}
|
|
309
|
-
|
|
310
|
-
|
|
312
|
+
else {
|
|
313
|
+
try {
|
|
314
|
+
parsed = JSON.parse(raw);
|
|
315
|
+
}
|
|
316
|
+
catch (err) {
|
|
317
|
+
throw new Error(`Listing file is not valid JSON: ${err.message}`);
|
|
318
|
+
}
|
|
311
319
|
}
|
|
312
320
|
try {
|
|
313
321
|
listing = mergeListings(fromArtifact, parseListingFile(parsed));
|
package/dist/listing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AAsCzE,MAAM,uBAAuB,GAAG,SAAS,CAAA;AAEzC,mFAAmF;AACnF,MAAM,kBAAkB,GAAG,4BAA4B,CAAA;AAEvD,mFAAmF;AACnF,MAAM,cAAc,GAAG,sDAAsD,CAAA;AAM7E;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,KAAc;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,CAAC;YAAE,SAAQ;QAChB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAsB,CAAC,CAAA;YACtC,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,6DAA6D;QAC9D,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,yFAAyF;AACzF,SAAS,UAAU,CAAC,QAAsB,EAAE,GAAW;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAA;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACrE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,KAAc,EAAE,QAAkC;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAA;IAChE,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACzD,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAA;IAC9B,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACnE,CAAC;AAED,SAAS,OAAO,CAAC,CAAgB;IAChC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,WAAW,CAAC,CAAA;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAkB,EAAE,KAAc;IACrE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,eAAe,GACpB,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE;QAC5E,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE;QAChC,CAAC,CAAC,SAAS,CAAA;IAEb,+EAA+E;IAC/E,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAkB;YAC7B,MAAM,EAAE,eAAe,IAAI,uBAAuB;YAClD,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;YAC5C,gBAAgB,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;SAC/D,CAAA;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACxG,CAAC;IAED,MAAM,OAAO,GAAoB,EAAE,CAAA;IACnC,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACnD,MAAM,KAAK,GAAkB;YAC5B,MAAM;YACN,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC3C,gBAAgB,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC;SAC9D,CAAA;QACD,IAAI,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAErC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACxD,MAAM,aAAa,GAClB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC3G,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,CAAA;AACtD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACrE,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,GAAY;IACrD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACtE,MAAM,CAAC,GAAG,GAA8B,CAAA;IACxC,MAAM,KAAK,GAAkB;QAC5B,MAAM;QACN,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC/F,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;KACnF,CAAA;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACrC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC5C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAA;IACxC,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAE/F,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAA;IAC5B,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAChF,MAAM,OAAO,GAAoB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAqC,CAAC,EAAE,CAAC;YACrF,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAC9C,IAAI,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;QACtF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QACxD,MAAM,aAAa,GAClB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC;YACnE,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACrB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAA;IACnD,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,eAAe,IAAI,uBAAuB,EAAE,CAAC,CAAC,CAAA;IAC5E,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAA;AACnG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,QAAwB,EAAE,KAAc;IACrE,+EAA+E;IAC/E,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAC9E,iDAAiD;IAEjD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;IACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAElE,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC/B,+DAA+D;QAC/D,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,wEAAwE;QACxE,sEAAsE;QACtE,EAAE;QACF,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,cAAc;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC7B,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;gBACpB,MAAM;gBACN,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI;gBAC9B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE,gBAAgB;gBAClE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,EAAE,WAAW;aACnD,CAAC,CAAA;QACH,CAAC;IACF,CAAC;SAAM,CAAC;QACP,uEAAuE;QACvE,mEAAmE;QACnE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YACvC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,QAAQ,EAAE,IAAI;gBAC9B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,QAAQ,EAAE,gBAAgB;gBAClE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,QAAQ,EAAE,WAAW;aACnD,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACvG,wEAAwE;IACxE,2BAA2B;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAA;IAC1F,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;QAChE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,aAAa,CAAC;YACzD,CAAC,CAAC,QAAQ,CAAC,aAAa;YACxB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAA;AACxD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAIlC;IACA,0EAA0E;IAC1E,6EAA6E;IAC7E,4DAA4D;IAC5D,MAAM,KAAK,GAAG,CAAC,CAAqB,EAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC/F,MAAM,KAAK,GAAkB;QAC5B,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC9C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;KACpC,CAAA;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAChC,OAAO;QACN,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,uBAAuB;QACtC,OAAO,EAAE,CAAC,KAAK,CAAC;QAChB,mBAAmB,EAAE,IAAI;KACzB,CAAA;AACF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC9B,QAAkB,EAClB,KAAc,EACd,WAAoB,EACpB,OAAwB;IAExB,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAEzD,IAAI,OAAO,GAAG,YAAY,CAAA;IAC1B,IAAI,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,MAAe,CAAA;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAChD,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,oEAAoE;YACpE,MAAM,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC;gBACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAoC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;YAC7E,CAAC;QACF,CAAC;QACD,IAAI,CAAC;YACJ,OAAO,GAAG,aAAa,CAAC,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7D,CAAC;IACF,CAAC;IAED,gEAAgE;IAChE,EAAE;IACF,8EAA8E;IAC9E,6EAA6E;IAC7E,0EAA0E;IAC1E,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,uEAAuE;IACvE,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9C,yEAAyE;QACzE,uEAAuE;QACvE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAChE,CAAC;IACD,OAAO,OAAO,CAAA;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAAuB,EACvB,WAAoB,EACpB,WAAqB;IAErB,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,CAAC,6FAA6F,CAAC,CAAA;IACvG,CAAC;IACD,MAAM,KAAK,GAAG;QACb,sBAAsB,OAAO,CAAC,OAAO,CAAC,MAAM,eAAe,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC5G,CAAA;IACD,IAAI,WAAW,EAAE,CAAC;QACjB,6EAA6E;QAC7E,sEAAsE;QACtE,KAAK,CAAC,IAAI,CACT,mIAAmI,CACnI,CAAA;IACF,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QACjF,KAAK,CAAC,IAAI,CACT,4GAA4G,CAC5G,CAAA;IACF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC"}
|