@dxworks/depinder 0.1.6 → 0.2.1
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/cache/json-cache.js.map +1 -1
- package/dist/cache/mongo-cache.js +20 -11
- package/dist/cache/mongo-cache.js.map +1 -1
- package/dist/commands/analyse.js +28 -27
- package/dist/commands/analyse.js.map +1 -1
- package/dist/commands/cache.js +6 -6
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/extractFrameworkVersion.js +67 -22
- package/dist/commands/extractFrameworkVersion.js.map +1 -1
- package/dist/commands/transformBlackDuckReports.d.ts +11 -0
- package/dist/commands/transformBlackDuckReports.js +491 -0
- package/dist/commands/transformBlackDuckReports.js.map +1 -0
- package/dist/commands/update.js +3 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/depinder.js +4 -2
- package/dist/depinder.js.map +1 -1
- package/dist/extension-points/registrar.js +7 -8
- package/dist/extension-points/registrar.js.map +1 -1
- package/dist/info/php/parser.js +21 -12
- package/dist/info/php/parser.js.map +1 -1
- package/dist/plugins/dotnet/index.js +8 -16
- package/dist/plugins/dotnet/index.js.map +1 -1
- package/dist/plugins/index.js +3 -3
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/java/index.js +15 -23
- package/dist/plugins/java/index.js.map +1 -1
- package/dist/plugins/java/parsers/maven.js +2 -4
- package/dist/plugins/java/parsers/maven.js.map +1 -1
- package/dist/plugins/javascript/index.js +116 -24
- package/dist/plugins/javascript/index.js.map +1 -1
- package/dist/plugins/php/index.js +8 -11
- package/dist/plugins/php/index.js.map +1 -1
- package/dist/plugins/php/php-interfaces.js +4 -6
- package/dist/plugins/php/php-interfaces.js.map +1 -1
- package/dist/plugins/python/index.js +33 -20
- package/dist/plugins/python/index.js.map +1 -1
- package/dist/plugins/ruby/index.js +21 -12
- package/dist/plugins/ruby/index.js.map +1 -1
- package/dist/utils/npm.d.ts +0 -1
- package/dist/utils/projectMapping.d.ts +41 -0
- package/dist/utils/projectMapping.js +310 -0
- package/dist/utils/projectMapping.js.map +1 -0
- package/dist/utils/utils.js +6 -6
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/vulnerabilities.js +54 -54
- package/dist/utils/vulnerabilities.js.map +1 -1
- package/package.json +45 -49
package/dist/info/php/parser.js
CHANGED
|
@@ -15,25 +15,36 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
36
|
+
exports.parseComposerFile = parseComposerFile;
|
|
37
|
+
exports.parseComposerLockFile = parseComposerLockFile;
|
|
38
|
+
exports.getAllDependenciesFromLock = getAllDependenciesFromLock;
|
|
39
|
+
exports.getAllDependenciesFromComposerJson = getAllDependenciesFromComposerJson;
|
|
27
40
|
const fs = __importStar(require("fs"));
|
|
28
41
|
const php_interfaces_1 = require("../../plugins/php/php-interfaces");
|
|
29
42
|
function parseComposerFile(file) {
|
|
30
43
|
return JSON.parse(fs.readFileSync(file).toString());
|
|
31
44
|
}
|
|
32
|
-
exports.parseComposerFile = parseComposerFile;
|
|
33
45
|
function parseComposerLockFile(file) {
|
|
34
46
|
return JSON.parse(fs.readFileSync(file).toString());
|
|
35
47
|
}
|
|
36
|
-
exports.parseComposerLockFile = parseComposerLockFile;
|
|
37
48
|
async function addVersions(it) {
|
|
38
49
|
const response = await (0, php_interfaces_1.getPackageDetails)(it.name);
|
|
39
50
|
if (!response)
|
|
@@ -53,9 +64,7 @@ async function addVersions(it) {
|
|
|
53
64
|
async function getAllDependenciesFromLock(deps) {
|
|
54
65
|
return (await Promise.all(deps.map(it => addVersions(it)))).filter(it => it != null).map(it => it);
|
|
55
66
|
}
|
|
56
|
-
exports.getAllDependenciesFromLock = getAllDependenciesFromLock;
|
|
57
67
|
async function getAllDependenciesFromComposerJson(deps) {
|
|
58
68
|
return (await Promise.all(deps.map(it => (0, php_interfaces_1.getPackageDetails)(it)))).filter(it => it !== null).map(it => it);
|
|
59
69
|
}
|
|
60
|
-
exports.getAllDependenciesFromComposerJson = getAllDependenciesFromComposerJson;
|
|
61
70
|
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/info/php/parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/info/php/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,8CAEC;AAED,sDAEC;AAmBD,gEAEC;AAGD,gFAEC;AAzGD,uCAAwB;AACxB,qEAAmG;AAwEnG,SAAgB,iBAAiB,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAa,CAAA;AACnE,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAiB,CAAA;AACvE,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,EAAmB;IAC1C,MAAM,QAAQ,GAAG,MAAM,IAAA,kCAAiB,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACjD,IAAG,CAAC,QAAQ;QACR,OAAO,IAAI,CAAA;IACf,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;IAC/B,EAAE,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAA;IAC7C,EAAE,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAA;IACxC,EAAE,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;IACvC,EAAE,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAA;IACnD,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;IAC/B,EAAE,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;IACnC,EAAE,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;IACnC,EAAE,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;IACjC,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC3B,OAAO,EAAE,CAAA;AACb,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAAC,IAAuB;IACpE,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAqB,CAAC,CAAA;AACzH,CAAC;AAGM,KAAK,UAAU,kCAAkC,CAAC,IAAc;IACnE,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,kCAAiB,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAqB,CAAC,CAAA;AAChI,CAAC"}
|
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.dotnet = exports.registrar = exports.NugetRegistrar =
|
|
6
|
+
exports.dotnet = exports.registrar = exports.NugetRegistrar = void 0;
|
|
7
|
+
exports.runNugetInspector = runNugetInspector;
|
|
7
8
|
const axios_1 = __importDefault(require("axios"));
|
|
8
9
|
const registrar_1 = require("../../extension-points/registrar");
|
|
9
10
|
const moment_1 = __importDefault(require("moment"));
|
|
@@ -88,7 +89,6 @@ async function runNugetInspector(context) {
|
|
|
88
89
|
const result = JSON.parse(fs_1.default.readFileSync(tempFile).toString());
|
|
89
90
|
return transformNugetInspectorResult(result);
|
|
90
91
|
}
|
|
91
|
-
exports.runNugetInspector = runNugetInspector;
|
|
92
92
|
const parser = {
|
|
93
93
|
parseDependencyTree: runNugetInspector,
|
|
94
94
|
};
|
|
@@ -97,42 +97,34 @@ const checker = {
|
|
|
97
97
|
getPURL: (lib, ver) => `pkg:nuget/${lib.replace('@', '%40')}@${ver}`,
|
|
98
98
|
};
|
|
99
99
|
class NugetRegistrar extends registrar_1.AbstractRegistrar {
|
|
100
|
-
|
|
101
|
-
super(...arguments);
|
|
102
|
-
this.baseURL = 'https://api.nuget.org/v3/registration5-gz-semver1';
|
|
103
|
-
}
|
|
100
|
+
baseURL = 'https://api.nuget.org/v3/registration5-gz-semver1';
|
|
104
101
|
async retrieveFromRegistry(libraryName) {
|
|
105
102
|
const response = await axios_1.default.get(`${this.baseURL}/${libraryName.toLowerCase()}/index.json`);
|
|
106
103
|
return this.parseData(response.data);
|
|
107
104
|
}
|
|
108
105
|
parseData(responseData) {
|
|
109
|
-
|
|
110
|
-
const versions = ((_a = responseData === null || responseData === void 0 ? void 0 : responseData.items) === null || _a === void 0 ? void 0 : _a.flatMap((it) => it.items)) || [];
|
|
106
|
+
const versions = responseData?.items?.flatMap((it) => it.items) || [];
|
|
111
107
|
versions.sort((a, b) => (0, moment_1.default)(b.catalogEntry.published).valueOf() - (0, moment_1.default)(a.catalogEntry.published).valueOf());
|
|
112
108
|
const latestVersion = versions[0].catalogEntry.version;
|
|
113
109
|
// if(versions) {
|
|
114
110
|
return {
|
|
115
111
|
name: versions[0].catalogEntry.id,
|
|
116
|
-
versions: versions
|
|
117
|
-
var _a, _b;
|
|
112
|
+
versions: versions?.map(it => {
|
|
118
113
|
return {
|
|
119
114
|
version: it.catalogEntry.version,
|
|
120
|
-
licenses: `${
|
|
115
|
+
licenses: `${it.catalogEntry?.licenseExpression || ''} ${it.catalogEntry?.licenseUrl}`.trim(),
|
|
121
116
|
timestamp: (0, moment_1.default)(it.catalogEntry.published).valueOf(),
|
|
122
117
|
latest: it.catalogEntry.version === latestVersion,
|
|
123
118
|
};
|
|
124
119
|
}),
|
|
125
|
-
licenses: [...new Set(versions.map(it =>
|
|
120
|
+
licenses: [...new Set(versions.map(it => `${it.catalogEntry?.licenseExpression || ''} ${it.catalogEntry?.licenseUrl}`.trim()))],
|
|
126
121
|
requiresLicenseAcceptance: versions.some(it => it.catalogEntry.requireLicenseAcceptance),
|
|
127
122
|
};
|
|
128
123
|
}
|
|
129
124
|
}
|
|
130
125
|
exports.NugetRegistrar = NugetRegistrar;
|
|
131
126
|
class NugetRegistrarSemver2 extends NugetRegistrar {
|
|
132
|
-
|
|
133
|
-
super(...arguments);
|
|
134
|
-
this.baseURL = 'https://api.nuget.org/v3/registration5-gz-semver2';
|
|
135
|
-
}
|
|
127
|
+
baseURL = 'https://api.nuget.org/v3/registration5-gz-semver2';
|
|
136
128
|
}
|
|
137
129
|
exports.registrar = new NugetRegistrar(new NugetRegistrarSemver2(new registrar_1.LibrariesIORegistrar('nuget')));
|
|
138
130
|
exports.dotnet = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/dotnet/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/dotnet/index.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/index.js
CHANGED
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.plugins = void 0;
|
|
7
|
+
exports.getPluginsFromNames = getPluginsFromNames;
|
|
7
8
|
const fs_1 = __importDefault(require("fs"));
|
|
8
9
|
const plugin_loader_1 = require("../extension-points/plugin-loader");
|
|
9
10
|
function loadDynamicPlugins(pluginsFile) {
|
|
@@ -29,7 +30,6 @@ function getPluginsFromNames(pluginNames) {
|
|
|
29
30
|
if (!pluginNames || pluginNames.length === 0) {
|
|
30
31
|
return exports.plugins;
|
|
31
32
|
}
|
|
32
|
-
return exports.plugins.filter(it =>
|
|
33
|
+
return exports.plugins.filter(it => pluginNames.includes(it.name) || it.aliases?.some(alias => pluginNames.includes(alias)));
|
|
33
34
|
}
|
|
34
|
-
exports.getPluginsFromNames = getPluginsFromNames;
|
|
35
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;;;;AA0BA,kDAKC;AA9BD,4CAAmB;AACnB,qEAAgE;AAEhE,SAAS,kBAAkB,CAAC,WAAmB;IAC3C,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAuC,CAAA;QAE7G,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACxB,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,EAAE,CAAC,KAAK;gBACR,OAAO,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YAC7B,OAAO,QAAQ,CAAA;QACnB,CAAC,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC;AAED,SAAS,WAAW;IAChB,OAAO,CAAC,GAAG,8BAAc,EAAE,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAA,CAAC,6DAA6D;AACnI,CAAC;AAEY,QAAA,OAAO,GAAa,WAAW,EAAE,CAAA;AAE9C,SAAgB,mBAAmB,CAAC,WAAsB;IACtD,IAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,eAAO,CAAA;IAClB,CAAC;IACD,OAAO,eAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACxH,CAAC"}
|
|
@@ -7,13 +7,11 @@ exports.java = exports.MavenCentralRegistrar = void 0;
|
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const registrar_1 = require("../../extension-points/registrar");
|
|
10
|
-
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
11
10
|
const fs_1 = __importDefault(require("fs"));
|
|
12
11
|
const utils_1 = require("../../utils/utils");
|
|
13
12
|
const maven_1 = require("./parsers/maven");
|
|
14
13
|
const logging_1 = require("../../utils/logging");
|
|
15
|
-
|
|
16
|
-
const pomParser = require('pom-parser');
|
|
14
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
17
15
|
const extractor = {
|
|
18
16
|
files: ['pom.xml', 'build.gradle', 'build.gradle.kts'],
|
|
19
17
|
createContexts: files => {
|
|
@@ -35,14 +33,13 @@ const parser = {
|
|
|
35
33
|
parseDependencyTree: parseLockFile,
|
|
36
34
|
};
|
|
37
35
|
function parseLockFile(context) {
|
|
38
|
-
var _a;
|
|
39
36
|
if (context.type === 'maven') {
|
|
40
37
|
if (!fs_1.default.existsSync(path_1.default.resolve(context.root, context.lockFile))) {
|
|
41
38
|
throw new Error(`Dependency tree file not found: ${path_1.default.resolve(context.root, context.lockFile)}`);
|
|
42
39
|
}
|
|
43
40
|
const depTreeContent = fs_1.default.readFileSync(path_1.default.resolve(context.root, context.lockFile)).toString();
|
|
44
41
|
const depinderProject = (0, maven_1.parseMavenDependencyTree)(depTreeContent);
|
|
45
|
-
depinderProject.path = path_1.default.resolve(context.root,
|
|
42
|
+
depinderProject.path = path_1.default.resolve(context.root, context.manifestFile ?? 'pom.xml');
|
|
46
43
|
return depinderProject;
|
|
47
44
|
}
|
|
48
45
|
else if (context.type === 'gradle') {
|
|
@@ -65,20 +62,16 @@ function parseLockFile(context) {
|
|
|
65
62
|
// }
|
|
66
63
|
throw new Error(`Unsupported context type: ${context.type}`);
|
|
67
64
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
resolve(pom);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
65
|
+
function parsePomFile(pomFile) {
|
|
66
|
+
const xmlContent = fs_1.default.readFileSync(pomFile, 'utf-8');
|
|
67
|
+
const parser = new fast_xml_parser_1.XMLParser();
|
|
68
|
+
const result = parser.parse(xmlContent);
|
|
69
|
+
return { pomObject: result };
|
|
77
70
|
}
|
|
78
71
|
async function getLatestAvailablePom(groupId, artifactId, docs) {
|
|
79
72
|
for (let i = 0; i < docs.length; i++) {
|
|
80
73
|
const pomUrl = `https://search.maven.org/remotecontent?filepath=${groupId.replace(/\./g, '/')}/${artifactId}/${docs[i].v}/${artifactId}-${docs[i].v}.pom`;
|
|
81
|
-
const pomResponse = await (
|
|
74
|
+
const pomResponse = await fetch(pomUrl);
|
|
82
75
|
if (pomResponse.status === 200)
|
|
83
76
|
return pomResponse;
|
|
84
77
|
}
|
|
@@ -89,19 +82,18 @@ const checker = {
|
|
|
89
82
|
};
|
|
90
83
|
class MavenCentralRegistrar extends registrar_1.AbstractRegistrar {
|
|
91
84
|
async retrieveFromRegistry(libraryName) {
|
|
92
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
93
85
|
const [groupId, artifactId] = libraryName.split(':');
|
|
94
86
|
const abortController = new AbortController();
|
|
95
87
|
setTimeout(() => abortController.abort(), 10000);
|
|
96
88
|
const rows = 200;
|
|
97
89
|
let start = 0;
|
|
98
90
|
const mavenSearchURL = `https://search.maven.org/solrsearch/select?q=g:"${groupId}" AND a:"${artifactId}"&core=gav&wt=json&rows=${rows}&start=${start}`;
|
|
99
|
-
const mavenResponse = await (
|
|
91
|
+
const mavenResponse = await fetch(mavenSearchURL, { signal: abortController.signal });
|
|
100
92
|
const mavenData = await mavenResponse.json();
|
|
101
93
|
let docs = mavenData.response.docs;
|
|
102
94
|
while (docs.length < mavenData.response.numFound) {
|
|
103
95
|
start += rows;
|
|
104
|
-
const mavenResponse = await (
|
|
96
|
+
const mavenResponse = await fetch(mavenSearchURL, { signal: abortController.signal });
|
|
105
97
|
const mavenData = await mavenResponse.json();
|
|
106
98
|
docs = [...docs, ...mavenData.response.docs];
|
|
107
99
|
}
|
|
@@ -123,10 +115,10 @@ class MavenCentralRegistrar extends registrar_1.AbstractRegistrar {
|
|
|
123
115
|
licenses: [],
|
|
124
116
|
};
|
|
125
117
|
}),
|
|
126
|
-
description:
|
|
127
|
-
licenses:
|
|
128
|
-
reposUrl:
|
|
129
|
-
issuesUrl:
|
|
118
|
+
description: pom?.project?.description ?? '',
|
|
119
|
+
licenses: pom?.project?.licenses?.license ? [pom?.project.licenses.license.name] : [],
|
|
120
|
+
reposUrl: pom?.project?.scm ? [pom?.project.scm.connection] : [],
|
|
121
|
+
issuesUrl: pom?.project?.issueManagement?.url ? [pom?.project.issueManagement.url] : [],
|
|
130
122
|
};
|
|
131
123
|
}
|
|
132
124
|
async getPom(groupId, artifactId, docs, libraryName) {
|
|
@@ -134,7 +126,7 @@ class MavenCentralRegistrar extends registrar_1.AbstractRegistrar {
|
|
|
134
126
|
const pomData = await pomResponse.text();
|
|
135
127
|
const pomFile = path_1.default.resolve(utils_1.depinderTempFolder, `${libraryName}.pom`);
|
|
136
128
|
fs_1.default.writeFileSync(pomFile, pomData);
|
|
137
|
-
const pom =
|
|
129
|
+
const pom = parsePomFile(pomFile);
|
|
138
130
|
fs_1.default.rmSync(pomFile);
|
|
139
131
|
return pom;
|
|
140
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/java/index.ts"],"names":[],"mappings":";;;;;;AACA,aAAa;AACb,gDAAuB;AACvB,gEAAqG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/java/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseMavenDependencyTree =
|
|
3
|
+
exports.parseMavenDependencyTree = parseMavenDependencyTree;
|
|
4
4
|
const utils_1 = require("../../../utils/utils");
|
|
5
5
|
function parseMavenDependencyTree(input) {
|
|
6
|
-
var _a;
|
|
7
6
|
const lines = input.split('\n');
|
|
8
7
|
const rootLine = lines[0].split(':');
|
|
9
8
|
const root = {
|
|
@@ -21,7 +20,7 @@ function parseMavenDependencyTree(input) {
|
|
|
21
20
|
const name = `${parts[0]}:${parts[1]}`;
|
|
22
21
|
const version = parts[3];
|
|
23
22
|
const id = `${name}@${version}`;
|
|
24
|
-
const type =
|
|
23
|
+
const type = parts[4]?.split(' ')[0];
|
|
25
24
|
const optional = lines[i].includes('(optional)');
|
|
26
25
|
const semver = (0, utils_1.getPackageSemver)(version);
|
|
27
26
|
while (stack.length > 0 && stack[stack.length - 1].level >= level) {
|
|
@@ -39,7 +38,6 @@ function parseMavenDependencyTree(input) {
|
|
|
39
38
|
}
|
|
40
39
|
return root;
|
|
41
40
|
}
|
|
42
|
-
exports.parseMavenDependencyTree = parseMavenDependencyTree;
|
|
43
41
|
function getIndentLevel(line) {
|
|
44
42
|
let indentLevel = 0;
|
|
45
43
|
while (line.startsWith('| ') || line.startsWith(' ')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maven.js","sourceRoot":"","sources":["../../../../src/plugins/java/parsers/maven.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"maven.js","sourceRoot":"","sources":["../../../../src/plugins/java/parsers/maven.ts"],"names":[],"mappings":";;AAIA,4DA2CC;AA9CD,gDAAqD;AAGrD,SAAgB,wBAAwB,CAAC,KAAa;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,IAAI,GAAoB;QAC1B,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;QACrC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpB,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,EAAE;KACnB,CAAA;IAED,MAAM,KAAK,GAAkC,EAAE,CAAA;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,4FAA4F;QAC5F,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtC,wEAAwE;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEvG,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAA;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAA;QAExC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YAChE,KAAK,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG;YACpB,EAAE;YACF,IAAI;YACJ,OAAO;YACP,MAAM;YACN,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACjC,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;SAClG,CAAA;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAChC,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACxB,WAAW,EAAE,CAAA;IACjB,CAAC;IACD,OAAO,WAAW,CAAA;AACtB,CAAC"}
|
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.javascript =
|
|
6
|
+
exports.javascript = void 0;
|
|
7
|
+
exports.retrieveFromNpm = retrieveFromNpm;
|
|
7
8
|
const snyk_nodejs_lockfile_parser_1 = require("snyk-nodejs-lockfile-parser");
|
|
8
9
|
const path_1 = __importDefault(require("path"));
|
|
9
10
|
const semver_1 = require("semver");
|
|
@@ -38,7 +39,10 @@ const extractor = {
|
|
|
38
39
|
try {
|
|
39
40
|
logging_1.log.info(`Trying to generate lock file for ${context.root}`);
|
|
40
41
|
npm_1.npm.install('', '--package-lock-only', context.root);
|
|
41
|
-
return
|
|
42
|
+
return {
|
|
43
|
+
...context,
|
|
44
|
+
lockFile: path_1.default.resolve(context.root, 'package-lock.json'),
|
|
45
|
+
};
|
|
42
46
|
}
|
|
43
47
|
catch (e) {
|
|
44
48
|
logging_1.log.error(e);
|
|
@@ -64,11 +68,9 @@ function getParentLockFile(packageFile, maxDepth = 5) {
|
|
|
64
68
|
const parser = {
|
|
65
69
|
parseDependencyTree: parseLockFile,
|
|
66
70
|
};
|
|
67
|
-
function
|
|
68
|
-
var _a;
|
|
71
|
+
function recursivelyTransformTreeDeps(tree, result) {
|
|
69
72
|
const rootId = `${tree.name}@${tree.version}`;
|
|
70
|
-
Object.values(
|
|
71
|
-
var _a;
|
|
73
|
+
Object.values(tree.dependencies ?? {}).forEach(dep => {
|
|
72
74
|
const id = `${dep.name}@${dep.version}`;
|
|
73
75
|
const cachedVersion = result.get(id);
|
|
74
76
|
if (cachedVersion) {
|
|
@@ -76,7 +78,7 @@ function recursivelyTransformDeps(tree, result) {
|
|
|
76
78
|
}
|
|
77
79
|
else {
|
|
78
80
|
try {
|
|
79
|
-
const semver = new semver_1.SemVer(
|
|
81
|
+
const semver = new semver_1.SemVer(dep.version ?? '', true);
|
|
80
82
|
result.set(id, {
|
|
81
83
|
id,
|
|
82
84
|
version: dep.version,
|
|
@@ -89,40 +91,131 @@ function recursivelyTransformDeps(tree, result) {
|
|
|
89
91
|
logging_1.log.warn(`Invalid version! ${e}`);
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
|
-
|
|
94
|
+
recursivelyTransformTreeDeps(dep, result);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function transformGraphDepsFlat(rootId, dependencies, result) {
|
|
98
|
+
dependencies.forEach(dependency => {
|
|
99
|
+
const lastAt = dependency.nodeId.lastIndexOf('@');
|
|
100
|
+
const name = dependency.nodeId.slice(0, lastAt);
|
|
101
|
+
const version = dependency.nodeId.slice(lastAt + 1);
|
|
102
|
+
const id = `${name}@${version}`;
|
|
103
|
+
const cachedVersion = result.get(id);
|
|
104
|
+
if (cachedVersion) {
|
|
105
|
+
cachedVersion.requestedBy = [rootId, ...cachedVersion.requestedBy];
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
try {
|
|
109
|
+
const semver = new semver_1.SemVer(version ?? '', true);
|
|
110
|
+
result.set(id, {
|
|
111
|
+
id,
|
|
112
|
+
version: version,
|
|
113
|
+
name: name,
|
|
114
|
+
semver: semver,
|
|
115
|
+
requestedBy: [rootId],
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
logging_1.log.warn(`Invalid version! ${e}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
dependency.deps.forEach((transitiveDep) => {
|
|
123
|
+
const lastAt = transitiveDep.nodeId.lastIndexOf('@');
|
|
124
|
+
const name = transitiveDep.nodeId.slice(0, lastAt);
|
|
125
|
+
const version = transitiveDep.nodeId.slice(lastAt + 1);
|
|
126
|
+
const id = `${name}@${version}`;
|
|
127
|
+
const cachedVersion = result.get(id);
|
|
128
|
+
if (cachedVersion) {
|
|
129
|
+
cachedVersion.requestedBy = [dependency.nodeId, ...cachedVersion.requestedBy];
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
try {
|
|
133
|
+
const semver = new semver_1.SemVer(version ?? '', true);
|
|
134
|
+
result.set(id, {
|
|
135
|
+
id,
|
|
136
|
+
version: version,
|
|
137
|
+
name: name,
|
|
138
|
+
semver: semver,
|
|
139
|
+
requestedBy: [dependency.nodeId],
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
logging_1.log.warn(`Invalid version! ${e}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
});
|
|
93
147
|
});
|
|
94
148
|
}
|
|
95
|
-
function
|
|
149
|
+
function transformTreeDeps(tree, root) {
|
|
96
150
|
logging_1.log.info(`Starting recursive transformation for ${root}`);
|
|
97
151
|
const result = new Map();
|
|
98
|
-
|
|
152
|
+
recursivelyTransformTreeDeps(tree, result);
|
|
153
|
+
logging_1.log.info(`End recursive transformation for ${root}.`);
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
156
|
+
function transformGraphDeps(depGraphNodes, root) {
|
|
157
|
+
logging_1.log.info(`Starting recursive transformation for ${root}`);
|
|
158
|
+
const result = new Map();
|
|
159
|
+
transformGraphDepsFlat(depGraphNodes[0].pkgId, depGraphNodes, result);
|
|
99
160
|
logging_1.log.info(`End recursive transformation for ${root}.`);
|
|
100
161
|
return result;
|
|
101
162
|
}
|
|
102
163
|
async function parseLockFile({ root, manifestFile, lockFile }) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
164
|
+
const manifestFilePath = path_1.default.resolve(root, manifestFile ?? 'package.json');
|
|
165
|
+
const lockFilePath = path_1.default.resolve(root, lockFile);
|
|
166
|
+
const lockFileVersion = (0, snyk_nodejs_lockfile_parser_1.getLockfileVersionFromFile)(lockFilePath);
|
|
167
|
+
switch (lockFileVersion) {
|
|
168
|
+
case snyk_nodejs_lockfile_parser_1.NodeLockfileVersion.YarnLockV1:
|
|
169
|
+
case snyk_nodejs_lockfile_parser_1.NodeLockfileVersion.YarnLockV2:
|
|
170
|
+
case snyk_nodejs_lockfile_parser_1.NodeLockfileVersion.NpmLockV1: {
|
|
171
|
+
const result = await (0, snyk_nodejs_lockfile_parser_1.buildDepTreeFromFiles)(root, manifestFile ?? 'package.json', lockFile ?? '', true, false);
|
|
172
|
+
const manifestJSON = JSON.parse(fs_1.default.readFileSync(manifestFilePath, 'utf8'));
|
|
173
|
+
return {
|
|
174
|
+
path: manifestFilePath,
|
|
175
|
+
name: result.name ?? manifestJSON.name,
|
|
176
|
+
version: result.version ?? manifestJSON.version,
|
|
177
|
+
dependencies: Object.fromEntries(transformTreeDeps(result, root)),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
case snyk_nodejs_lockfile_parser_1.NodeLockfileVersion.NpmLockV2:
|
|
181
|
+
case snyk_nodejs_lockfile_parser_1.NodeLockfileVersion.NpmLockV3: {
|
|
182
|
+
// const oldResult = await buildDepTreeFromFiles(root, manifestFile ?? 'package.json', lockFile ?? '', true, false)
|
|
183
|
+
const manifestFileContent = fs_1.default.readFileSync(manifestFilePath, 'utf8');
|
|
184
|
+
const lockFileContent = fs_1.default.readFileSync(lockFilePath, 'utf8');
|
|
185
|
+
const result = await (0, snyk_nodejs_lockfile_parser_1.parseNpmLockV2Project)(manifestFileContent, lockFileContent, {
|
|
186
|
+
includeDevDeps: true,
|
|
187
|
+
strictOutOfSync: false,
|
|
188
|
+
includeOptionalDeps: false,
|
|
189
|
+
pruneCycles: true,
|
|
190
|
+
includePeerDeps: false,
|
|
191
|
+
pruneNpmStrictOutOfSync: false
|
|
192
|
+
});
|
|
193
|
+
const manifestJSON = JSON.parse(fs_1.default.readFileSync(manifestFilePath, 'utf8'));
|
|
194
|
+
return {
|
|
195
|
+
path: manifestFilePath,
|
|
196
|
+
name: result.rootPkg.name ?? manifestJSON.name,
|
|
197
|
+
version: result.rootPkg.version ?? manifestJSON.version,
|
|
198
|
+
dependencies: Object.fromEntries(transformGraphDeps(result.toJSON().graph.nodes, root)),
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
case snyk_nodejs_lockfile_parser_1.NodeLockfileVersion.PnpmLockV5:
|
|
202
|
+
case snyk_nodejs_lockfile_parser_1.NodeLockfileVersion.PnpmLockV6:
|
|
203
|
+
case snyk_nodejs_lockfile_parser_1.NodeLockfileVersion.PnpmLockV9:
|
|
204
|
+
default: {
|
|
205
|
+
throw new Error(`Lockfile version ${lockFileVersion} is not supported by Depinder. Please use npm v1 / v2 / v3 or yarn v1 / v2`);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
114
208
|
}
|
|
115
209
|
async function retrieveFromNpm(libraryName) {
|
|
116
210
|
const response = await (0, npm_registry_fetch_1.json)(libraryName);
|
|
117
211
|
return {
|
|
118
212
|
name: response.name,
|
|
119
213
|
versions: Object.values(response.versions).map((it) => {
|
|
120
|
-
var _a;
|
|
121
214
|
return {
|
|
122
215
|
version: it.version,
|
|
123
216
|
timestamp: Date.parse(response.time[it.version]),
|
|
124
217
|
licenses: it.license,
|
|
125
|
-
latest: it.version ==
|
|
218
|
+
latest: it.version == response['dist-tags']?.latest,
|
|
126
219
|
};
|
|
127
220
|
}),
|
|
128
221
|
description: response.description,
|
|
@@ -132,7 +225,6 @@ async function retrieveFromNpm(libraryName) {
|
|
|
132
225
|
keywords: response.keywords,
|
|
133
226
|
};
|
|
134
227
|
}
|
|
135
|
-
exports.retrieveFromNpm = retrieveFromNpm;
|
|
136
228
|
const registrar = {
|
|
137
229
|
retrieve: retrieveFromNpm,
|
|
138
230
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/javascript/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/javascript/index.ts"],"names":[],"mappings":";;;;;;AAqOA,0CAmBC;AAjPD,6EAKoC;AACpC,gDAAuB;AACvB,mCAA6B;AAG7B,2DAAuC;AAGvC,yCAAmC;AACnC,4CAAmB;AACnB,iDAAuC;AAGvC,MAAM,SAAS,GAAc;IACzB,KAAK,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,WAAW,CAAC;IACzD,cAAc,EAAE,KAAK,CAAC,EAAE;QACpB,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjH,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,QAAQ,EAAE,cAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,YAAY,EAAE,cAAc;SACL,CAAA,CAAC,CAAA;QAE5B,MAAM,2BAA2B,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aAC9E,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;aACzF,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;aAC9D,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACR,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,YAAY,EAAE,cAAc;YAC5B,QAAQ,EAAE,iBAAiB,CAAC,EAAE,CAAC;SACR,CAAA,CAAC,CAAA;QAGhC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aAClE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;aACzF,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;aACpG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACR,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,YAAY,EAAE,cAAc;SACL,CAAA,CAAC;aAC3B,GAAG,CAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC;gBACD,aAAG,CAAC,IAAI,CAAC,oCAAoC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC5D,SAAG,CAAC,OAAO,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;gBACpD,OAAO;oBACH,GAAG,OAAO;oBACV,QAAQ,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC;iBAC5D,CAAA;YACL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,aAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACZ,OAAO,IAAI,CAAA;YACf,CAAC;QACL,CAAC,CAAC;aACD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;aACzB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAA2B,CAAC,CAAA;QAE3C,OAAO,CAAC,GAAG,gBAAgB,EAAE,GAAG,eAAe,EAAE,GAAG,2BAA2B,CAAC,CAAA;IACpF,CAAC;IACD,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC7C,CAAA;AAGD,SAAS,iBAAiB,CAAC,WAAmB,EAAE,QAAQ,GAAG,CAAC;IACxD,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,IAAI,QAAQ,GAAG,CAAC;QACZ,OAAO,IAAI,CAAA;IACf,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACrD,OAAO,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAA;IACjD,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7C,OAAO,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACzC,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,MAAM,GAAW;IACnB,mBAAmB,EAAE,aAAa;CACrC,CAAA;AAED,SAAS,4BAA4B,CAAC,IAAgB,EAAE,MAAuC;IAC3F,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;IAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjD,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAA;QACvC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACpC,IAAI,aAAa,EAAE,CAAC;YAChB,aAAa,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;gBAClD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;oBACX,EAAE;oBACF,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,CAAC,MAAM,CAAC;iBACF,CAAC,CAAA;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,aAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;YACrC,CAAC;QACL,CAAC;QACD,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,YAAyB,EAAG,MAAuC;IAC/G,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACnD,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAA;QAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACpC,IAAI,aAAa,EAAE,CAAC;YAChB,aAAa,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;gBAC9C,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;oBACX,EAAE;oBACF,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,CAAC,MAAM,CAAC;iBACF,CAAC,CAAA;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,aAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;YACrC,CAAC;QACL,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACpD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAClD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACtD,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAA;YAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACpC,IAAI,aAAa,EAAE,CAAC;gBAChB,aAAa,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;YACjF,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;oBAC9C,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;wBACX,EAAE;wBACF,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,MAAM;wBACd,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;qBACb,CAAC,CAAA;gBAC5B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,aAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;gBACrC,CAAC;YACL,CAAC;QAEL,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB,EAAE,IAAY;IACrD,aAAG,CAAC,IAAI,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,MAAM,GAAoC,IAAI,GAAG,EAA8B,CAAA;IACrF,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1C,aAAG,CAAC,IAAI,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAA;IACrD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,aAA0B,EAAE,IAAY;IAChE,aAAG,CAAC,IAAI,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,MAAM,GAAoC,IAAI,GAAG,EAA8B,CAAA;IACrF,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;IACrE,aAAG,CAAC,IAAI,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAA;IACrD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAwB;IAC9E,MAAM,gBAAgB,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,IAAI,cAAc,CAAC,CAAA;IAC3E,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACjD,MAAM,eAAe,GAAyB,IAAA,wDAA0B,EAAC,YAAY,CAAC,CAAA;IACtF,QAAQ,eAAe,EAAE,CAAC;QACtB,KAAK,iDAAmB,CAAC,UAAU,CAAC;QACpC,KAAK,iDAAmB,CAAC,UAAU,CAAC;QACpC,KAAK,iDAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAqB,EAAC,IAAI,EAAE,YAAY,IAAI,cAAc,EAAE,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAE7G,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAA;YAC1E,OAAO;gBACH,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI;gBACtC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;gBAC/C,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACpE,CAAA;QACL,CAAC;QACD,KAAK,iDAAmB,CAAC,SAAS,CAAC;QACnC,KAAK,iDAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;YACjC,mHAAmH;YACnH,MAAM,mBAAmB,GAAG,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;YACrE,MAAM,eAAe,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAqB,EAAC,mBAAmB,EAAE,eAAe,EAAE;gBAC7E,cAAc,EAAE,IAAI;gBACpB,eAAe,EAAE,KAAK;gBACtB,mBAAmB,EAAE,KAAK;gBAC1B,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE,KAAK;gBACtB,uBAAuB,EAAE,KAAK;aACjC,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAA;YAC1E,OAAO;gBACH,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI;gBAC9C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;gBACvD,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC1F,CAAA;QAEL,CAAC;QACD,KAAK,iDAAmB,CAAC,UAAU,CAAC;QACpC,KAAK,iDAAmB,CAAC,UAAU,CAAC;QACpC,KAAK,iDAAmB,CAAC,UAAU,CAAC;QACpC,OAAO,CAAC,CAAC,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,eAAe,4EAA4E,CAAC,CAAA;QACpI,CAAC;IACL,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,WAAmB;IACrD,MAAM,QAAQ,GAAQ,MAAM,IAAA,yBAAI,EAAC,WAAW,CAAC,CAAA;IAE7C,OAAO;QACH,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE;YACvD,OAAO;gBACH,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAChD,QAAQ,EAAE,EAAE,CAAC,OAAO;gBACpB,MAAM,EAAE,EAAE,CAAC,OAAO,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM;aACtD,CAAA;QACL,CAAC,CAAC;QACF,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5B,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC9B,CAAA;AACL,CAAC;AAED,MAAM,SAAS,GAAc;IACzB,QAAQ,EAAE,eAAe;CAC5B,CAAA;AAED,MAAM,OAAO,GAAyB;IAClC,+BAA+B,EAAE,KAAK;IACtC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE;CACrE,CAAA;AAEY,QAAA,UAAU,GAAW;IAC9B,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;IACvD,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;CACV,CAAA"}
|