cross-seed 6.0.0-27 → 6.0.0-29
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/arr.js +3 -3
- package/dist/arr.js.map +1 -1
- package/dist/clients/Deluge.js +4 -4
- package/dist/clients/Deluge.js.map +1 -1
- package/dist/clients/QBittorrent.js +11 -2
- package/dist/clients/QBittorrent.js.map +1 -1
- package/dist/clients/RTorrent.js +3 -1
- package/dist/clients/RTorrent.js.map +1 -1
- package/dist/clients/Transmission.js +1 -1
- package/dist/clients/Transmission.js.map +1 -1
- package/dist/config.template.cjs +13 -13
- package/dist/configuration.js +3 -0
- package/dist/configuration.js.map +1 -1
- package/dist/constants.js +5 -3
- package/dist/constants.js.map +1 -1
- package/dist/decide.js +22 -5
- package/dist/decide.js.map +1 -1
- package/dist/logger.js +1 -0
- package/dist/logger.js.map +1 -1
- package/dist/preFilter.js +6 -5
- package/dist/preFilter.js.map +1 -1
- package/dist/searchee.js +11 -22
- package/dist/searchee.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/torrent.js +4 -8
- package/dist/torrent.js.map +1 -1
- package/dist/torznab.js +10 -12
- package/dist/torznab.js.map +1 -1
- package/dist/utils.js +59 -18
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/utils.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import path from "path";
|
2
|
-
import { ALL_EXTENSIONS, ANIME_REGEX, AUDIO_EXTENSIONS, BOOK_EXTENSIONS, Decision, EP_REGEX, MOVIE_REGEX, SCENE_TITLE_REGEX, SEASON_REGEX, VIDEO_EXTENSIONS, } from "./constants.js";
|
2
|
+
import { ALL_EXTENSIONS, ANIME_REGEX, AUDIO_EXTENSIONS, BOOK_EXTENSIONS, Decision, EP_REGEX, MOVIE_REGEX, NON_UNICODE_ALPHANUM_REGEX, SCENE_TITLE_REGEX, SEASON_REGEX, VIDEO_DISC_EXTENSIONS, VIDEO_EXTENSIONS, YEARS_REGEX, } from "./constants.js";
|
3
3
|
import { resultOf, resultOfErr } from "./Result.js";
|
4
4
|
import chalk from "chalk";
|
5
5
|
import { getRuntimeConfig } from "./runtimeConfig.js";
|
@@ -39,10 +39,10 @@ export function humanReadableSize(bytes) {
|
|
39
39
|
return `${parseFloat(coefficient.toFixed(2))} ${sizes[exponent]}`;
|
40
40
|
}
|
41
41
|
export function filesWithExt(files, exts) {
|
42
|
-
return files.filter((f) => exts.includes(path.extname(f.name)));
|
42
|
+
return files.filter((f) => exts.includes(path.extname(f.name.toLowerCase())));
|
43
43
|
}
|
44
44
|
export function hasExt(files, exts) {
|
45
|
-
return files.some((f) => exts.includes(path.extname(f.name)));
|
45
|
+
return files.some((f) => exts.includes(path.extname(f.name.toLowerCase())));
|
46
46
|
}
|
47
47
|
export function getMediaType(searchee) {
|
48
48
|
function unsupportedMediaType(searchee) {
|
@@ -68,6 +68,10 @@ export function getMediaType(searchee) {
|
|
68
68
|
if (ANIME_REGEX.test(searchee.title))
|
69
69
|
return MediaType.ANIME;
|
70
70
|
return MediaType.VIDEO;
|
71
|
+
case hasExt(searchee.files, VIDEO_DISC_EXTENSIONS):
|
72
|
+
if (MOVIE_REGEX.test(searchee.title))
|
73
|
+
return MediaType.MOVIE;
|
74
|
+
return MediaType.VIDEO;
|
71
75
|
case hasExt(searchee.files, [".rar"]):
|
72
76
|
if (MOVIE_REGEX.test(searchee.title))
|
73
77
|
return MediaType.MOVIE;
|
@@ -75,7 +79,9 @@ export function getMediaType(searchee) {
|
|
75
79
|
return unsupportedMediaType(searchee);
|
76
80
|
}
|
77
81
|
}
|
78
|
-
export function shouldRecheck(decision) {
|
82
|
+
export function shouldRecheck(searchee, decision) {
|
83
|
+
if (hasExt(searchee.files, VIDEO_DISC_EXTENSIONS))
|
84
|
+
return true;
|
79
85
|
switch (decision) {
|
80
86
|
case Decision.MATCH:
|
81
87
|
case Decision.MATCH_SIZE_ONLY:
|
@@ -113,11 +119,38 @@ export function getApikey(url) {
|
|
113
119
|
}
|
114
120
|
export function cleanseSeparators(str) {
|
115
121
|
return str
|
116
|
-
.replace(/\[.*?\]|「.*?」|「.*?」|【.*?】/g, "")
|
117
|
-
.replace(/[._()[\]]/g, " ")
|
118
|
-
.replace(/\s+/g, " ")
|
122
|
+
.replace(/\[.*?\]|「.*?」|「.*?」|【.*?】/g, "") // bracketed text
|
123
|
+
.replace(/[._()[\]]/g, " ") // release delimiters (except '-')
|
124
|
+
.replace(/\s+/g, " ") // successive spaces
|
125
|
+
.replace(/^\s*-+|-+\s*$/g, "") // "trim()" hyphens
|
119
126
|
.trim();
|
120
127
|
}
|
128
|
+
export function cleanTitle(title) {
|
129
|
+
return cleanseSeparators(title).match(SCENE_TITLE_REGEX).groups.title;
|
130
|
+
}
|
131
|
+
export function reformatTitleForSearching(name) {
|
132
|
+
const seriesTitle = name.match(EP_REGEX)?.groups?.title ??
|
133
|
+
name.match(SEASON_REGEX)?.groups?.title;
|
134
|
+
if (seriesTitle) {
|
135
|
+
const title = cleanTitle(seriesTitle);
|
136
|
+
return title.length > 4
|
137
|
+
? replaceLastOccurrence(title, YEARS_REGEX, "")
|
138
|
+
.replace(/\s+/g, " ")
|
139
|
+
.trim()
|
140
|
+
: title;
|
141
|
+
}
|
142
|
+
return cleanTitle(name.match(MOVIE_REGEX)?.[0] ?? name);
|
143
|
+
}
|
144
|
+
export function createKeyTitle(title) {
|
145
|
+
const key = cleanTitle(title)
|
146
|
+
.replace(NON_UNICODE_ALPHANUM_REGEX, "")
|
147
|
+
.toLowerCase();
|
148
|
+
return key.length > 4
|
149
|
+
? replaceLastOccurrence(key, YEARS_REGEX, "")
|
150
|
+
: key.length
|
151
|
+
? key
|
152
|
+
: null;
|
153
|
+
}
|
121
154
|
export function isBadTitle(title) {
|
122
155
|
return ["season", "ep"].includes(title.toLowerCase());
|
123
156
|
}
|
@@ -126,24 +159,15 @@ export function getAnimeQueries(name) {
|
|
126
159
|
const animeQueries = [];
|
127
160
|
const { title, altTitle, release } = name.match(ANIME_REGEX)?.groups ?? {};
|
128
161
|
if (title) {
|
129
|
-
animeQueries.push(
|
162
|
+
animeQueries.push(cleanTitle(`${title} ${release}`));
|
130
163
|
}
|
131
164
|
if (altTitle) {
|
132
165
|
if (isBadTitle(altTitle))
|
133
166
|
return animeQueries;
|
134
|
-
animeQueries.push(
|
167
|
+
animeQueries.push(cleanTitle(`${altTitle} ${release}`));
|
135
168
|
}
|
136
169
|
return animeQueries;
|
137
170
|
}
|
138
|
-
export function reformatTitleForSearching(title) {
|
139
|
-
return cleanseSeparators(title).match(SCENE_TITLE_REGEX).groups.title;
|
140
|
-
}
|
141
|
-
export function reformatNameForSearching(name) {
|
142
|
-
return reformatTitleForSearching(name.match(EP_REGEX)?.groups?.title ??
|
143
|
-
name.match(SEASON_REGEX)?.groups?.title ??
|
144
|
-
name.match(MOVIE_REGEX)?.[0] ??
|
145
|
-
name);
|
146
|
-
}
|
147
171
|
export const tap = (fn) => (value) => {
|
148
172
|
fn(value);
|
149
173
|
return value;
|
@@ -203,6 +227,23 @@ export function extractCredentialsFromUrl(url, basePath) {
|
|
203
227
|
export function capitalizeFirstLetter(string) {
|
204
228
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
205
229
|
}
|
230
|
+
/**
|
231
|
+
* Replaces the last occurrence of a GLOBAL regex match in a string
|
232
|
+
* @param str The string to replace the last occurrence in
|
233
|
+
* @param globalRegExp The regex to match (must be global)
|
234
|
+
* @param newStr The string to replace the last occurrence with
|
235
|
+
*/
|
236
|
+
export function replaceLastOccurrence(str, globalRegExp, newStr) {
|
237
|
+
const matches = Array.from(str.matchAll(globalRegExp));
|
238
|
+
if (matches.length === 0)
|
239
|
+
return str;
|
240
|
+
const lastMatch = matches[matches.length - 1];
|
241
|
+
const lastMatchIndex = lastMatch.index;
|
242
|
+
const lastMatchStr = lastMatch[0];
|
243
|
+
return (str.slice(0, lastMatchIndex) +
|
244
|
+
newStr +
|
245
|
+
str.slice(lastMatchIndex + lastMatchStr.length));
|
246
|
+
}
|
206
247
|
export function extractInt(str) {
|
207
248
|
return parseInt(str.match(/\d+/)[0]);
|
208
249
|
}
|
package/dist/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACN,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACN,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAU,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACpB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,8BAAiB,CAAA;AAClB,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAMD,MAAM,UAAU,QAAQ,CAAI,KAAQ;IACnC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC9C,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAS;IAC/B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC9C,MAAM,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClD,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AACnE,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAc;IACzD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CACjD,CAAC;AACH,CAAC;AACD,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,IAAc;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC9C,SAAS,oBAAoB,CAAC,QAAkB;QAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC;YACpD,OAAO,SAAS,CAAC,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACP,OAAO,SAAS,CAAC,KAAK,CAAC;QACxB,CAAC;IACF,CAAC;IAED,mCAAmC;IACnC,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjC,OAAO,SAAS,CAAC,OAAO,CAAC;QAC1B,KAAK,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrC,OAAO,SAAS,CAAC,MAAM,CAAC;QACzB,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;YAC5C,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC;YAC7D,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC;YAC7D,OAAO,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;YACjD,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC;YAC7D,OAAO,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC;QAC9D;YACC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;AACF,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,QAAkB,EAAE,QAAkB;IACnE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,KAAK,CAAC;QACpB,KAAK,QAAQ,CAAC,eAAe;YAC5B,OAAO,KAAK,CAAC;QACd,KAAK,QAAQ,CAAC,aAAa,CAAC;QAC5B;YACC,OAAO,IAAI,CAAC;IACd,CAAC;AACF,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAI,EAAW,EAAE,KAAe;IACzD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,CAAC;QACJ,OAAO,MAAM,EAAE,EAAE,CAAC;IACnB,CAAC;YAAS,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;IACxC,CAAC;AACF,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;AAClC,CAAC;AACD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACpC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC5C,OAAO,GAAG;SACR,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,iBAAiB;SAC3D,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,kCAAkC;SAC7D,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,oBAAoB;SACzC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,mBAAmB;SACjD,IAAI,EAAE,CAAC;AACV,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACvC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAE,CAAC,MAAO,CAAC,KAAK,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACrD,MAAM,WAAW,GAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK;QACnC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;IACzC,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;iBAC5C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,IAAI,EAAE;YACT,CAAC,CAAC,KAAK,CAAC;IACV,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;SAC3B,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,WAAW,EAAE,CAAC;IAChB,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC;QACpB,CAAC,CAAC,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC;QAC7C,CAAC,CAAC,GAAG,CAAC,MAAM;YACX,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,CAAC;AACV,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACvC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC3C,8EAA8E;IAC9E,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;IAC3E,IAAI,KAAK,EAAE,CAAC;QACX,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACd,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,YAAY,CAAC;QAC9C,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;IACpC,EAAE,CAAC,KAAK,CAAC,CAAC;IACV,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAG,EAAE,SAAS;IAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IAClD,qDAAqD;IACrD,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,QAAkB,EAClB,QAAuB,KAAK,CAAC,KAAK;IAElC,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,QAAQ;YACvB,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrF,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACd,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ;QACvB,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACxG,CAAC,CAAC,QAAQ,CAAC,IAAI;YACd,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE;YAC/D,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAiB;IAC7C,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAChC,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;KACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,GAAG,IAAS;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACxC,GAAW,EACX,QAAiB;IAEjB,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC;YACf,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;YACtC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;YACtC,IAAI,EAAE,QAAQ;gBACb,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC9C,CAAC,CAAC,QAAQ,KAAK,GAAG;oBACjB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,MAAM,GAAG,QAAQ;SACrB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,WAAW,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACpC,GAAW,EACX,YAAoB,EACpB,MAAc;IAEd,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,KAAM,CAAC;IACxC,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CACN,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;QAC5B,MAAM;QACN,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAClD,OAAO,kBAAkB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC9B,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,kBAAkB,CAAC;AAC/B,CAAC"}
|