occam-file-system 5.0.205 → 5.0.208
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/lib/utilities/fileSystem.js +7 -19
- package/package.json +1 -1
- package/src/utilities/fileSystem.js +14 -22
|
@@ -33,9 +33,6 @@ _export(exports, {
|
|
|
33
33
|
loadProjects: function() {
|
|
34
34
|
return loadProjects;
|
|
35
35
|
},
|
|
36
|
-
loadDirectory: function() {
|
|
37
|
-
return loadDirectory;
|
|
38
|
-
},
|
|
39
36
|
default: function() {
|
|
40
37
|
return _default;
|
|
41
38
|
}
|
|
@@ -58,7 +55,7 @@ function _interop_require_default(obj) {
|
|
|
58
55
|
default: obj
|
|
59
56
|
};
|
|
60
57
|
}
|
|
61
|
-
var first = _necessary.arrayUtilities.first,
|
|
58
|
+
var first = _necessary.arrayUtilities.first, concatenatePaths = _necessary.pathUtilities.concatenatePaths, topmostDirectoryNameFromPath = _necessary.pathUtilities.topmostDirectoryNameFromPath, topmostDirectoryPathFromPath = _necessary.pathUtilities.topmostDirectoryPathFromPath, readFile = _necessary.fileSystemUtilities.readFile, writeFile = _necessary.fileSystemUtilities.writeFile, isEntryFile = _necessary.fileSystemUtilities.isEntryFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists;
|
|
62
59
|
function loadFile(path, projectsDirectoryPath) {
|
|
63
60
|
var file;
|
|
64
61
|
try {
|
|
@@ -158,18 +155,6 @@ function loadProjects(projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
|
158
155
|
}
|
|
159
156
|
return projects;
|
|
160
157
|
}
|
|
161
|
-
function loadDirectory(path, projectsDirectoryPath) {
|
|
162
|
-
var directory;
|
|
163
|
-
try {
|
|
164
|
-
var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryDirectory = isEntryDirectory(absolutePath);
|
|
165
|
-
if (entryDirectory) {
|
|
166
|
-
directory = _directory.default.fromPath(path);
|
|
167
|
-
}
|
|
168
|
-
} catch (error) {
|
|
169
|
-
directory = null;
|
|
170
|
-
}
|
|
171
|
-
return directory;
|
|
172
|
-
}
|
|
173
158
|
var _default = {
|
|
174
159
|
loadFile: loadFile,
|
|
175
160
|
saveFile: saveFile,
|
|
@@ -178,14 +163,17 @@ var _default = {
|
|
|
178
163
|
loadRelease: loadRelease,
|
|
179
164
|
loadProject: loadProject,
|
|
180
165
|
loadReleases: loadReleases,
|
|
181
|
-
loadProjects: loadProjects
|
|
182
|
-
loadDirectory: loadDirectory
|
|
166
|
+
loadProjects: loadProjects
|
|
183
167
|
};
|
|
184
168
|
function loadEntries(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
185
169
|
var entries = _entries.default.fromNothing(), relativeDirectoryPath = topmostDirectoryName; ///
|
|
186
170
|
entriesFromRelativeDirectoryPath(entries, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles);
|
|
187
171
|
return entries;
|
|
188
172
|
}
|
|
173
|
+
function loadDirectory(path, projectsDirectoryPath) {
|
|
174
|
+
var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryDirectory = isEntryDirectory(absolutePath), directory = entryDirectory ? _directory.default.fromPath(path) : null;
|
|
175
|
+
return directory;
|
|
176
|
+
}
|
|
189
177
|
function fileFromProject(path, projectsDirectoryPath) {
|
|
190
178
|
var file = null;
|
|
191
179
|
var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryFile = isEntryFile(absolutePath);
|
|
@@ -277,4 +265,4 @@ function topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath) {
|
|
|
277
265
|
return topmostDirectoryNames;
|
|
278
266
|
}
|
|
279
267
|
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCBta2RpcnAgZnJvbSBcIm1rZGlycFwiO1xyXG5cclxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMsIHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XHJcblxyXG5pbXBvcnQgRmlsZSBmcm9tIFwiLi4vZmlsZVwiO1xyXG5pbXBvcnQgRmlsZXMgZnJvbSBcIi4uL2ZpbGVzXCI7XHJcbmltcG9ydCBFbnRyaWVzIGZyb20gXCIuLi9lbnRyaWVzXCI7XHJcbmltcG9ydCBQcm9qZWN0IGZyb20gXCIuLi9wcm9qZWN0XCI7XHJcbmltcG9ydCBSZWxlYXNlIGZyb20gXCIuLi9yZWxlYXNlXCI7XHJcbmltcG9ydCBQcm9qZWN0cyBmcm9tIFwiLi4vcHJvamVjdHNcIjtcclxuaW1wb3J0IFJlbGVhc2VzIGZyb20gXCIuLi9yZWxlYXNlc1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IGlzTmFtZUhpZGRlbk5hbWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcclxuaW1wb3J0IHsgaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcclxuaW1wb3J0IHsgY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZW50XCI7XHJcblxyXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcyxcclxuICAgICAgeyBjb25jYXRlbmF0ZVBhdGhzLCB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoLCB0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoIH0gPSBwYXRoVXRpbGl0aWVzO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBmaWxlO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpO1xyXG5cclxuICAgIGlmICh0b3Btb3N0RGlyZWN0b3J5TmFtZSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdERpcmVjdG9yeU5hbWUpLFxyXG4gICAgICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgIGZpbGUgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgIGZpbGVGcm9tUHJvamVjdChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIDpcclxuICAgICAgICAgICAgICAgICBmaWxlRnJvbVJlbGVhc2UocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgZmlsZSA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNhdmVGaWxlKGZpbGUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICBjb250ZW50ID0gZmlsZS5nZXRDb250ZW50KCksXHJcbiAgICAgICAgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgIHRvcG1vc3RBYnNvbHV0ZURpcmVjdG9yeVBhdGggPSB0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoKGFic29sdXRlUGF0aCk7XHJcblxyXG4gIG1rZGlycC5zeW5jKHRvcG1vc3RBYnNvbHV0ZURpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB3cml0ZUZpbGUoYWJzb2x1dGVQYXRoLCBjb250ZW50KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlcyhwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGVzO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgcGF0aHNMZW5ndGggPSBwYXRocy5sZW5ndGg7XHJcblxyXG4gICAgaWYgKHBhdGhzTGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmaXJzdFBhdGggPSBmaXJzdChwYXRocyksXHJcbiAgICAgICAgICAgIHBhdGggPSBmaXJzdFBhdGgsIC8vL1xyXG4gICAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgocGF0aCk7XHJcblxyXG4gICAgICBpZiAodG9wbW9zdERpcmVjdG9yeU5hbWUgIT09IG51bGwpIHtcclxuICAgICAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdERpcmVjdG9yeU5hbWUpLFxyXG4gICAgICAgICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgICBmaWxlcyA9IGVudHJ5RGlyZWN0b3J5ID9cclxuICAgICAgICAgICAgICAgICAgZmlsZXNGcm9tUHJvamVjdChwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSA6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZXNGcm9tUmVsZWFzZShwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICBmaWxlcyA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzYXZlRmlsZXMoZmlsZXMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGZpbGVzLmZvckVhY2hGaWxlKChmaWxlKSA9PiB7XHJcbiAgICBzYXZlRmlsZShmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2UocmVsZWFzZU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgbmFtZSA9IHJlbGVhc2VOYW1lLCAvLy9cclxuICAgICAgICAgIHRvcG1vc3RGaWxlTmFtZSA9IHJlbGVhc2VOYW1lLCAgLy8vXHJcbiAgICAgICAgICBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdEZpbGVOYW1lKSxcclxuICAgICAgICAgIGVudHJ5RmlsZSA9IGlzRW50cnlGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgaWYgKGVudHJ5RmlsZSkge1xyXG4gICAgICBsZXQganNvbixcclxuICAgICAgICAgIGVudHJpZXM7XHJcblxyXG4gICAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgIGpzb24gPSBKU09OLnBhcnNlKGNvbnRlbnQpO1xyXG5cclxuICAgICAgKHsgZW50cmllcyB9ID0ganNvbik7XHJcblxyXG4gICAgICBqc29uICA9IGVudHJpZXM7ICAvLy9cclxuXHJcbiAgICAgIGVudHJpZXMgPSBFbnRyaWVzLmZyb21KU09OKGpzb24pO1xyXG5cclxuICAgICAgcmVsZWFzZSA9IFJlbGVhc2UuZnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICByZWxlYXNlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiByZWxlYXNlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFByb2plY3QocHJvamVjdE5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBsZXQgcHJvamVjdDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IG5hbWUgPSBwcm9qZWN0TmFtZSwgIC8vL1xyXG4gICAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSBwcm9qZWN0TmFtZSwgLy8vXHJcbiAgICAgICAgICBlbnRyaWVzID0gbG9hZEVudHJpZXModG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpO1xyXG5cclxuICAgIHByb2plY3QgPSBQcm9qZWN0LmZyb21OYW1lQW5kRW50cmllcyhuYW1lLCBlbnRyaWVzKTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgcHJvamVjdCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcHJvamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZWxlYXNlcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgcmVsZWFzZXM7XHJcblxyXG4gIHRyeSB7XHJcbiAgICByZWxlYXNlcyA9IFJlbGVhc2VzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gICAgY29uc3QgdG9wbW9zdEZpbGVOYW1lcyA9IHRvcG1vc3RGaWxlTmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCksXHJcbiAgICAgICAgICByZWxlYXNlTmFtZXMgPSB0b3Btb3N0RmlsZU5hbWVzOyAgLy8vXHJcblxyXG4gICAgcmVsZWFzZU5hbWVzLmZvckVhY2goKHJlbGVhc2VOYW1lKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlbGVhc2UgPSBsb2FkUmVsZWFzZShyZWxlYXNlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChyZWxlYXNlICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmVsZWFzZXMuYWRkUmVsZWFzZShyZWxlYXNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIHJlbGVhc2VzID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiByZWxlYXNlcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQcm9qZWN0cyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgbGV0IHByb2plY3RzO1xyXG5cclxuICB0cnkge1xyXG4gICAgcHJvamVjdHMgPSBQcm9qZWN0cy5mcm9tTm90aGluZygpO1xyXG5cclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgcHJvamVjdE5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzOyAvLy9cclxuXHJcbiAgICBwcm9qZWN0TmFtZXMuZm9yRWFjaCgocHJvamVjdE5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcHJvamVjdCA9IGxvYWRQcm9qZWN0KHByb2plY3ROYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTtcclxuXHJcbiAgICAgIGlmIChwcm9qZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgcHJvamVjdHMuYWRkUHJvamVjdChwcm9qZWN0KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIHByb2plY3RzID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0cztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWREaXJlY3RvcnkocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGRpcmVjdG9yeTtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICBkaXJlY3RvcnkgPSBEaXJlY3RvcnkuZnJvbVBhdGgocGF0aCk7XHJcbiAgICB9XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIGRpcmVjdG9yeSA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZGlyZWN0b3J5O1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbG9hZEZpbGUsXHJcbiAgc2F2ZUZpbGUsXHJcbiAgbG9hZEZpbGVzLFxyXG4gIHNhdmVGaWxlcyxcclxuICBsb2FkUmVsZWFzZSxcclxuICBsb2FkUHJvamVjdCxcclxuICBsb2FkUmVsZWFzZXMsXHJcbiAgbG9hZFByb2plY3RzLFxyXG4gIGxvYWREaXJlY3RvcnlcclxufTtcclxuXHJcbmZ1bmN0aW9uIGxvYWRFbnRyaWVzKHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgY29uc3QgZW50cmllcyA9IEVudHJpZXMuZnJvbU5vdGhpbmcoKSxcclxuICAgICAgICByZWxhdGl2ZURpcmVjdG9yeVBhdGggPSB0b3Btb3N0RGlyZWN0b3J5TmFtZTsgIC8vL1xyXG5cclxuICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChlbnRyaWVzLCByZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpO1xyXG5cclxuICByZXR1cm4gZW50cmllcztcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZUZyb21Qcm9qZWN0KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBmaWxlID0gbnVsbDtcclxuXHJcbiAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgIGVudHJ5RmlsZSA9IGlzRW50cnlGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gIGlmIChlbnRyeUZpbGUpIHtcclxuICAgIGNvbnN0IHJlbGVhc2VkID0gZmFsc2U7XHJcblxyXG4gICAgbGV0IGNvbnRlbnQgPSByZWFkRmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGNvbnRlbnQgPSBjb252ZXJ0Q29udGVudFRhYnNUb1doaXRlc3BhY2UoY29udGVudCk7ICAvLy9cclxuXHJcbiAgICBmaWxlID0gRmlsZS5mcm9tUGF0aENvbnRlbnRBbmRSZWxlYXNlZChwYXRoLCBjb250ZW50LCByZWxlYXNlZCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZUZyb21SZWxlYXNlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aChwYXRoKSxcclxuICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZSwgLy8vXHJcbiAgICAgICAgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHRvcG1vc3RGaWxlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICBmaWxlID0gcmVsZWFzZS5nZXRGaWxlKHBhdGgpO1xyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZXNGcm9tUHJvamVjdChwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgZmlsZXMgPSBGaWxlcy5mcm9tTm90aGluZygpO1xyXG5cclxuICBwYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XHJcbiAgICBjb25zdCBmaWxlID0gZmlsZUZyb21Qcm9qZWN0KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlc0Zyb21SZWxlYXNlKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCksXHJcbiAgICAgICAgcGF0aHNMZW5ndGggPSBwYXRocy5sZW5ndGg7XHJcblxyXG4gIGlmIChwYXRoc0xlbmd0aCA+IDApIHtcclxuICAgIGNvbnN0IGZpcnN0UGF0aCA9IGZpcnN0KHBhdGhzKSxcclxuICAgICAgICAgIHBhdGggPSBmaXJzdFBhdGgsIC8vL1xyXG4gICAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpLFxyXG4gICAgICAgICAgdG9wbW9zdEZpbGVOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWUsIC8vL1xyXG4gICAgICAgICAgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHRvcG1vc3RGaWxlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICBwYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSByZWxlYXNlLmdldEZpbGUocGF0aCk7XHJcblxyXG4gICAgICBmaWxlcy5hZGRGaWxlKGZpbGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGVudHJpZXMsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcykge1xyXG4gIGNvbnN0IGFic29sdXRlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCByZWxhdGl2ZURpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KGFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHN1YkVudHJ5TmFtZXMuZm9yRWFjaCgoc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXM7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgICAgZGlyZWN0b3J5ID0gbG9hZERpcmVjdG9yeShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKGRpcmVjdG9yeSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBwYXRoOyAvLy9cclxuXHJcbiAgICAgICAgaWYgKGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgICAgICBlbnRyaWVzLmFkZERpcmVjdG9yeShkaXJlY3RvcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgZGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7IC8vL1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgICBpZiAoZmlsZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoID0gaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aChmaWxlUGF0aCksXHJcbiAgICAgICAgICAgICAgICBmaWxlUmVjb2duaXNlZEZpbGUgPSBmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aDsgIC8vL1xyXG5cclxuICAgICAgICAgIGlmIChmaWxlUmVjb2duaXNlZEZpbGUgfHwgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgICAgZW50cmllcy5hZGRGaWxlKGZpbGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b3Btb3N0RmlsZU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgdG9wbW9zdEZpbGVOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdEZpbGVOYW1lcyA9IHN1YkVudHJ5TmFtZXMucmVkdWNlKCh0b3Btb3N0RmlsZU5hbWVzLCBzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IGFic29sdXRlU3ViRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpO1xyXG5cclxuICAgIGlmICghc3ViRW50cnlOYW1lSGlkZGVuTmFtZSkge1xyXG4gICAgICBjb25zdCBzdWJFbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVN1YkVudHJ5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoc3ViRW50cnlGaWxlKSB7XHJcbiAgICAgICAgY29uc3QgdG9wbW9zdEZpbGVOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3RGaWxlTmFtZXMucHVzaCh0b3Btb3N0RmlsZU5hbWUpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9wbW9zdEZpbGVOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RmlsZU5hbWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcblxyXG4gIGNvbnN0IHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHN1YkVudHJ5TmFtZXMucmVkdWNlKCh0b3Btb3N0RGlyZWN0b3J5TmFtZXMsIHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3QgYWJzb2x1dGVTdWJFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSk7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHN1YkVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVN1YkVudHJ5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoc3ViRW50cnlEaXJlY3RvcnkpIHtcclxuICAgICAgICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHN1YkVudHJ5TmFtZTsgIC8vL1xyXG5cclxuICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMucHVzaCh0b3Btb3N0RGlyZWN0b3J5TmFtZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbiAgfSwgW10pO1xyXG5cclxuICByZXR1cm4gdG9wbW9zdERpcmVjdG9yeU5hbWVzO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJsb2FkRmlsZSIsInNhdmVGaWxlIiwibG9hZEZpbGVzIiwic2F2ZUZpbGVzIiwibG9hZFJlbGVhc2UiLCJsb2FkUHJvamVjdCIsImxvYWRSZWxlYXNlcyIsImxvYWRQcm9qZWN0cyIsImxvYWREaXJlY3RvcnkiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwicmVhZEZpbGUiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwid3JpdGVGaWxlIiwiaXNFbnRyeUZpbGUiLCJyZWFkRGlyZWN0b3J5IiwiaXNFbnRyeURpcmVjdG9yeSIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwidG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aCIsInRvcG1vc3REaXJlY3RvcnlQYXRoRnJvbVBhdGgiLCJwYXRoIiwicHJvamVjdHNEaXJlY3RvcnlQYXRoIiwiZmlsZSIsInRvcG1vc3REaXJlY3RvcnlOYW1lIiwiYWJzb2x1dGVQYXRoIiwiZW50cnlEaXJlY3RvcnkiLCJmaWxlRnJvbVByb2plY3QiLCJmaWxlRnJvbVJlbGVhc2UiLCJlcnJvciIsImdldFBhdGgiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInRvcG1vc3RBYnNvbHV0ZURpcmVjdG9yeVBhdGgiLCJta2RpcnAiLCJzeW5jIiwicGF0aHMiLCJmaWxlcyIsInBhdGhzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RQYXRoIiwiZmlsZXNGcm9tUHJvamVjdCIsImZpbGVzRnJvbVJlbGVhc2UiLCJmb3JFYWNoRmlsZSIsInJlbGVhc2VOYW1lIiwicmVsZWFzZSIsIm5hbWUiLCJ0b3Btb3N0RmlsZU5hbWUiLCJlbnRyeUZpbGUiLCJqc29uIiwiZW50cmllcyIsIkpTT04iLCJwYXJzZSIsIkVudHJpZXMiLCJmcm9tSlNPTiIsIlJlbGVhc2UiLCJmcm9tTmFtZUFuZEVudHJpZXMiLCJwcm9qZWN0TmFtZSIsImxvYWRPbmx5UmVjb2duaXNlZEZpbGVzIiwicHJvamVjdCIsImxvYWRFbnRyaWVzIiwiUHJvamVjdCIsInJlbGVhc2VzIiwiUmVsZWFzZXMiLCJmcm9tTm90aGluZyIsInRvcG1vc3RGaWxlTmFtZXMiLCJ0b3Btb3N0RmlsZU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aCIsInJlbGVhc2VOYW1lcyIsImZvckVhY2giLCJhZGRSZWxlYXNlIiwicHJvamVjdHMiLCJQcm9qZWN0cyIsInRvcG1vc3REaXJlY3RvcnlOYW1lcyIsInRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJwcm9qZWN0TmFtZXMiLCJhZGRQcm9qZWN0IiwiZGlyZWN0b3J5IiwiRGlyZWN0b3J5IiwiZnJvbVBhdGgiLCJyZWxhdGl2ZURpcmVjdG9yeVBhdGgiLCJlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aCIsInJlbGVhc2VkIiwiY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIiwiRmlsZSIsImZyb21QYXRoQ29udGVudEFuZFJlbGVhc2VkIiwiZ2V0RmlsZSIsIkZpbGVzIiwiYWRkRmlsZSIsImFic29sdXRlRGlyZWN0b3J5UGF0aCIsInN1YkVudHJ5TmFtZXMiLCJzdWJFbnRyeU5hbWUiLCJzdWJFbnRyeU5hbWVIaWRkZW5OYW1lIiwiaXNOYW1lSGlkZGVuTmFtZSIsImxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzIiwiZGlyZWN0b3J5UGF0aCIsImFkZERpcmVjdG9yeSIsImZpbGVQYXRoIiwiZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGgiLCJpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIiwiZmlsZVJlY29nbmlzZWRGaWxlIiwicmVkdWNlIiwiYWJzb2x1dGVTdWJFbnRyeVBhdGgiLCJzdWJFbnRyeUZpbGUiLCJwdXNoIiwic3ViRW50cnlEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXVCZ0JBLFFBQVE7ZUFBUkE7O0lBcUJBQyxRQUFRO2VBQVJBOztJQVdBQyxTQUFTO2VBQVRBOztJQTJCQUMsU0FBUztlQUFUQTs7SUFNQUMsV0FBVztlQUFYQTs7SUFnQ0FDLFdBQVc7ZUFBWEE7O0lBZ0JBQyxZQUFZO2VBQVpBOztJQXVCQUMsWUFBWTtlQUFaQTs7SUF1QkFDLGFBQWE7ZUFBYkE7O0lBaUJoQixPQVVFO2VBVkY7Ozs2REFyTW1CO3lCQUVnRDsyREFFbEQ7NERBQ0M7OERBQ0U7OERBQ0E7OERBQ0E7K0RBQ0M7K0RBQ0E7Z0VBQ0M7b0JBRVc7d0JBQ1k7dUJBQ0U7Ozs7OztBQUUvQyxJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRCxPQUNBRSxXQUFzRUMsOEJBQW1CLENBQXpGRCxVQUFVRSxZQUE0REQsOEJBQW1CLENBQS9FQyxXQUFXQyxjQUFpREYsOEJBQW1CLENBQXBFRSxhQUFhQyxnQkFBb0NILDhCQUFtQixDQUF2REcsZUFBZUMsbUJBQXFCSiw4QkFBbUIsQ0FBeENJLGtCQUNqREMsbUJBQWlGQyx3QkFBYSxD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
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCBta2RpcnAgZnJvbSBcIm1rZGlycFwiO1xyXG5cclxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMsIHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XHJcblxyXG5pbXBvcnQgRmlsZSBmcm9tIFwiLi4vZmlsZVwiO1xyXG5pbXBvcnQgRmlsZXMgZnJvbSBcIi4uL2ZpbGVzXCI7XHJcbmltcG9ydCBFbnRyaWVzIGZyb20gXCIuLi9lbnRyaWVzXCI7XHJcbmltcG9ydCBQcm9qZWN0IGZyb20gXCIuLi9wcm9qZWN0XCI7XHJcbmltcG9ydCBSZWxlYXNlIGZyb20gXCIuLi9yZWxlYXNlXCI7XHJcbmltcG9ydCBQcm9qZWN0cyBmcm9tIFwiLi4vcHJvamVjdHNcIjtcclxuaW1wb3J0IFJlbGVhc2VzIGZyb20gXCIuLi9yZWxlYXNlc1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IGlzTmFtZUhpZGRlbk5hbWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcclxuaW1wb3J0IHsgaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcclxuaW1wb3J0IHsgY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZW50XCI7XHJcblxyXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcclxuICAgICAgeyBjb25jYXRlbmF0ZVBhdGhzLCB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoLCB0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoIH0gPSBwYXRoVXRpbGl0aWVzLFxyXG4gICAgICB7IHJlYWRGaWxlLCB3cml0ZUZpbGUsIGlzRW50cnlGaWxlLCByZWFkRGlyZWN0b3J5LCBpc0VudHJ5RGlyZWN0b3J5LCBjaGVja0VudHJ5RXhpc3RzIH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBmaWxlO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpO1xyXG5cclxuICAgIGlmICh0b3Btb3N0RGlyZWN0b3J5TmFtZSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdERpcmVjdG9yeU5hbWUpLFxyXG4gICAgICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgIGZpbGUgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgIGZpbGVGcm9tUHJvamVjdChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIDpcclxuICAgICAgICAgICAgICAgICBmaWxlRnJvbVJlbGVhc2UocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgZmlsZSA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNhdmVGaWxlKGZpbGUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICBjb250ZW50ID0gZmlsZS5nZXRDb250ZW50KCksXHJcbiAgICAgICAgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgIHRvcG1vc3RBYnNvbHV0ZURpcmVjdG9yeVBhdGggPSB0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoKGFic29sdXRlUGF0aCk7XHJcblxyXG4gIG1rZGlycC5zeW5jKHRvcG1vc3RBYnNvbHV0ZURpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB3cml0ZUZpbGUoYWJzb2x1dGVQYXRoLCBjb250ZW50KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlcyhwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGVzO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgcGF0aHNMZW5ndGggPSBwYXRocy5sZW5ndGg7XHJcblxyXG4gICAgaWYgKHBhdGhzTGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmaXJzdFBhdGggPSBmaXJzdChwYXRocyksXHJcbiAgICAgICAgICAgIHBhdGggPSBmaXJzdFBhdGgsIC8vL1xyXG4gICAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgocGF0aCk7XHJcblxyXG4gICAgICBpZiAodG9wbW9zdERpcmVjdG9yeU5hbWUgIT09IG51bGwpIHtcclxuICAgICAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdERpcmVjdG9yeU5hbWUpLFxyXG4gICAgICAgICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgICBmaWxlcyA9IGVudHJ5RGlyZWN0b3J5ID9cclxuICAgICAgICAgICAgICAgICAgZmlsZXNGcm9tUHJvamVjdChwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSA6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZXNGcm9tUmVsZWFzZShwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICBmaWxlcyA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzYXZlRmlsZXMoZmlsZXMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGZpbGVzLmZvckVhY2hGaWxlKChmaWxlKSA9PiB7XHJcbiAgICBzYXZlRmlsZShmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2UocmVsZWFzZU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgbmFtZSA9IHJlbGVhc2VOYW1lLCAvLy9cclxuICAgICAgICAgIHRvcG1vc3RGaWxlTmFtZSA9IHJlbGVhc2VOYW1lLCAgLy8vXHJcbiAgICAgICAgICBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdEZpbGVOYW1lKSxcclxuICAgICAgICAgIGVudHJ5RmlsZSA9IGlzRW50cnlGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgaWYgKGVudHJ5RmlsZSkge1xyXG4gICAgICBsZXQganNvbixcclxuICAgICAgICAgIGVudHJpZXM7XHJcblxyXG4gICAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgIGpzb24gPSBKU09OLnBhcnNlKGNvbnRlbnQpO1xyXG5cclxuICAgICAgKHsgZW50cmllcyB9ID0ganNvbik7XHJcblxyXG4gICAgICBqc29uICA9IGVudHJpZXM7ICAvLy9cclxuXHJcbiAgICAgIGVudHJpZXMgPSBFbnRyaWVzLmZyb21KU09OKGpzb24pO1xyXG5cclxuICAgICAgcmVsZWFzZSA9IFJlbGVhc2UuZnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICByZWxlYXNlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiByZWxlYXNlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFByb2plY3QocHJvamVjdE5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBsZXQgcHJvamVjdDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IG5hbWUgPSBwcm9qZWN0TmFtZSwgIC8vL1xyXG4gICAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSBwcm9qZWN0TmFtZSwgLy8vXHJcbiAgICAgICAgICBlbnRyaWVzID0gbG9hZEVudHJpZXModG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpO1xyXG5cclxuICAgIHByb2plY3QgPSBQcm9qZWN0LmZyb21OYW1lQW5kRW50cmllcyhuYW1lLCBlbnRyaWVzKTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgcHJvamVjdCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcHJvamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZWxlYXNlcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgcmVsZWFzZXM7XHJcblxyXG4gIHRyeSB7XHJcbiAgICByZWxlYXNlcyA9IFJlbGVhc2VzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gICAgY29uc3QgdG9wbW9zdEZpbGVOYW1lcyA9IHRvcG1vc3RGaWxlTmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCksXHJcbiAgICAgICAgICByZWxlYXNlTmFtZXMgPSB0b3Btb3N0RmlsZU5hbWVzOyAgLy8vXHJcblxyXG4gICAgcmVsZWFzZU5hbWVzLmZvckVhY2goKHJlbGVhc2VOYW1lKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlbGVhc2UgPSBsb2FkUmVsZWFzZShyZWxlYXNlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChyZWxlYXNlICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmVsZWFzZXMuYWRkUmVsZWFzZShyZWxlYXNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIHJlbGVhc2VzID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiByZWxlYXNlcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQcm9qZWN0cyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgbGV0IHByb2plY3RzO1xyXG5cclxuICB0cnkge1xyXG4gICAgcHJvamVjdHMgPSBQcm9qZWN0cy5mcm9tTm90aGluZygpO1xyXG5cclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICAgIHByb2plY3ROYW1lcyA9IHRvcG1vc3REaXJlY3RvcnlOYW1lczsgLy8vXHJcblxyXG4gICAgcHJvamVjdE5hbWVzLmZvckVhY2goKHByb2plY3ROYW1lKSA9PiB7XHJcbiAgICAgIGNvbnN0IHByb2plY3QgPSBsb2FkUHJvamVjdChwcm9qZWN0TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gICAgICBpZiAocHJvamVjdCAhPT0gbnVsbCkge1xyXG4gICAgICAgIHByb2plY3RzLmFkZFByb2plY3QocHJvamVjdCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICBwcm9qZWN0cyA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcHJvamVjdHM7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBsb2FkRmlsZSxcclxuICBzYXZlRmlsZSxcclxuICBsb2FkRmlsZXMsXHJcbiAgc2F2ZUZpbGVzLFxyXG4gIGxvYWRSZWxlYXNlLFxyXG4gIGxvYWRQcm9qZWN0LFxyXG4gIGxvYWRSZWxlYXNlcyxcclxuICBsb2FkUHJvamVjdHNcclxufTtcclxuXHJcbmZ1bmN0aW9uIGxvYWRFbnRyaWVzKHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgY29uc3QgZW50cmllcyA9IEVudHJpZXMuZnJvbU5vdGhpbmcoKSxcclxuICAgICAgICByZWxhdGl2ZURpcmVjdG9yeVBhdGggPSB0b3Btb3N0RGlyZWN0b3J5TmFtZTsgIC8vL1xyXG5cclxuICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChlbnRyaWVzLCByZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpO1xyXG5cclxuICByZXR1cm4gZW50cmllcztcclxufVxyXG5cclxuZnVuY3Rpb24gbG9hZERpcmVjdG9yeShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlUGF0aCksXHJcbiAgICAgICAgZGlyZWN0b3J5ID0gZW50cnlEaXJlY3RvcnkgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgRGlyZWN0b3J5LmZyb21QYXRoKHBhdGgpIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcclxuXHJcbiAgcmV0dXJuIGRpcmVjdG9yeTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZUZyb21Qcm9qZWN0KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBmaWxlID0gbnVsbDtcclxuXHJcbiAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgIGVudHJ5RmlsZSA9IGlzRW50cnlGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gIGlmIChlbnRyeUZpbGUpIHtcclxuICAgIGNvbnN0IHJlbGVhc2VkID0gZmFsc2U7XHJcblxyXG4gICAgbGV0IGNvbnRlbnQgPSByZWFkRmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGNvbnRlbnQgPSBjb252ZXJ0Q29udGVudFRhYnNUb1doaXRlc3BhY2UoY29udGVudCk7ICAvLy9cclxuXHJcbiAgICBmaWxlID0gRmlsZS5mcm9tUGF0aENvbnRlbnRBbmRSZWxlYXNlZChwYXRoLCBjb250ZW50LCByZWxlYXNlZCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZUZyb21SZWxlYXNlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aChwYXRoKSxcclxuICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZSwgLy8vXHJcbiAgICAgICAgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHRvcG1vc3RGaWxlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICBmaWxlID0gcmVsZWFzZS5nZXRGaWxlKHBhdGgpO1xyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZXNGcm9tUHJvamVjdChwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgZmlsZXMgPSBGaWxlcy5mcm9tTm90aGluZygpO1xyXG5cclxuICBwYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XHJcbiAgICBjb25zdCBmaWxlID0gZmlsZUZyb21Qcm9qZWN0KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlc0Zyb21SZWxlYXNlKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCksXHJcbiAgICAgICAgcGF0aHNMZW5ndGggPSBwYXRocy5sZW5ndGg7XHJcblxyXG4gIGlmIChwYXRoc0xlbmd0aCA+IDApIHtcclxuICAgIGNvbnN0IGZpcnN0UGF0aCA9IGZpcnN0KHBhdGhzKSxcclxuICAgICAgICAgIHBhdGggPSBmaXJzdFBhdGgsIC8vL1xyXG4gICAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpLFxyXG4gICAgICAgICAgdG9wbW9zdEZpbGVOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWUsIC8vL1xyXG4gICAgICAgICAgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHRvcG1vc3RGaWxlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICBwYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSByZWxlYXNlLmdldEZpbGUocGF0aCk7XHJcblxyXG4gICAgICBmaWxlcy5hZGRGaWxlKGZpbGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGVudHJpZXMsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcykge1xyXG4gIGNvbnN0IGFic29sdXRlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCByZWxhdGl2ZURpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KGFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHN1YkVudHJ5TmFtZXMuZm9yRWFjaCgoc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXM7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgICAgZGlyZWN0b3J5ID0gbG9hZERpcmVjdG9yeShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKGRpcmVjdG9yeSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBwYXRoOyAvLy9cclxuXHJcbiAgICAgICAgaWYgKGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgICAgICBlbnRyaWVzLmFkZERpcmVjdG9yeShkaXJlY3RvcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgZGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7IC8vL1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgICBpZiAoZmlsZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoID0gaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aChmaWxlUGF0aCksXHJcbiAgICAgICAgICAgICAgICBmaWxlUmVjb2duaXNlZEZpbGUgPSBmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aDsgIC8vL1xyXG5cclxuICAgICAgICAgIGlmIChmaWxlUmVjb2duaXNlZEZpbGUgfHwgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgICAgZW50cmllcy5hZGRGaWxlKGZpbGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b3Btb3N0RmlsZU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgdG9wbW9zdEZpbGVOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdEZpbGVOYW1lcyA9IHN1YkVudHJ5TmFtZXMucmVkdWNlKCh0b3Btb3N0RmlsZU5hbWVzLCBzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IGFic29sdXRlU3ViRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpO1xyXG5cclxuICAgIGlmICghc3ViRW50cnlOYW1lSGlkZGVuTmFtZSkge1xyXG4gICAgICBjb25zdCBzdWJFbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVN1YkVudHJ5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoc3ViRW50cnlGaWxlKSB7XHJcbiAgICAgICAgY29uc3QgdG9wbW9zdEZpbGVOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3RGaWxlTmFtZXMucHVzaCh0b3Btb3N0RmlsZU5hbWUpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9wbW9zdEZpbGVOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RmlsZU5hbWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcblxyXG4gIGNvbnN0IHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHN1YkVudHJ5TmFtZXMucmVkdWNlKCh0b3Btb3N0RGlyZWN0b3J5TmFtZXMsIHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3QgYWJzb2x1dGVTdWJFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSk7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHN1YkVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVN1YkVudHJ5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoc3ViRW50cnlEaXJlY3RvcnkpIHtcclxuICAgICAgICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHN1YkVudHJ5TmFtZTsgIC8vL1xyXG5cclxuICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMucHVzaCh0b3Btb3N0RGlyZWN0b3J5TmFtZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbiAgfSwgW10pO1xyXG5cclxuICByZXR1cm4gdG9wbW9zdERpcmVjdG9yeU5hbWVzO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJsb2FkRmlsZSIsInNhdmVGaWxlIiwibG9hZEZpbGVzIiwic2F2ZUZpbGVzIiwibG9hZFJlbGVhc2UiLCJsb2FkUHJvamVjdCIsImxvYWRSZWxlYXNlcyIsImxvYWRQcm9qZWN0cyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJjb25jYXRlbmF0ZVBhdGhzIiwicGF0aFV0aWxpdGllcyIsInRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgiLCJ0b3Btb3N0RGlyZWN0b3J5UGF0aEZyb21QYXRoIiwicmVhZEZpbGUiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwid3JpdGVGaWxlIiwiaXNFbnRyeUZpbGUiLCJyZWFkRGlyZWN0b3J5IiwiaXNFbnRyeURpcmVjdG9yeSIsImNoZWNrRW50cnlFeGlzdHMiLCJwYXRoIiwicHJvamVjdHNEaXJlY3RvcnlQYXRoIiwiZmlsZSIsInRvcG1vc3REaXJlY3RvcnlOYW1lIiwiYWJzb2x1dGVQYXRoIiwiZW50cnlEaXJlY3RvcnkiLCJmaWxlRnJvbVByb2plY3QiLCJmaWxlRnJvbVJlbGVhc2UiLCJlcnJvciIsImdldFBhdGgiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInRvcG1vc3RBYnNvbHV0ZURpcmVjdG9yeVBhdGgiLCJta2RpcnAiLCJzeW5jIiwicGF0aHMiLCJmaWxlcyIsInBhdGhzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RQYXRoIiwiZmlsZXNGcm9tUHJvamVjdCIsImZpbGVzRnJvbVJlbGVhc2UiLCJmb3JFYWNoRmlsZSIsInJlbGVhc2VOYW1lIiwicmVsZWFzZSIsIm5hbWUiLCJ0b3Btb3N0RmlsZU5hbWUiLCJlbnRyeUZpbGUiLCJqc29uIiwiZW50cmllcyIsIkpTT04iLCJwYXJzZSIsIkVudHJpZXMiLCJmcm9tSlNPTiIsIlJlbGVhc2UiLCJmcm9tTmFtZUFuZEVudHJpZXMiLCJwcm9qZWN0TmFtZSIsImxvYWRPbmx5UmVjb2duaXNlZEZpbGVzIiwicHJvamVjdCIsImxvYWRFbnRyaWVzIiwiUHJvamVjdCIsInJlbGVhc2VzIiwiUmVsZWFzZXMiLCJmcm9tTm90aGluZyIsInRvcG1vc3RGaWxlTmFtZXMiLCJ0b3Btb3N0RmlsZU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aCIsInJlbGVhc2VOYW1lcyIsImZvckVhY2giLCJhZGRSZWxlYXNlIiwicHJvamVjdHMiLCJQcm9qZWN0cyIsInRvcG1vc3REaXJlY3RvcnlOYW1lcyIsInRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJwcm9qZWN0TmFtZXMiLCJhZGRQcm9qZWN0IiwicmVsYXRpdmVEaXJlY3RvcnlQYXRoIiwiZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgiLCJsb2FkRGlyZWN0b3J5IiwiZGlyZWN0b3J5IiwiRGlyZWN0b3J5IiwiZnJvbVBhdGgiLCJyZWxlYXNlZCIsImNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZSIsIkZpbGUiLCJmcm9tUGF0aENvbnRlbnRBbmRSZWxlYXNlZCIsImdldEZpbGUiLCJGaWxlcyIsImFkZEZpbGUiLCJhYnNvbHV0ZURpcmVjdG9yeVBhdGgiLCJzdWJFbnRyeU5hbWVzIiwic3ViRW50cnlOYW1lIiwic3ViRW50cnlOYW1lSGlkZGVuTmFtZSIsImlzTmFtZUhpZGRlbk5hbWUiLCJsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyIsImRpcmVjdG9yeVBhdGgiLCJhZGREaXJlY3RvcnkiLCJmaWxlUGF0aCIsImZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIiwiaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCIsImZpbGVSZWNvZ25pc2VkRmlsZSIsInJlZHVjZSIsImFic29sdXRlU3ViRW50cnlQYXRoIiwic3ViRW50cnlGaWxlIiwicHVzaCIsInN1YkVudHJ5RGlyZWN0b3J5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUF1QmdCQSxRQUFRO2VBQVJBOztJQXFCQUMsUUFBUTtlQUFSQTs7SUFXQUMsU0FBUztlQUFUQTs7SUEyQkFDLFNBQVM7ZUFBVEE7O0lBTUFDLFdBQVc7ZUFBWEE7O0lBZ0NBQyxXQUFXO2VBQVhBOztJQWdCQUMsWUFBWTtlQUFaQTs7SUF1QkFDLFlBQVk7ZUFBWkE7O0lBdUJoQixPQVNFO2VBVEY7Ozs2REFwTG1CO3lCQUVnRDsyREFFbEQ7NERBQ0M7OERBQ0U7OERBQ0E7OERBQ0E7K0RBQ0M7K0RBQ0E7Z0VBQ0M7b0JBRVc7d0JBQ1k7dUJBQ0U7Ozs7OztBQUUvQyxJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRCxPQUNBRSxtQkFBaUZDLHdCQUFhLENBQTlGRCxrQkFBa0JFLCtCQUErREQsd0JBQWEsQ0FBNUVDLDhCQUE4QkMsK0JBQWlDRix3QkFBYSxDQUE5Q0UsOEJBQ2hEQyxXQUF3RkMsOEJBQW1CLENBQTNHRCxVQUFVRSxZQUE4RUQsOEJBQW1CLENBQWpHQyxXQUFXQyxjQUFtRUYsOEJBQW1CLENBQXRGRSxhQUFhQyxnQkFBc0RILDhCQUFtQixDQUF6RUcsZUFBZUMsbUJBQXVDSiw4QkFBbUIsQ0FBMURJ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
|
package/package.json
CHANGED
|
@@ -18,8 +18,8 @@ import { isFilePathRecognisedFilePath } from "../utilities/filePath";
|
|
|
18
18
|
import { convertContentTabsToWhitespace } from "../utilities/content";
|
|
19
19
|
|
|
20
20
|
const { first } = arrayUtilities,
|
|
21
|
-
{
|
|
22
|
-
{
|
|
21
|
+
{ concatenatePaths, topmostDirectoryNameFromPath, topmostDirectoryPathFromPath } = pathUtilities,
|
|
22
|
+
{ readFile, writeFile, isEntryFile, readDirectory, isEntryDirectory, checkEntryExists } = fileSystemUtilities;
|
|
23
23
|
|
|
24
24
|
export function loadFile(path, projectsDirectoryPath) {
|
|
25
25
|
let file;
|
|
@@ -164,7 +164,7 @@ export function loadProjects(projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
|
164
164
|
projects = Projects.fromNothing();
|
|
165
165
|
|
|
166
166
|
const topmostDirectoryNames = topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath),
|
|
167
|
-
|
|
167
|
+
projectNames = topmostDirectoryNames; ///
|
|
168
168
|
|
|
169
169
|
projectNames.forEach((projectName) => {
|
|
170
170
|
const project = loadProject(projectName, projectsDirectoryPath, loadOnlyRecognisedFiles);
|
|
@@ -180,23 +180,6 @@ export function loadProjects(projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
|
180
180
|
return projects;
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
export function loadDirectory(path, projectsDirectoryPath) {
|
|
184
|
-
let directory;
|
|
185
|
-
|
|
186
|
-
try {
|
|
187
|
-
const absolutePath = concatenatePaths(projectsDirectoryPath, path),
|
|
188
|
-
entryDirectory = isEntryDirectory(absolutePath);
|
|
189
|
-
|
|
190
|
-
if (entryDirectory) {
|
|
191
|
-
directory = Directory.fromPath(path);
|
|
192
|
-
}
|
|
193
|
-
} catch (error) {
|
|
194
|
-
directory = null;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
return directory;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
183
|
export default {
|
|
201
184
|
loadFile,
|
|
202
185
|
saveFile,
|
|
@@ -205,8 +188,7 @@ export default {
|
|
|
205
188
|
loadRelease,
|
|
206
189
|
loadProject,
|
|
207
190
|
loadReleases,
|
|
208
|
-
loadProjects
|
|
209
|
-
loadDirectory
|
|
191
|
+
loadProjects
|
|
210
192
|
};
|
|
211
193
|
|
|
212
194
|
function loadEntries(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
@@ -218,6 +200,16 @@ function loadEntries(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecogn
|
|
|
218
200
|
return entries;
|
|
219
201
|
}
|
|
220
202
|
|
|
203
|
+
function loadDirectory(path, projectsDirectoryPath) {
|
|
204
|
+
const absolutePath = concatenatePaths(projectsDirectoryPath, path),
|
|
205
|
+
entryDirectory = isEntryDirectory(absolutePath),
|
|
206
|
+
directory = entryDirectory ?
|
|
207
|
+
Directory.fromPath(path) :
|
|
208
|
+
null;
|
|
209
|
+
|
|
210
|
+
return directory;
|
|
211
|
+
}
|
|
212
|
+
|
|
221
213
|
function fileFromProject(path, projectsDirectoryPath) {
|
|
222
214
|
let file = null;
|
|
223
215
|
|