exiftool-vendored 28.8.0 → 29.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -1
- package/SECURITY.md +1 -2
- package/dist/BinaryField.js +2 -0
- package/dist/BinaryField.js.map +1 -1
- package/dist/BinaryToBufferTask.js +5 -5
- package/dist/BinaryToBufferTask.js.map +1 -1
- package/dist/CoordinateParser.d.ts +38 -0
- package/dist/CoordinateParser.js +185 -0
- package/dist/CoordinateParser.js.map +1 -0
- package/dist/DateTime.js +4 -5
- package/dist/DateTime.js.map +1 -1
- package/dist/DefaultExifToolOptions.js +1 -3
- package/dist/DefaultExifToolOptions.js.map +1 -1
- package/dist/ErrorsAndWarnings.js +2 -2
- package/dist/ErrorsAndWarnings.js.map +1 -1
- package/dist/ExifDate.js +7 -2
- package/dist/ExifDate.js.map +1 -1
- package/dist/ExifDateTime.js +61 -64
- package/dist/ExifDateTime.js.map +1 -1
- package/dist/ExifTime.js +19 -26
- package/dist/ExifTime.js.map +1 -1
- package/dist/ExifTool.d.ts +1 -3
- package/dist/ExifTool.js +56 -57
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolTask.js +21 -26
- package/dist/ExifToolTask.js.map +1 -1
- package/dist/ExiftoolPath.js +7 -4
- package/dist/ExiftoolPath.js.map +1 -1
- package/dist/FirstDateTime.js +1 -1
- package/dist/FirstDateTime.js.map +1 -1
- package/dist/GPS.d.ts +24 -0
- package/dist/GPS.js +152 -0
- package/dist/GPS.js.map +1 -0
- package/dist/JSON.js +1 -1
- package/dist/JSON.js.map +1 -1
- package/dist/Number.d.ts +13 -0
- package/dist/Number.js +26 -0
- package/dist/Number.js.map +1 -1
- package/dist/ReadRawTask.js +3 -1
- package/dist/ReadRawTask.js.map +1 -1
- package/dist/ReadTask.js +189 -254
- package/dist/ReadTask.js.map +1 -1
- package/dist/RewriteAllTagsTask.js +2 -2
- package/dist/RewriteAllTagsTask.js.map +1 -1
- package/dist/String.d.ts +6 -2
- package/dist/String.js +7 -0
- package/dist/String.js.map +1 -1
- package/dist/Struct.js +1 -2
- package/dist/Struct.js.map +1 -1
- package/dist/Tags.d.ts +23 -23
- package/dist/TimeParsing.js +6 -8
- package/dist/TimeParsing.js.map +1 -1
- package/dist/Times.d.ts +6 -0
- package/dist/Times.js +7 -3
- package/dist/Times.js.map +1 -1
- package/dist/Timezones.d.ts +1 -1
- package/dist/Timezones.js +19 -24
- package/dist/Timezones.js.map +1 -1
- package/dist/VersionTask.js +1 -1
- package/dist/VersionTask.js.map +1 -1
- package/dist/WriteTask.js +38 -13
- package/dist/WriteTask.js.map +1 -1
- package/package.json +7 -7
package/dist/ExifTool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"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"}
|
package/dist/ExifToolTask.js
CHANGED
|
@@ -22,12 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
26
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
27
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
28
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
29
|
-
};
|
|
30
|
-
var _ExifToolTask_instances, _ExifToolTask_parser;
|
|
31
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
26
|
exports.ExifToolTask = void 0;
|
|
33
27
|
const bc = __importStar(require("batch-cluster"));
|
|
@@ -35,21 +29,22 @@ const IsWarning_1 = require("./IsWarning");
|
|
|
35
29
|
const String_1 = require("./String");
|
|
36
30
|
const BadPerlInstallationRE = /Can't locate \S+ in @INC/i;
|
|
37
31
|
class ExifToolTask extends bc.Task {
|
|
32
|
+
args;
|
|
33
|
+
options;
|
|
38
34
|
static renderCommand(args, options) {
|
|
39
35
|
const result = args.filter((ea) => !(0, String_1.blank)(ea));
|
|
40
|
-
if (
|
|
36
|
+
if (options?.ignoreMinorErrors === true) {
|
|
41
37
|
result.push("-ignoreMinorErrors");
|
|
42
38
|
}
|
|
43
39
|
result.push("-execute");
|
|
44
40
|
return result.join("\n") + "\n";
|
|
45
41
|
}
|
|
42
|
+
errors = [];
|
|
43
|
+
warnings = [];
|
|
46
44
|
constructor(args, options) {
|
|
47
|
-
super(ExifToolTask.renderCommand(args, options), (stdout, stderr, passed) =>
|
|
48
|
-
_ExifToolTask_instances.add(this);
|
|
45
|
+
super(ExifToolTask.renderCommand(args, options), (stdout, stderr, passed) => this.#parser(stdout, stderr, passed));
|
|
49
46
|
this.args = args;
|
|
50
47
|
this.options = options;
|
|
51
|
-
this.errors = [];
|
|
52
|
-
this.warnings = [];
|
|
53
48
|
}
|
|
54
49
|
onStderr(buf) {
|
|
55
50
|
if (BadPerlInstallationRE.test(buf.toString())) {
|
|
@@ -61,22 +56,22 @@ class ExifToolTask extends bc.Task {
|
|
|
61
56
|
}
|
|
62
57
|
super.onStderr(buf);
|
|
63
58
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
error !== null && error !== void 0 ? error : (error = new Error(line.replace(/^error: /i, "")));
|
|
59
|
+
#parser(stdout, stderr, passed) {
|
|
60
|
+
let error;
|
|
61
|
+
if ((0, String_1.notBlank)(stderr) || !passed) {
|
|
62
|
+
for (const line of (0, String_1.splitLines)(stderr ?? "")) {
|
|
63
|
+
if ((0, IsWarning_1.isWarning)(line)) {
|
|
64
|
+
this.warnings.push(line);
|
|
65
|
+
}
|
|
66
|
+
else if (/error|warning/i.test(line)) {
|
|
67
|
+
this.errors.push(line);
|
|
68
|
+
// new Error() will add a "Error: " prefix:
|
|
69
|
+
error ??= new Error(line.replace(/^error: /i, ""));
|
|
70
|
+
}
|
|
77
71
|
}
|
|
78
72
|
}
|
|
73
|
+
return this.parse(stdout, error);
|
|
79
74
|
}
|
|
80
|
-
|
|
81
|
-
|
|
75
|
+
}
|
|
76
|
+
exports.ExifToolTask = ExifToolTask;
|
|
82
77
|
//# sourceMappingURL=ExifToolTask.js.map
|
package/dist/ExifToolTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifToolTask.js","sourceRoot":"","sources":["../src/ExifToolTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExifToolTask.js","sourceRoot":"","sources":["../src/ExifToolTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AAEnC,2CAAuC;AAEvC,qCAAsD;AAEtD,MAAM,qBAAqB,GAAG,2BAA2B,CAAA;AAIzD,MAAsB,YAAgB,SAAQ,EAAE,CAAC,IAAO;IAc3C;IACA;IAdX,MAAM,CAAC,aAAa,CAAC,IAAc,EAAE,OAA6B;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,CAAA;QAC9C,IAAI,OAAO,EAAE,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACnC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjC,CAAC;IAEQ,MAAM,GAAa,EAAE,CAAA;IACrB,QAAQ,GAAa,EAAE,CAAA;IAEhC,YACW,IAAc,EACd,OAA6B;QAEtC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAC1E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CACrC,CAAA;QALQ,SAAI,GAAJ,IAAI,CAAU;QACd,YAAO,GAAP,OAAO,CAAsB;IAKxC,CAAC;IAEQ,QAAQ,CAAC,GAAoB;QACpC,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC/C,sEAAsE;YACtE,6BAA6B;YAC7B,wEAAwE;YACxE,WAAW;YACX,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,MAA0B,EAAE,MAAe;QACjE,IAAI,KAAmB,CAAA;QACvB,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,IAAA,mBAAU,EAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAA,qBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1B,CAAC;qBAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACtB,2CAA2C;oBAC3C,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;CAGF;AAlDD,oCAkDC"}
|
package/dist/ExiftoolPath.js
CHANGED
|
@@ -38,7 +38,7 @@ function tryRequire({ prefix = "", logger, } = {}) {
|
|
|
38
38
|
return require(id);
|
|
39
39
|
}
|
|
40
40
|
catch (error) {
|
|
41
|
-
logger
|
|
41
|
+
logger?.warn(id + "not found: ", error);
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -72,7 +72,10 @@ async function exiftoolPath(logger) {
|
|
|
72
72
|
const path = tryRequire({ prefix: "", logger });
|
|
73
73
|
// This s/app.asar/app.asar.unpacked/ path switch adds support for Electron
|
|
74
74
|
// apps whose modules are ASAR-packed (like by electron-builder).
|
|
75
|
-
const asarUnpackedPath = path
|
|
75
|
+
const asarUnpackedPath = path
|
|
76
|
+
?.split(_path.sep)
|
|
77
|
+
.map((ea) => (ea === "app.asar" ? "app.asar.unpacked" : ea))
|
|
78
|
+
.join(_path.sep);
|
|
76
79
|
// NOTE: we must check for the fixedPath FIRST, because Electron's ASAR
|
|
77
80
|
// shenanigans will make existsSync return true for asar-packed resources
|
|
78
81
|
if (asarUnpackedPath != null && _fs.existsSync(asarUnpackedPath)) {
|
|
@@ -81,7 +84,7 @@ async function exiftoolPath(logger) {
|
|
|
81
84
|
if (path != null && _fs.existsSync(path)) {
|
|
82
85
|
return path;
|
|
83
86
|
}
|
|
84
|
-
logger
|
|
87
|
+
logger?.warn("Failed to find exiftool via " + vendorPackage());
|
|
85
88
|
// process.resourcesPath is set by electron-forge:
|
|
86
89
|
const electronResourcePath = process.resourcesPath;
|
|
87
90
|
if (electronResourcePath != null) {
|
|
@@ -90,7 +93,7 @@ async function exiftoolPath(logger) {
|
|
|
90
93
|
return forgePath;
|
|
91
94
|
}
|
|
92
95
|
else {
|
|
93
|
-
logger
|
|
96
|
+
logger?.warn("Failed to find exiftool in electron forge resources path: " + forgePath);
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
99
|
// Last ditch: is there a globally installed exiftool in the PATH?
|
package/dist/ExiftoolPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExiftoolPath.js","sourceRoot":"","sources":["../src/ExiftoolPath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,oCAgDC;AAlGD,6CAA8B;AAC9B,iDAAkC;AAClC,uCAAmC;AAEnC,mCAA+B;AAE/B,SAAS,aAAa;IACpB,OAAO,oBAAoB,GAAG,CAAC,IAAA,iBAAO,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,MAAM,GAAG,EAAE,EACX,MAAM,MACyC,EAAE;IACjD,MAAM,EAAE,GAAG,MAAM,GAAG,aAAa,EAAE,CAAA;IACnC,IAAI,CAAC;QACH,iEAAiE;QACjE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,
|
|
1
|
+
{"version":3,"file":"ExiftoolPath.js","sourceRoot":"","sources":["../src/ExiftoolPath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,oCAgDC;AAlGD,6CAA8B;AAC9B,iDAAkC;AAClC,uCAAmC;AAEnC,mCAA+B;AAE/B,SAAS,aAAa;IACpB,OAAO,oBAAoB,GAAG,CAAC,IAAA,iBAAO,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,MAAM,GAAG,EAAE,EACX,MAAM,MACyC,EAAE;IACjD,MAAM,EAAE,GAAG,MAAM,GAAG,aAAa,EAAE,CAAA;IACnC,IAAI,CAAC;QACH,iEAAiE;QACjE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,KAAK,CAAC,CAAA;QACvC,OAAM;IACR,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,YAAY,CAAC,MAAe;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/C,2EAA2E;IAC3E,iEAAiE;IAEjE,MAAM,gBAAgB,GAAG,IAAI;QAC3B,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;SACjB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAElB,uEAAuE;IACvE,yEAAyE;IACzE,IAAI,gBAAgB,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjE,OAAO,gBAAgB,CAAA;IACzB,CAAC;IACD,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,IAAI,CAAC,8BAA8B,GAAG,aAAa,EAAE,CAAC,CAAA;IAE9D,kDAAkD;IAClD,MAAM,oBAAoB,GAAI,OAAe,CAAC,aAAa,CAAA;IAC3D,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAC1B,oBAAoB,EACpB,aAAa,EAAE,EACf,KAAK,EACL,UAAU,GAAG,CAAC,IAAA,iBAAO,GAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CACvC,CAAA;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,IAAI,CACV,4DAA4D,GAAG,SAAS,CACzE,CAAA;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,QAAQ,GAAG,MAAM,IAAA,aAAK,EAAC,UAAU,CAAC,CAAA;IACxC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;AACH,CAAC"}
|
package/dist/FirstDateTime.js
CHANGED
|
@@ -10,7 +10,7 @@ const String_1 = require("./String");
|
|
|
10
10
|
*/
|
|
11
11
|
function firstDateTime(tags, dateTimeTags = CapturedAtTagNames_1.CapturedAtTagNames) {
|
|
12
12
|
for (const tag of dateTimeTags) {
|
|
13
|
-
const dt = tags
|
|
13
|
+
const dt = tags?.[tag];
|
|
14
14
|
if (dt instanceof ExifDateTime_1.ExifDateTime) {
|
|
15
15
|
return dt;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirstDateTime.js","sourceRoot":"","sources":["../src/FirstDateTime.ts"],"names":[],"mappings":";;AAWA,sCAgBC;AA3BD,6DAAyD;AACzD,iDAA6C;AAG7C,qCAAmC;AAGnC;;;GAGG;AACH,SAAgB,aAAa,CAC3B,IAAiB,EACjB,eAA8C,uCAAkB;IAEhE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"FirstDateTime.js","sourceRoot":"","sources":["../src/FirstDateTime.ts"],"names":[],"mappings":";;AAWA,sCAgBC;AA3BD,6DAAyD;AACzD,iDAA6C;AAG7C,qCAAmC;AAGnC;;;GAGG;AACH,SAAgB,aAAa,CAC3B,IAAiB,EACjB,eAA8C,uCAAkB;IAEhE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAQ,CAAA;QAC7B,IAAI,EAAE,YAAY,2BAAY,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAA;QACX,CAAC;aAAM,IAAI,IAAA,iBAAQ,EAAC,EAAE,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,2BAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACrC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAM;AACR,CAAC"}
|
package/dist/GPS.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ExifToolOptions } from "./ExifToolOptions";
|
|
2
|
+
export type GpsLocationTags = {
|
|
3
|
+
GPSLatitude?: number;
|
|
4
|
+
GPSLatitudeRef?: string;
|
|
5
|
+
GPSLongitude?: number;
|
|
6
|
+
GPSLongitudeRef?: string;
|
|
7
|
+
GPSPosition?: string;
|
|
8
|
+
GeolocationPosition?: string;
|
|
9
|
+
};
|
|
10
|
+
export type CoordinateType = "Latitude" | "Longitude";
|
|
11
|
+
export interface CoordinateConfig {
|
|
12
|
+
value: number;
|
|
13
|
+
ref: string | undefined;
|
|
14
|
+
geoValue: number | undefined;
|
|
15
|
+
expectedRefPositive: "N" | "E";
|
|
16
|
+
expectedRefNegative: "S" | "W";
|
|
17
|
+
max: 90 | 180;
|
|
18
|
+
coordinateType: CoordinateType;
|
|
19
|
+
}
|
|
20
|
+
export declare function parseGPSLocation(tags: GpsLocationTags, opts: Pick<ExifToolOptions, "ignoreZeroZeroLatLon">): Partial<{
|
|
21
|
+
result: GpsLocationTags;
|
|
22
|
+
invalid: boolean;
|
|
23
|
+
warnings: string[];
|
|
24
|
+
}>;
|
package/dist/GPS.js
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseGPSLocation = parseGPSLocation;
|
|
4
|
+
const CoordinateParser_1 = require("./CoordinateParser");
|
|
5
|
+
const Number_1 = require("./Number");
|
|
6
|
+
const Pick_1 = require("./Pick");
|
|
7
|
+
const String_1 = require("./String");
|
|
8
|
+
const MAX_LAT_LON_DIFF = 1;
|
|
9
|
+
function parsePosition(position) {
|
|
10
|
+
if ((0, String_1.blank)(position))
|
|
11
|
+
return;
|
|
12
|
+
const [lat, lon] = (0, String_1.toS)(position).split(/[, ]+/).map(Number_1.toFloat);
|
|
13
|
+
return lat != null && lon != null ? [lat, lon] : undefined;
|
|
14
|
+
}
|
|
15
|
+
function processCoordinate(config, warnings) {
|
|
16
|
+
let { value, ref } = config;
|
|
17
|
+
const { geoValue, coordinateType } = config;
|
|
18
|
+
const { expectedRefPositive, expectedRefNegative, max } = config;
|
|
19
|
+
let isInvalid = false;
|
|
20
|
+
ref =
|
|
21
|
+
ref?.trim().toUpperCase().slice(0, 1) ??
|
|
22
|
+
(value < 0 ? expectedRefNegative : expectedRefPositive);
|
|
23
|
+
// Check range
|
|
24
|
+
if (Math.abs(value) > max) {
|
|
25
|
+
isInvalid = true;
|
|
26
|
+
warnings.push(`Invalid GPS${coordinateType}: ${value} is out of range`);
|
|
27
|
+
return { value, ref, isInvalid };
|
|
28
|
+
}
|
|
29
|
+
// Apply hemisphere reference
|
|
30
|
+
if (ref === expectedRefNegative) {
|
|
31
|
+
value = -Math.abs(value);
|
|
32
|
+
}
|
|
33
|
+
// Check for mismatched signs with GeolocationPosition
|
|
34
|
+
if (geoValue != null &&
|
|
35
|
+
Math.abs(Math.abs(geoValue) - Math.abs(value)) < MAX_LAT_LON_DIFF) {
|
|
36
|
+
if (Math.sign(geoValue) !== Math.sign(value)) {
|
|
37
|
+
value = -value;
|
|
38
|
+
warnings.push(`Corrected GPS${coordinateType} sign based on GeolocationPosition`);
|
|
39
|
+
}
|
|
40
|
+
// Force ref to correct value
|
|
41
|
+
const expectedRef = geoValue < 0 ? expectedRefNegative : expectedRefPositive;
|
|
42
|
+
if (ref !== expectedRef) {
|
|
43
|
+
ref = expectedRef;
|
|
44
|
+
warnings.push(`Corrected GPS${coordinateType}Ref to ${expectedRef} based on GeolocationPosition`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Ensure ref matches coordinate sign
|
|
48
|
+
const expectedRef = value < 0 ? expectedRefNegative : expectedRefPositive;
|
|
49
|
+
if (ref != null && ref !== expectedRef) {
|
|
50
|
+
warnings.push(`Corrected GPS${coordinateType}Ref to ${ref} to match coordinate sign`);
|
|
51
|
+
}
|
|
52
|
+
ref = expectedRef;
|
|
53
|
+
return { value, ref, isInvalid };
|
|
54
|
+
}
|
|
55
|
+
function parseGPSLocation(tags, opts) {
|
|
56
|
+
let parsed = false;
|
|
57
|
+
const warnings = [];
|
|
58
|
+
const result = (0, Pick_1.pick)(tags, "GPSLatitude", "GPSLatitudeRef", "GPSLongitude", "GPSLongitudeRef");
|
|
59
|
+
if ((0, String_1.notBlankString)(tags.GPSPosition)) {
|
|
60
|
+
try {
|
|
61
|
+
const pos = (0, CoordinateParser_1.parseCoordinates)(tags.GPSPosition);
|
|
62
|
+
if (opts.ignoreZeroZeroLatLon === true &&
|
|
63
|
+
pos.latitude === 0 &&
|
|
64
|
+
pos.longitude === 0) {
|
|
65
|
+
warnings.push("Ignoring zero coordinates from GPSPosition");
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
parsed = true;
|
|
69
|
+
result.GPSLatitude = pos.latitude;
|
|
70
|
+
result.GPSLongitude = pos.longitude;
|
|
71
|
+
result.GPSLatitudeRef = pos.latitude < 0 ? "S" : "N";
|
|
72
|
+
result.GPSLongitudeRef = pos.longitude < 0 ? "W" : "E";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
warnings.push("Error parsing GPSPosition: " + e);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Are both GPSLatitude and GPSLongitude available?
|
|
80
|
+
if (!parsed && (0, String_1.notBlankString)(tags.GPSLatitude) && (0, String_1.notBlankString)(tags.GPSLongitude)) {
|
|
81
|
+
try {
|
|
82
|
+
const lat = (0, CoordinateParser_1.parseCoordinate)(tags.GPSLatitude);
|
|
83
|
+
const lon = (0, CoordinateParser_1.parseCoordinate)(tags.GPSLongitude);
|
|
84
|
+
if (opts.ignoreZeroZeroLatLon === true &&
|
|
85
|
+
lat.degrees === 0 &&
|
|
86
|
+
lon.degrees === 0) {
|
|
87
|
+
warnings.push("Ignoring zero coordinates from GPSLatitude/GPSLongitude");
|
|
88
|
+
return { invalid: true, warnings };
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
result.GPSLatitude = lat.degrees;
|
|
92
|
+
result.GPSLongitude = lon.degrees;
|
|
93
|
+
result.GPSLatitudeRef = lat.direction;
|
|
94
|
+
result.GPSLongitudeRef = lon.direction;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
warnings.push(`Error parsing GPSLatitude or GPSLongitude: ` + e);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Early return if no GPS data
|
|
102
|
+
if (!(0, Number_1.isNumber)(result.GPSLatitude) && !(0, Number_1.isNumber)(result.GPSLongitude)) {
|
|
103
|
+
return {};
|
|
104
|
+
}
|
|
105
|
+
// Check for zero coordinates when ignoreZeroZeroLatLon is true
|
|
106
|
+
if (opts.ignoreZeroZeroLatLon === true &&
|
|
107
|
+
result.GPSLatitude === 0 &&
|
|
108
|
+
result.GPSLongitude === 0) {
|
|
109
|
+
warnings.push("Ignoring zero GPSLatitude and GPSLongitude");
|
|
110
|
+
return { invalid: true, warnings };
|
|
111
|
+
}
|
|
112
|
+
// Parse GeolocationPosition
|
|
113
|
+
const [geoLat, geoLon] = parsePosition(tags.GeolocationPosition) ?? [
|
|
114
|
+
undefined,
|
|
115
|
+
undefined,
|
|
116
|
+
];
|
|
117
|
+
let isInvalid = false;
|
|
118
|
+
// Process latitude
|
|
119
|
+
if ((0, Number_1.isNumber)(result.GPSLatitude)) {
|
|
120
|
+
const latitudeResult = processCoordinate({
|
|
121
|
+
value: result.GPSLatitude,
|
|
122
|
+
ref: result.GPSLatitudeRef,
|
|
123
|
+
geoValue: geoLat,
|
|
124
|
+
expectedRefPositive: "N",
|
|
125
|
+
expectedRefNegative: "S",
|
|
126
|
+
max: 90,
|
|
127
|
+
coordinateType: "Latitude",
|
|
128
|
+
}, warnings);
|
|
129
|
+
result.GPSLatitude = latitudeResult.value;
|
|
130
|
+
result.GPSLatitudeRef = latitudeResult.ref;
|
|
131
|
+
isInvalid = isInvalid || latitudeResult.isInvalid;
|
|
132
|
+
}
|
|
133
|
+
// Process longitude
|
|
134
|
+
if ((0, Number_1.isNumber)(result.GPSLongitude)) {
|
|
135
|
+
const longitudeResult = processCoordinate({
|
|
136
|
+
value: result.GPSLongitude,
|
|
137
|
+
ref: result.GPSLongitudeRef,
|
|
138
|
+
geoValue: geoLon,
|
|
139
|
+
expectedRefPositive: "E",
|
|
140
|
+
expectedRefNegative: "W",
|
|
141
|
+
max: 180,
|
|
142
|
+
coordinateType: "Longitude",
|
|
143
|
+
}, warnings);
|
|
144
|
+
result.GPSLongitude = longitudeResult.value;
|
|
145
|
+
result.GPSLongitudeRef = longitudeResult.ref;
|
|
146
|
+
isInvalid = isInvalid || longitudeResult.isInvalid;
|
|
147
|
+
}
|
|
148
|
+
return isInvalid
|
|
149
|
+
? { invalid: true, warnings }
|
|
150
|
+
: { result, invalid: false, warnings };
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=GPS.js.map
|
package/dist/GPS.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GPS.js","sourceRoot":"","sources":["../src/GPS.ts"],"names":[],"mappings":"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"}
|
package/dist/JSON.js
CHANGED
|
@@ -12,6 +12,6 @@ const Revivers = {
|
|
|
12
12
|
ExifTime: (ea) => ExifTime_1.ExifTime.fromJSON(ea),
|
|
13
13
|
};
|
|
14
14
|
function parseJSON(s) {
|
|
15
|
-
return JSON.parse(s, (_key, value) =>
|
|
15
|
+
return JSON.parse(s, (_key, value) => Revivers[value?._ctor]?.(value) ?? value);
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=JSON.js.map
|
package/dist/JSON.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSON.js","sourceRoot":"","sources":["../src/JSON.ts"],"names":[],"mappings":";;AAYA,8BAKC;AAjBD,+CAA2C;AAC3C,yCAAqC;AACrC,iDAA6C;AAC7C,yCAAqC;AAErC,MAAM,QAAQ,GAAQ;IACpB,WAAW,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,yBAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClD,YAAY,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,2BAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpD,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5C,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC7C,CAAA;AAED,SAAgB,SAAS,CAAC,CAAS;IACjC,OAAO,IAAI,CAAC,KAAK,CACf,CAAC,EACD,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"JSON.js","sourceRoot":"","sources":["../src/JSON.ts"],"names":[],"mappings":";;AAYA,8BAKC;AAjBD,+CAA2C;AAC3C,yCAAqC;AACrC,iDAA6C;AAC7C,yCAAqC;AAErC,MAAM,QAAQ,GAAQ;IACpB,WAAW,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,yBAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClD,YAAY,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,2BAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpD,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5C,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC7C,CAAA;AAED,SAAgB,SAAS,CAAC,CAAS;IACjC,OAAO,IAAI,CAAC,KAAK,CACf,CAAC,EACD,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAC1D,CAAA;AACH,CAAC"}
|
package/dist/Number.d.ts
CHANGED
|
@@ -2,3 +2,16 @@ import { Maybe } from "./Maybe";
|
|
|
2
2
|
export declare function isNumber(n: any): n is number;
|
|
3
3
|
export declare function toFloat(n: any): Maybe<number>;
|
|
4
4
|
export declare function toInt(n: any): Maybe<number>;
|
|
5
|
+
/**
|
|
6
|
+
* Rounds a number to a specified number of decimal places.
|
|
7
|
+
*
|
|
8
|
+
* @param value - The number to round
|
|
9
|
+
* @param precision - The number of decimal places to retain
|
|
10
|
+
* @returns The rounded number with specified precision
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* roundToDecimalPlaces(3.14159, 2) // Returns 3.14
|
|
14
|
+
* roundToDecimalPlaces(123.456789, 3) // Returns 123.457
|
|
15
|
+
* roundToDecimalPlaces(0.0001234, 4) // Returns 0.0001
|
|
16
|
+
*/
|
|
17
|
+
export declare function roundToDecimalPlaces(value: number, precision: number): number;
|
package/dist/Number.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.isNumber = isNumber;
|
|
4
4
|
exports.toFloat = toFloat;
|
|
5
5
|
exports.toInt = toInt;
|
|
6
|
+
exports.roundToDecimalPlaces = roundToDecimalPlaces;
|
|
6
7
|
function isNumber(n) {
|
|
7
8
|
return typeof n === "number" && isFinite(n);
|
|
8
9
|
}
|
|
@@ -32,4 +33,29 @@ function toInt(n) {
|
|
|
32
33
|
return undefined;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Rounds a number to a specified number of decimal places.
|
|
38
|
+
*
|
|
39
|
+
* @param value - The number to round
|
|
40
|
+
* @param precision - The number of decimal places to retain
|
|
41
|
+
* @returns The rounded number with specified precision
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* roundToDecimalPlaces(3.14159, 2) // Returns 3.14
|
|
45
|
+
* roundToDecimalPlaces(123.456789, 3) // Returns 123.457
|
|
46
|
+
* roundToDecimalPlaces(0.0001234, 4) // Returns 0.0001
|
|
47
|
+
*/
|
|
48
|
+
function roundToDecimalPlaces(value, precision) {
|
|
49
|
+
// Handle edge cases
|
|
50
|
+
if (!isNumber(value))
|
|
51
|
+
throw new Error("Value must be a number");
|
|
52
|
+
if (precision < 0)
|
|
53
|
+
throw new Error("Precision must be non-negative");
|
|
54
|
+
if (value === 0)
|
|
55
|
+
return 0;
|
|
56
|
+
const multiplier = Math.pow(10, precision);
|
|
57
|
+
return Math.abs(value) < Number.EPSILON
|
|
58
|
+
? 0
|
|
59
|
+
: Math.round(value * multiplier) / multiplier;
|
|
60
|
+
}
|
|
35
61
|
//# sourceMappingURL=Number.js.map
|
package/dist/Number.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.js","sourceRoot":"","sources":["../src/Number.ts"],"names":[],"mappings":";;AAEA,4BAEC;AAED,0BAQC;AAED,sBAWC;
|
|
1
|
+
{"version":3,"file":"Number.js","sourceRoot":"","sources":["../src/Number.ts"],"names":[],"mappings":";;AAEA,4BAEC;AAED,0BAQC;AAED,sBAWC;AAcD,oDAWC;AAlDD,SAAgB,QAAQ,CAAC,CAAM;IAC7B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,SAAgB,OAAO,CAAC,CAAM;IAC5B,IAAI,CAAC,IAAI,IAAI;QAAE,OAAM;IACrB,IAAI,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IACzB,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,KAAK,CAAC,CAAM;IAC1B,IAAI,CAAC,IAAI,IAAI;QAAE,OAAM;IACrB,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,kEAAkE;QAClE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAAC,KAAa,EAAE,SAAiB;IACnE,oBAAoB;IACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC/D,IAAI,SAAS,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACpE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;IAE1C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO;QACrC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;AACjD,CAAC"}
|
package/dist/ReadRawTask.js
CHANGED
|
@@ -30,6 +30,8 @@ const ErrorsAndWarnings_1 = require("./ErrorsAndWarnings");
|
|
|
30
30
|
const ExifToolTask_1 = require("./ExifToolTask");
|
|
31
31
|
const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
|
|
32
32
|
class ReadRawTask extends ExifToolTask_1.ExifToolTask {
|
|
33
|
+
sourceFile;
|
|
34
|
+
args;
|
|
33
35
|
static for(filename, exiftoolArgs = [], options) {
|
|
34
36
|
const args = [...FilenameCharsetArgs_1.Utf8FilenameCharsetArgs, ...exiftoolArgs];
|
|
35
37
|
if (!args.includes("-json"))
|
|
@@ -56,7 +58,7 @@ class ReadRawTask extends ExifToolTask_1.ExifToolTask {
|
|
|
56
58
|
}
|
|
57
59
|
catch (jsonError) {
|
|
58
60
|
(0, batch_cluster_1.logger)().error("ExifTool.ReadRawTask(): Invalid JSON", { data });
|
|
59
|
-
throw err
|
|
61
|
+
throw err ?? jsonError;
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
}
|
package/dist/ReadRawTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadRawTask.js","sourceRoot":"","sources":["../src/ReadRawTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsC;AACtC,iDAAkC;AAClC,2DAAuD;AACvD,iDAAkE;AAClE,+DAA+D;AAG/D,MAAa,WAAY,SAAQ,2BAAqB;
|
|
1
|
+
{"version":3,"file":"ReadRawTask.js","sourceRoot":"","sources":["../src/ReadRawTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsC;AACtC,iDAAkC;AAClC,2DAAuD;AACvD,iDAAkE;AAClE,+DAA+D;AAG/D,MAAa,WAAY,SAAQ,2BAAqB;IAczC;IACS;IAdpB,MAAM,CAAC,GAAG,CACR,QAAgB,EAChB,eAAyB,EAAE,EAC3B,OAA6B;QAE7B,MAAM,IAAI,GAAa,CAAC,GAAG,6CAAuB,EAAE,GAAG,YAAY,CAAC,CAAA;QACpE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrB,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,YACW,UAAkB,EACT,IAAc,EAChC,OAA6B;QAE7B,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAJX,eAAU,GAAV,UAAU,CAAQ;QACT,SAAI,GAAJ,IAAI,CAAU;IAIlC,CAAC;IAEQ,QAAQ;QACf,OAAO,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;IAC9C,CAAC;IAES,KAAK,CAAC,IAAY,EAAE,GAAW;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,qCAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,IAAA,sBAAM,GAAE,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YAChE,MAAM,GAAG,IAAI,SAAS,CAAA;QACxB,CAAC;IACH,CAAC;CACF;AArCD,kCAqCC"}
|