@poe-platform/safe-bash 0.1.839 → 0.1.840
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/mp4-ast/types.d.ts +4 -2
- package/dist/pdf-ast/cos/security.d.ts +10 -0
- package/dist/pdf-ast/edit/retained-attachment-edits.d.ts +4 -0
- package/dist/pdf-ast/edit/retained-graph.d.ts +1 -1
- package/dist/pdf-ast/image.js +1 -1
- package/dist/pdf-ast/index.d.ts +2 -1
- package/dist/pdf-ast/index.js +7 -1
- package/dist/pdf-ast/vendor/pdfjs-fonts.d.mts +8 -0
- package/dist/pdf-ast/vendor/pdfjs-fonts.mjs +28 -0
- package/dist/safe-bash/command-chunks/{chunk-SG2KOOD4.js → chunk-3SAYZFMD.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-FH5VMAPS.js → chunk-45ZH6CNF.js} +20 -4
- package/dist/safe-bash/command-chunks/{chunk-T6OXG7QQ.js → chunk-AAOPVEPF.js} +66 -1
- package/dist/safe-bash/command-chunks/{chunk-46GA576V.js → chunk-CPKVUB7S.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-MBXNG6C3.js → chunk-DLLN3C3Q.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ZSQCROFE.js → chunk-DM5T5D2K.js} +5 -1
- package/dist/safe-bash/command-chunks/{chunk-3EAZRKI4.js → chunk-G7HQYFIU.js} +10 -1
- package/dist/safe-bash/command-chunks/{chunk-GYKQ3IOV.js → chunk-LMYQMJYY.js} +94 -18
- package/dist/safe-bash/command-chunks/{chunk-DX7KU6YU.js → chunk-N52AHO6S.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4BSD2RGK.js → chunk-QPKL5GWH.js} +102 -42
- package/dist/safe-bash/command-chunks/{chunk-Z2T7E4ID.js → chunk-R7QLP5RH.js} +1212 -1119
- package/dist/safe-bash/command-chunks/{chunk-RSFKQE2U.js → chunk-T5WFJ44Z.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-77ROD2TR.js → chunk-X3WNWRVT.js} +11 -5
- package/dist/safe-bash/command-chunks/{chunk-TCXM7BSZ.js → chunk-YFMNXPLP.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-DQVOBGI2.js → chunk-YVFQ5I36.js} +7335 -7162
- package/dist/safe-bash-command-exiftool/index.js +25 -1
- package/dist/safe-bash-command-ffmpeg/index.js +174 -41
- package/dist/safe-bash-command-ffprobe/index.js +2 -2
- package/dist/safe-bash-command-ffprobe/media.js +2 -2
- package/dist/safe-bash-command-imagemagick/index.js +482 -98
- package/dist/safe-bash-command-mdq/index.js +2 -0
- package/dist/safe-bash-command-pandoc/citeproc-filters.js +7 -7
- package/dist/safe-bash-command-pandoc/command.js +8 -8
- package/dist/safe-bash-command-pandoc/index.js +51 -51
- package/dist/safe-bash-command-qpdf/index.js +1037 -654
- package/dist/safe-bash-command-qpdf/page-range.d.ts +2 -0
- package/dist/safe-bash-command-soffice/index.js +28 -8
- package/dist/safe-bash-command-sqlite3/btree.d.ts +2 -1
- package/dist/safe-bash-command-sqlite3/engine.d.ts +15 -1
- package/dist/safe-bash-command-sqlite3/index.js +294 -68
- package/dist/safe-bash-command-tar/create.js +2 -2
- package/dist/safe-bash-command-tar/extract.js +2 -2
- package/dist/safe-bash-command-tar/format.js +1 -1
- package/dist/safe-bash-command-tar/index.js +4 -4
- package/dist/safe-bash-command-tar/modes.js +4 -4
- package/dist/safe-bash-command-unzip/index.js +1 -1
- package/dist/safe-bash-command-unzip/unzip.js +1 -1
- package/dist/safe-bash-markdown-engine/commonmark-blocks.d.ts +17 -1
- package/dist/safe-bash-markdown-engine/commonmark-blocks.js +3 -3
- package/dist/safe-bash-markdown-engine/commonmark-inlines.d.ts +1 -1
- package/dist/safe-bash-markdown-engine/commonmark-inlines.js +3 -3
- package/dist/safe-bash-markdown-engine/commonmark-syntax.d.ts +5 -0
- package/dist/safe-bash-markdown-engine/commonmark-syntax.js +5 -1
- package/dist/safe-bash-markdown-engine/gfm-syntax.js +2 -2
- package/dist/safe-bash-markdown-engine/index.js +4 -4
- package/dist/safe-bash-zip-engine/index.js +1 -1
- package/dist/safe-bash-zip-engine/zip/repair.js +1 -1
- package/dist/safe-bash-zip-engine/zip/sfx.js +1 -1
- package/dist/safe-bash-zip-engine/zip-format.d.ts +2 -0
- package/dist/safe-bash-zip-engine/zip-format.js +1 -1
- package/package.json +2 -2
- package/third-party/pdf-ast/THIRD_PARTY_NOTICES.md +2 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createArchive,
|
|
3
3
|
manifest
|
|
4
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
4
|
+
} from "../safe-bash/command-chunks/chunk-DLLN3C3Q.js";
|
|
5
5
|
import "../safe-bash/command-chunks/chunk-PYIG32ZI.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-R7ZGDHME.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-43NDRBKY.js";
|
|
8
8
|
import "../safe-bash/command-chunks/chunk-LSYPQ2W5.js";
|
|
9
|
-
import "../safe-bash/command-chunks/chunk-
|
|
9
|
+
import "../safe-bash/command-chunks/chunk-YFMNXPLP.js";
|
|
10
10
|
import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
11
11
|
export {
|
|
12
12
|
createArchive,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
extractionInput,
|
|
3
3
|
readArchive
|
|
4
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
4
|
+
} from "../safe-bash/command-chunks/chunk-3SAYZFMD.js";
|
|
5
5
|
import "../safe-bash/command-chunks/chunk-PYIG32ZI.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-R7ZGDHME.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-43NDRBKY.js";
|
|
8
8
|
import "../safe-bash/command-chunks/chunk-LSYPQ2W5.js";
|
|
9
|
-
import "../safe-bash/command-chunks/chunk-
|
|
9
|
+
import "../safe-bash/command-chunks/chunk-YFMNXPLP.js";
|
|
10
10
|
import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
11
11
|
export {
|
|
12
12
|
extractionInput,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareArchive,
|
|
3
3
|
mutateArchive
|
|
4
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
4
|
+
} from "../safe-bash/command-chunks/chunk-CPKVUB7S.js";
|
|
5
5
|
import {
|
|
6
6
|
createArchive,
|
|
7
7
|
manifest
|
|
8
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
8
|
+
} from "../safe-bash/command-chunks/chunk-DLLN3C3Q.js";
|
|
9
9
|
import {
|
|
10
10
|
extractionInput,
|
|
11
11
|
readArchive
|
|
12
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
12
|
+
} from "../safe-bash/command-chunks/chunk-3SAYZFMD.js";
|
|
13
13
|
import {
|
|
14
14
|
quoteName
|
|
15
15
|
} from "../safe-bash/command-chunks/chunk-PYIG32ZI.js";
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
applyPax,
|
|
27
27
|
parseHeader,
|
|
28
28
|
parsePax
|
|
29
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
29
|
+
} from "../safe-bash/command-chunks/chunk-YFMNXPLP.js";
|
|
30
30
|
import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
31
31
|
|
|
32
32
|
// packages/safe-bash-command-tar/src/index.ts
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareArchive,
|
|
3
3
|
mutateArchive
|
|
4
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
5
|
-
import "../safe-bash/command-chunks/chunk-
|
|
6
|
-
import "../safe-bash/command-chunks/chunk-
|
|
4
|
+
} from "../safe-bash/command-chunks/chunk-CPKVUB7S.js";
|
|
5
|
+
import "../safe-bash/command-chunks/chunk-DLLN3C3Q.js";
|
|
6
|
+
import "../safe-bash/command-chunks/chunk-3SAYZFMD.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-PYIG32ZI.js";
|
|
8
8
|
import "../safe-bash/command-chunks/chunk-R7ZGDHME.js";
|
|
9
9
|
import "../safe-bash/command-chunks/chunk-43NDRBKY.js";
|
|
10
10
|
import "../safe-bash/command-chunks/chunk-LSYPQ2W5.js";
|
|
11
|
-
import "../safe-bash/command-chunks/chunk-
|
|
11
|
+
import "../safe-bash/command-chunks/chunk-YFMNXPLP.js";
|
|
12
12
|
import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
13
13
|
export {
|
|
14
14
|
compareArchive,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createUnzipCommand
|
|
3
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-DM5T5D2K.js";
|
|
4
4
|
import "../safe-bash/command-chunks/chunk-CVV7ZVV2.js";
|
|
5
5
|
import "../safe-bash/command-chunks/chunk-ILPEPT7O.js";
|
|
6
6
|
import {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createUnzipCommand
|
|
3
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-DM5T5D2K.js";
|
|
4
4
|
import "../safe-bash/command-chunks/chunk-CVV7ZVV2.js";
|
|
5
5
|
import "../safe-bash/command-chunks/chunk-ILPEPT7O.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AdapterContext } from "./types.js";
|
|
2
|
-
import type { Alignment } from "./ast-types.js";
|
|
2
|
+
import type { Alignment, Attr } from "./ast-types.js";
|
|
3
3
|
export interface BlockPoint {
|
|
4
4
|
line: number;
|
|
5
5
|
column: number;
|
|
@@ -20,7 +20,22 @@ export interface PendingItem {
|
|
|
20
20
|
blocks: PendingBlock[];
|
|
21
21
|
source: BlockSource;
|
|
22
22
|
}
|
|
23
|
+
export interface PendingDefinition extends PendingItem {
|
|
24
|
+
tight: boolean;
|
|
25
|
+
}
|
|
23
26
|
export type PendingBlock = {
|
|
27
|
+
kind: "div";
|
|
28
|
+
attributes: Attr;
|
|
29
|
+
blocks: PendingBlock[];
|
|
30
|
+
source: BlockSource;
|
|
31
|
+
} | {
|
|
32
|
+
kind: "definitionList";
|
|
33
|
+
items: {
|
|
34
|
+
term: PendingInline;
|
|
35
|
+
definitions: PendingDefinition[];
|
|
36
|
+
}[];
|
|
37
|
+
source: BlockSource;
|
|
38
|
+
} | {
|
|
24
39
|
kind: "footnote";
|
|
25
40
|
label: string;
|
|
26
41
|
blocks: PendingBlock[];
|
|
@@ -60,6 +75,7 @@ export type PendingBlock = {
|
|
|
60
75
|
kind: "list";
|
|
61
76
|
start: number | null;
|
|
62
77
|
marker: string;
|
|
78
|
+
style?: "LowerRoman" | "UpperRoman" | undefined;
|
|
63
79
|
tight: boolean;
|
|
64
80
|
items: PendingItem[];
|
|
65
81
|
source: BlockSource;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseCommonMarkBlocks
|
|
3
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
4
|
-
import "../safe-bash/command-chunks/chunk-
|
|
5
|
-
import "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-LMYQMJYY.js";
|
|
4
|
+
import "../safe-bash/command-chunks/chunk-N52AHO6S.js";
|
|
5
|
+
import "../safe-bash/command-chunks/chunk-AAOPVEPF.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-L37TGNT3.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-C5OMNOKM.js";
|
|
8
8
|
import "../safe-bash/command-chunks/chunk-DEALEPGE.js";
|
|
@@ -4,4 +4,4 @@ import type { AdapterContext } from "./types.js";
|
|
|
4
4
|
/** Linked delimiter/bracket algorithm. Every scan charges work; all retained
|
|
5
5
|
* stacks, nodes and strings reserve capacity, and AST nesting is bounded before
|
|
6
6
|
* recursive materialization. Definitions have already been discovered globally. */
|
|
7
|
-
export declare function parseCommonMarkInlines(pending: PendingInline, definitions: readonly BlockDefinition[], context: AdapterContext, extensions?: Readonly<Record<string, boolean
|
|
7
|
+
export declare function parseCommonMarkInlines(pending: PendingInline, definitions: readonly BlockDefinition[], context: AdapterContext, extensions?: Readonly<Record<string, boolean>>, footnote?: (label: string) => Promise<Inline | undefined>): Promise<Inline[]>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseCommonMarkInlines
|
|
3
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
4
|
-
import "../safe-bash/command-chunks/chunk-
|
|
5
|
-
import "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-X3WNWRVT.js";
|
|
4
|
+
import "../safe-bash/command-chunks/chunk-N52AHO6S.js";
|
|
5
|
+
import "../safe-bash/command-chunks/chunk-AAOPVEPF.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-L37TGNT3.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-C5OMNOKM.js";
|
|
8
8
|
import "../safe-bash/command-chunks/chunk-DEALEPGE.js";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Attr } from "./ast-types.js";
|
|
1
2
|
import type { AdapterContext } from "./types.js";
|
|
2
3
|
export declare function asciiPunctuation(char: string | undefined): boolean;
|
|
3
4
|
export declare function whitespace(char: string | undefined): boolean;
|
|
@@ -24,3 +25,7 @@ export declare function readTitle(text: string, start: number, context: AdapterC
|
|
|
24
25
|
value: string;
|
|
25
26
|
end: number;
|
|
26
27
|
} | undefined;
|
|
28
|
+
/** Parse a canonical Roman numeral, bounded to the conventional 1–3999 range. */
|
|
29
|
+
export declare function romanListNumber(label: string): number | undefined;
|
|
30
|
+
/** Attributes on a Pandoc fenced-div opener, including its bare-class form. */
|
|
31
|
+
export declare function fencedDivAttributes(text: string, context: AdapterContext): Attr | undefined;
|
|
@@ -3,14 +3,16 @@ import {
|
|
|
3
3
|
decodeSyntax,
|
|
4
4
|
digit,
|
|
5
5
|
entity,
|
|
6
|
+
fencedDivAttributes,
|
|
6
7
|
letter,
|
|
7
8
|
normalizeLabel,
|
|
8
9
|
normalizeUri,
|
|
9
10
|
readDestination,
|
|
10
11
|
readLabel,
|
|
11
12
|
readTitle,
|
|
13
|
+
romanListNumber,
|
|
12
14
|
whitespace
|
|
13
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
15
|
+
} from "../safe-bash/command-chunks/chunk-AAOPVEPF.js";
|
|
14
16
|
import "../safe-bash/command-chunks/chunk-L37TGNT3.js";
|
|
15
17
|
import "../safe-bash/command-chunks/chunk-DEALEPGE.js";
|
|
16
18
|
import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
@@ -19,11 +21,13 @@ export {
|
|
|
19
21
|
decodeSyntax,
|
|
20
22
|
digit,
|
|
21
23
|
entity,
|
|
24
|
+
fencedDivAttributes,
|
|
22
25
|
letter,
|
|
23
26
|
normalizeLabel,
|
|
24
27
|
normalizeUri,
|
|
25
28
|
readDestination,
|
|
26
29
|
readLabel,
|
|
27
30
|
readTitle,
|
|
31
|
+
romanListNumber,
|
|
28
32
|
whitespace
|
|
29
33
|
};
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
bareAutolink,
|
|
3
3
|
filterGfmHtml,
|
|
4
4
|
pipeRow
|
|
5
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
6
|
-
import "../safe-bash/command-chunks/chunk-
|
|
5
|
+
} from "../safe-bash/command-chunks/chunk-N52AHO6S.js";
|
|
6
|
+
import "../safe-bash/command-chunks/chunk-AAOPVEPF.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-L37TGNT3.js";
|
|
8
8
|
import "../safe-bash/command-chunks/chunk-C5OMNOKM.js";
|
|
9
9
|
import "../safe-bash/command-chunks/chunk-DEALEPGE.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseCommonMarkInlines
|
|
3
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-X3WNWRVT.js";
|
|
4
4
|
import {
|
|
5
5
|
parseCommonMarkBlocks
|
|
6
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
7
|
-
import "../safe-bash/command-chunks/chunk-
|
|
8
|
-
import "../safe-bash/command-chunks/chunk-
|
|
6
|
+
} from "../safe-bash/command-chunks/chunk-LMYQMJYY.js";
|
|
7
|
+
import "../safe-bash/command-chunks/chunk-N52AHO6S.js";
|
|
8
|
+
import "../safe-bash/command-chunks/chunk-AAOPVEPF.js";
|
|
9
9
|
import "../safe-bash/command-chunks/chunk-L37TGNT3.js";
|
|
10
10
|
import "../safe-bash/command-chunks/chunk-C5OMNOKM.js";
|
|
11
11
|
import "../safe-bash/command-chunks/chunk-DEALEPGE.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
streamZipArchive,
|
|
10
10
|
updateZipExtras,
|
|
11
11
|
writeZipArchive
|
|
12
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
12
|
+
} from "../safe-bash/command-chunks/chunk-G7HQYFIU.js";
|
|
13
13
|
import "../safe-bash/command-chunks/chunk-FVQFB7OD.js";
|
|
14
14
|
import "../safe-bash/command-chunks/chunk-3I3PD6VU.js";
|
|
15
15
|
import "../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
decodeZipEntry,
|
|
3
3
|
readZipArchive,
|
|
4
4
|
readZipIndexedArchive
|
|
5
|
-
} from "../../safe-bash/command-chunks/chunk-
|
|
5
|
+
} from "../../safe-bash/command-chunks/chunk-G7HQYFIU.js";
|
|
6
6
|
import {
|
|
7
7
|
ZipRanges
|
|
8
8
|
} from "../../safe-bash/command-chunks/chunk-FVQFB7OD.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
streamZipArchive,
|
|
10
10
|
updateZipExtras,
|
|
11
11
|
writeZipArchive
|
|
12
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
12
|
+
} from "../safe-bash/command-chunks/chunk-G7HQYFIU.js";
|
|
13
13
|
import "../safe-bash/command-chunks/chunk-FVQFB7OD.js";
|
|
14
14
|
import "../safe-bash/command-chunks/chunk-3I3PD6VU.js";
|
|
15
15
|
import "../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poe-platform/safe-bash",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.840",
|
|
4
4
|
"description": "Extensible virtual shell with pluggable filesystems and streaming commands",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -1415,7 +1415,7 @@
|
|
|
1415
1415
|
"access": "public"
|
|
1416
1416
|
},
|
|
1417
1417
|
"dependencies": {
|
|
1418
|
-
"@poe-platform/safe-fs": "0.1.
|
|
1418
|
+
"@poe-platform/safe-fs": "0.1.840",
|
|
1419
1419
|
"pdf-lib": "1.17.1",
|
|
1420
1420
|
"@types/node": "^25.2.2",
|
|
1421
1421
|
"@formatjs/intl-numberformat": "9.4.0",
|
|
@@ -317,6 +317,8 @@ The vendor script replaces `Map.getOrInsertComputed` with ordinary Map operation
|
|
|
317
317
|
and `Math.sumPrecise` with exact integer addition over sixteen bytes for Node 22
|
|
318
318
|
and ES2022 compatibility; it does not modify globals. The R5/R6 password hash
|
|
319
319
|
adapter in `src/cos/security.ts` uses PDF.js's PDF17/PDF20 implementation.
|
|
320
|
+
Local inspection additions retain the authenticated password identity and recovered
|
|
321
|
+
user-password bytes, and check whether a user password also matches the owner.
|
|
320
322
|
The AES256 length cases in `src/cos/security-writer.test.ts` are adapted from
|
|
321
323
|
PDF.js `test/unit/crypto_spec.js`, with independent Node AES validation.
|
|
322
324
|
|