@embedpdf/engines 1.0.7 → 1.0.9
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/index.cjs +405 -258
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +101 -56
- package/dist/index.js +406 -259
- package/dist/index.js.map +1 -1
- package/dist/pdfium-direct-engine.cjs +379 -232
- package/dist/pdfium-direct-engine.cjs.map +1 -1
- package/dist/pdfium-direct-engine.d.ts +95 -50
- package/dist/pdfium-direct-engine.js +380 -233
- package/dist/pdfium-direct-engine.js.map +1 -1
- package/dist/pdfium-worker-engine.cjs +21 -21
- package/dist/pdfium-worker-engine.cjs.map +1 -1
- package/dist/pdfium-worker-engine.d.ts +7 -7
- package/dist/pdfium-worker-engine.js +21 -21
- package/dist/pdfium-worker-engine.js.map +1 -1
- package/dist/pdfium.cjs +382 -235
- package/dist/pdfium.cjs.map +1 -1
- package/dist/pdfium.d.ts +95 -50
- package/dist/pdfium.js +383 -236
- package/dist/pdfium.js.map +1 -1
- package/dist/preact.cjs +5 -3
- package/dist/preact.cjs.map +1 -1
- package/dist/preact.d.ts +4 -3
- package/dist/preact.js +5 -3
- package/dist/preact.js.map +1 -1
- package/dist/react.cjs +5 -3
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.ts +4 -3
- package/dist/react.js +5 -3
- package/dist/react.js.map +1 -1
- package/dist/worker.cjs +20 -20
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.ts +7 -7
- package/dist/worker.js +20 -20
- package/dist/worker.js.map +1 -1
- package/package.json +3 -3
package/dist/preact.cjs
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var hooks = require('preact/hooks');
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const defaultWasmUrl = `https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@1.0.9/dist/pdfium.wasm`;
|
|
6
|
+
function usePdfiumEngine(config) {
|
|
7
|
+
const { wasmUrl = defaultWasmUrl, worker = true, logger } = config ?? {};
|
|
6
8
|
const [engine, setEngine] = hooks.useState(null);
|
|
7
9
|
const [loading, setLoading] = hooks.useState(true);
|
|
8
10
|
const [error, setError] = hooks.useState(null);
|
|
@@ -14,7 +16,7 @@ function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
|
14
16
|
const { createPdfiumEngine } = worker
|
|
15
17
|
? await import('@embedpdf/engines/pdfium-worker-engine')
|
|
16
18
|
: await import('@embedpdf/engines/pdfium-direct-engine');
|
|
17
|
-
const pdfEngine = await createPdfiumEngine(wasmUrl);
|
|
19
|
+
const pdfEngine = await createPdfiumEngine(wasmUrl, logger);
|
|
18
20
|
engineRef.current = pdfEngine;
|
|
19
21
|
setEngine(pdfEngine);
|
|
20
22
|
setLoading(false);
|
|
@@ -31,7 +33,7 @@ function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
|
31
33
|
engineRef.current?.destroy();
|
|
32
34
|
engineRef.current = null;
|
|
33
35
|
};
|
|
34
|
-
}, [wasmUrl, worker]);
|
|
36
|
+
}, [wasmUrl, worker, logger]);
|
|
35
37
|
return { engine, isLoading: loading, error };
|
|
36
38
|
}
|
|
37
39
|
|
package/dist/preact.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preact.cjs","sources":["../src/preact/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'preact/hooks';\nimport { PdfEngine } from '@embedpdf/models';\n\ninterface UsePdfiumEngineProps {\n wasmUrl
|
|
1
|
+
{"version":3,"file":"preact.cjs","sources":["../src/preact/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'preact/hooks';\nimport { Logger, PdfEngine } from '@embedpdf/models';\n\nconst defaultWasmUrl = `https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@__PDFIUM_VERSION__/dist/pdfium.wasm`;\n\ninterface UsePdfiumEngineProps {\n wasmUrl?: string;\n worker?: boolean;\n logger?: Logger;\n}\n\nexport function usePdfiumEngine(config?: UsePdfiumEngineProps) {\n const { wasmUrl = defaultWasmUrl, worker = true, logger } = config ?? {};\n\n const [engine, setEngine] = useState<PdfEngine | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const engineRef = useRef<{ destroy(): void } | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n (async () => {\n try {\n const { createPdfiumEngine } = worker\n ? await import('@embedpdf/engines/pdfium-worker-engine')\n : await import('@embedpdf/engines/pdfium-direct-engine');\n\n const pdfEngine = await createPdfiumEngine(wasmUrl, logger);\n engineRef.current = pdfEngine;\n setEngine(pdfEngine);\n setLoading(false);\n } catch (e) {\n if (!cancelled) {\n setError(e as Error);\n setLoading(false);\n }\n }\n })();\n\n return () => {\n cancelled = true;\n engineRef.current?.destroy();\n engineRef.current = null;\n };\n }, [wasmUrl, worker, logger]);\n\n return { engine, isLoading: loading, error };\n}\n"],"names":["useState","useRef","useEffect"],"mappings":";;;;AAGA,MAAM,cAAc,GAAG,CAAA,oEAAA,CAAA,CAAA;AAQjB,SAAU,eAAe,CAAC,MAA6B,EAAA;AAC3D,IAAA,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAEzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAe,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,SAAS,GAAGC,YAAM,CAA6B,IAAI,CAAC,CAAC;IAE3DC,eAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,YAAW;AACV,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM;AACnC,sBAAE,MAAM,OAAO,wCAAwC,CAAC;AACxD,sBAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC;gBAE3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5D,gBAAA,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,CAAU,CAAC,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnB;aACF;SACF,GAAG,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC;KACH,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C;;;;"}
|
package/dist/preact.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { PdfEngine } from '@embedpdf/models';
|
|
1
|
+
import { PdfEngine, Logger } from '@embedpdf/models';
|
|
2
2
|
|
|
3
3
|
interface UsePdfiumEngineProps {
|
|
4
|
-
wasmUrl
|
|
4
|
+
wasmUrl?: string;
|
|
5
5
|
worker?: boolean;
|
|
6
|
+
logger?: Logger;
|
|
6
7
|
}
|
|
7
|
-
declare function usePdfiumEngine(
|
|
8
|
+
declare function usePdfiumEngine(config?: UsePdfiumEngineProps): {
|
|
8
9
|
engine: PdfEngine<Blob> | null;
|
|
9
10
|
isLoading: boolean;
|
|
10
11
|
error: Error | null;
|
package/dist/preact.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { useState, useRef, useEffect } from 'preact/hooks';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const defaultWasmUrl = `https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@1.0.9/dist/pdfium.wasm`;
|
|
4
|
+
function usePdfiumEngine(config) {
|
|
5
|
+
const { wasmUrl = defaultWasmUrl, worker = true, logger } = config ?? {};
|
|
4
6
|
const [engine, setEngine] = useState(null);
|
|
5
7
|
const [loading, setLoading] = useState(true);
|
|
6
8
|
const [error, setError] = useState(null);
|
|
@@ -12,7 +14,7 @@ function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
|
12
14
|
const { createPdfiumEngine } = worker
|
|
13
15
|
? await import('@embedpdf/engines/pdfium-worker-engine')
|
|
14
16
|
: await import('@embedpdf/engines/pdfium-direct-engine');
|
|
15
|
-
const pdfEngine = await createPdfiumEngine(wasmUrl);
|
|
17
|
+
const pdfEngine = await createPdfiumEngine(wasmUrl, logger);
|
|
16
18
|
engineRef.current = pdfEngine;
|
|
17
19
|
setEngine(pdfEngine);
|
|
18
20
|
setLoading(false);
|
|
@@ -29,7 +31,7 @@ function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
|
29
31
|
engineRef.current?.destroy();
|
|
30
32
|
engineRef.current = null;
|
|
31
33
|
};
|
|
32
|
-
}, [wasmUrl, worker]);
|
|
34
|
+
}, [wasmUrl, worker, logger]);
|
|
33
35
|
return { engine, isLoading: loading, error };
|
|
34
36
|
}
|
|
35
37
|
|
package/dist/preact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preact.js","sources":["../src/preact/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'preact/hooks';\nimport { PdfEngine } from '@embedpdf/models';\n\ninterface UsePdfiumEngineProps {\n wasmUrl
|
|
1
|
+
{"version":3,"file":"preact.js","sources":["../src/preact/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'preact/hooks';\nimport { Logger, PdfEngine } from '@embedpdf/models';\n\nconst defaultWasmUrl = `https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@__PDFIUM_VERSION__/dist/pdfium.wasm`;\n\ninterface UsePdfiumEngineProps {\n wasmUrl?: string;\n worker?: boolean;\n logger?: Logger;\n}\n\nexport function usePdfiumEngine(config?: UsePdfiumEngineProps) {\n const { wasmUrl = defaultWasmUrl, worker = true, logger } = config ?? {};\n\n const [engine, setEngine] = useState<PdfEngine | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const engineRef = useRef<{ destroy(): void } | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n (async () => {\n try {\n const { createPdfiumEngine } = worker\n ? await import('@embedpdf/engines/pdfium-worker-engine')\n : await import('@embedpdf/engines/pdfium-direct-engine');\n\n const pdfEngine = await createPdfiumEngine(wasmUrl, logger);\n engineRef.current = pdfEngine;\n setEngine(pdfEngine);\n setLoading(false);\n } catch (e) {\n if (!cancelled) {\n setError(e as Error);\n setLoading(false);\n }\n }\n })();\n\n return () => {\n cancelled = true;\n engineRef.current?.destroy();\n engineRef.current = null;\n };\n }, [wasmUrl, worker, logger]);\n\n return { engine, isLoading: loading, error };\n}\n"],"names":[],"mappings":";;AAGA,MAAM,cAAc,GAAG,CAAA,oEAAA,CAAA,CAAA;AAQjB,SAAU,eAAe,CAAC,MAA6B,EAAA;AAC3D,IAAA,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAEzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,SAAS,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAE3D,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,YAAW;AACV,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM;AACnC,sBAAE,MAAM,OAAO,wCAAwC,CAAC;AACxD,sBAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC;gBAE3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5D,gBAAA,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,CAAU,CAAC,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnB;aACF;SACF,GAAG,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC;KACH,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C;;;;"}
|
package/dist/react.cjs
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var react = require('react');
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const defaultWasmUrl = `https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@1.0.9/dist/pdfium.wasm`;
|
|
6
|
+
function usePdfiumEngine(config) {
|
|
7
|
+
const { wasmUrl = defaultWasmUrl, worker = true, logger } = config ?? {};
|
|
6
8
|
const [engine, setEngine] = react.useState(null);
|
|
7
9
|
const [loading, setLoading] = react.useState(true);
|
|
8
10
|
const [error, setError] = react.useState(null);
|
|
@@ -14,7 +16,7 @@ function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
|
14
16
|
const { createPdfiumEngine } = worker
|
|
15
17
|
? await import('@embedpdf/engines/pdfium-worker-engine')
|
|
16
18
|
: await import('@embedpdf/engines/pdfium-direct-engine');
|
|
17
|
-
const pdfEngine = await createPdfiumEngine(wasmUrl);
|
|
19
|
+
const pdfEngine = await createPdfiumEngine(wasmUrl, logger);
|
|
18
20
|
engineRef.current = pdfEngine;
|
|
19
21
|
setEngine(pdfEngine);
|
|
20
22
|
setLoading(false);
|
|
@@ -31,7 +33,7 @@ function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
|
31
33
|
engineRef.current?.destroy();
|
|
32
34
|
engineRef.current = null;
|
|
33
35
|
};
|
|
34
|
-
}, [wasmUrl, worker]);
|
|
36
|
+
}, [wasmUrl, worker, logger]);
|
|
35
37
|
return { engine, isLoading: loading, error };
|
|
36
38
|
}
|
|
37
39
|
|
package/dist/react.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.cjs","sources":["../src/react/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { PdfEngine } from '@embedpdf/models';\n\ninterface UsePdfiumEngineProps {\n wasmUrl
|
|
1
|
+
{"version":3,"file":"react.cjs","sources":["../src/react/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { Logger, PdfEngine } from '@embedpdf/models';\n\nconst defaultWasmUrl = `https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@__PDFIUM_VERSION__/dist/pdfium.wasm`;\n\ninterface UsePdfiumEngineProps {\n wasmUrl?: string;\n worker?: boolean;\n logger?: Logger;\n}\n\nexport function usePdfiumEngine(config?: UsePdfiumEngineProps) {\n const { wasmUrl = defaultWasmUrl, worker = true, logger } = config ?? {};\n\n const [engine, setEngine] = useState<PdfEngine | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const engineRef = useRef<{ destroy(): void } | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n (async () => {\n try {\n const { createPdfiumEngine } = worker\n ? await import('@embedpdf/engines/pdfium-worker-engine')\n : await import('@embedpdf/engines/pdfium-direct-engine');\n\n const pdfEngine = await createPdfiumEngine(wasmUrl, logger);\n engineRef.current = pdfEngine;\n setEngine(pdfEngine);\n setLoading(false);\n } catch (e) {\n if (!cancelled) {\n setError(e as Error);\n setLoading(false);\n }\n }\n })();\n\n return () => {\n cancelled = true;\n engineRef.current?.destroy();\n engineRef.current = null;\n };\n }, [wasmUrl, worker, logger]);\n\n return { engine, isLoading: loading, error };\n}\n"],"names":["useState","useRef","useEffect"],"mappings":";;;;AAGA,MAAM,cAAc,GAAG,CAAA,oEAAA,CAAA,CAAA;AAQjB,SAAU,eAAe,CAAC,MAA6B,EAAA;AAC3D,IAAA,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAEzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAe,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,SAAS,GAAGC,YAAM,CAA6B,IAAI,CAAC,CAAC;IAE3DC,eAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,YAAW;AACV,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM;AACnC,sBAAE,MAAM,OAAO,wCAAwC,CAAC;AACxD,sBAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC;gBAE3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5D,gBAAA,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,CAAU,CAAC,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnB;aACF;SACF,GAAG,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC;KACH,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C;;;;"}
|
package/dist/react.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { PdfEngine } from '@embedpdf/models';
|
|
1
|
+
import { PdfEngine, Logger } from '@embedpdf/models';
|
|
2
2
|
|
|
3
3
|
interface UsePdfiumEngineProps {
|
|
4
|
-
wasmUrl
|
|
4
|
+
wasmUrl?: string;
|
|
5
5
|
worker?: boolean;
|
|
6
|
+
logger?: Logger;
|
|
6
7
|
}
|
|
7
|
-
declare function usePdfiumEngine(
|
|
8
|
+
declare function usePdfiumEngine(config?: UsePdfiumEngineProps): {
|
|
8
9
|
engine: PdfEngine<Blob> | null;
|
|
9
10
|
isLoading: boolean;
|
|
10
11
|
error: Error | null;
|
package/dist/react.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { useState, useRef, useEffect } from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const defaultWasmUrl = `https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@1.0.9/dist/pdfium.wasm`;
|
|
4
|
+
function usePdfiumEngine(config) {
|
|
5
|
+
const { wasmUrl = defaultWasmUrl, worker = true, logger } = config ?? {};
|
|
4
6
|
const [engine, setEngine] = useState(null);
|
|
5
7
|
const [loading, setLoading] = useState(true);
|
|
6
8
|
const [error, setError] = useState(null);
|
|
@@ -12,7 +14,7 @@ function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
|
12
14
|
const { createPdfiumEngine } = worker
|
|
13
15
|
? await import('@embedpdf/engines/pdfium-worker-engine')
|
|
14
16
|
: await import('@embedpdf/engines/pdfium-direct-engine');
|
|
15
|
-
const pdfEngine = await createPdfiumEngine(wasmUrl);
|
|
17
|
+
const pdfEngine = await createPdfiumEngine(wasmUrl, logger);
|
|
16
18
|
engineRef.current = pdfEngine;
|
|
17
19
|
setEngine(pdfEngine);
|
|
18
20
|
setLoading(false);
|
|
@@ -29,7 +31,7 @@ function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
|
29
31
|
engineRef.current?.destroy();
|
|
30
32
|
engineRef.current = null;
|
|
31
33
|
};
|
|
32
|
-
}, [wasmUrl, worker]);
|
|
34
|
+
}, [wasmUrl, worker, logger]);
|
|
33
35
|
return { engine, isLoading: loading, error };
|
|
34
36
|
}
|
|
35
37
|
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sources":["../src/react/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { PdfEngine } from '@embedpdf/models';\n\ninterface UsePdfiumEngineProps {\n wasmUrl
|
|
1
|
+
{"version":3,"file":"react.js","sources":["../src/react/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { Logger, PdfEngine } from '@embedpdf/models';\n\nconst defaultWasmUrl = `https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@__PDFIUM_VERSION__/dist/pdfium.wasm`;\n\ninterface UsePdfiumEngineProps {\n wasmUrl?: string;\n worker?: boolean;\n logger?: Logger;\n}\n\nexport function usePdfiumEngine(config?: UsePdfiumEngineProps) {\n const { wasmUrl = defaultWasmUrl, worker = true, logger } = config ?? {};\n\n const [engine, setEngine] = useState<PdfEngine | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const engineRef = useRef<{ destroy(): void } | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n (async () => {\n try {\n const { createPdfiumEngine } = worker\n ? await import('@embedpdf/engines/pdfium-worker-engine')\n : await import('@embedpdf/engines/pdfium-direct-engine');\n\n const pdfEngine = await createPdfiumEngine(wasmUrl, logger);\n engineRef.current = pdfEngine;\n setEngine(pdfEngine);\n setLoading(false);\n } catch (e) {\n if (!cancelled) {\n setError(e as Error);\n setLoading(false);\n }\n }\n })();\n\n return () => {\n cancelled = true;\n engineRef.current?.destroy();\n engineRef.current = null;\n };\n }, [wasmUrl, worker, logger]);\n\n return { engine, isLoading: loading, error };\n}\n"],"names":[],"mappings":";;AAGA,MAAM,cAAc,GAAG,CAAA,oEAAA,CAAA,CAAA;AAQjB,SAAU,eAAe,CAAC,MAA6B,EAAA;AAC3D,IAAA,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAEzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,SAAS,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAE3D,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,YAAW;AACV,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM;AACnC,sBAAE,MAAM,OAAO,wCAAwC,CAAC;AACxD,sBAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC;gBAE3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5D,gBAAA,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,CAAU,CAAC,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnB;aACF;SACF,GAAG,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC;KACH,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C;;;;"}
|
package/dist/worker.cjs
CHANGED
|
@@ -367,6 +367,26 @@ class WebWorkerEngine {
|
|
|
367
367
|
this.proxy(task, request);
|
|
368
368
|
return task;
|
|
369
369
|
}
|
|
370
|
+
/**
|
|
371
|
+
* {@inheritDoc @embedpdf/models!PdfEngine.renderAnnotation}
|
|
372
|
+
*
|
|
373
|
+
* @public
|
|
374
|
+
*/
|
|
375
|
+
renderAnnotation(doc, page, annotation, scaleFactor, rotation, dpr, mode, imageType) {
|
|
376
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'renderAnnotation', doc, page, annotation, scaleFactor, rotation, dpr, mode, imageType);
|
|
377
|
+
const requestId = this.generateRequestId(doc.id);
|
|
378
|
+
const task = new WorkerTask(this.worker, requestId);
|
|
379
|
+
const request = {
|
|
380
|
+
id: requestId,
|
|
381
|
+
type: 'ExecuteRequest',
|
|
382
|
+
data: {
|
|
383
|
+
name: 'renderAnnotation',
|
|
384
|
+
args: [doc, page, annotation, scaleFactor, rotation, dpr, mode, imageType],
|
|
385
|
+
},
|
|
386
|
+
};
|
|
387
|
+
this.proxy(task, request);
|
|
388
|
+
return task;
|
|
389
|
+
}
|
|
370
390
|
/**
|
|
371
391
|
* {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}
|
|
372
392
|
*
|
|
@@ -442,26 +462,6 @@ class WebWorkerEngine {
|
|
|
442
462
|
this.proxy(task, request);
|
|
443
463
|
return task;
|
|
444
464
|
}
|
|
445
|
-
/**
|
|
446
|
-
* {@inheritDoc @embedpdf/models!PdfEngine.transformPageAnnotation}
|
|
447
|
-
*
|
|
448
|
-
* @public
|
|
449
|
-
*/
|
|
450
|
-
transformPageAnnotation(doc, page, annotation, transformation) {
|
|
451
|
-
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'transformPageAnnotation', doc, page, annotation, transformation);
|
|
452
|
-
const requestId = this.generateRequestId(doc.id);
|
|
453
|
-
const task = new WorkerTask(this.worker, requestId);
|
|
454
|
-
const request = {
|
|
455
|
-
id: requestId,
|
|
456
|
-
type: 'ExecuteRequest',
|
|
457
|
-
data: {
|
|
458
|
-
name: 'transformPageAnnotation',
|
|
459
|
-
args: [doc, page, annotation, transformation],
|
|
460
|
-
},
|
|
461
|
-
};
|
|
462
|
-
this.proxy(task, request);
|
|
463
|
-
return task;
|
|
464
|
-
}
|
|
465
465
|
/**
|
|
466
466
|
* {@inheritDoc @embedpdf/models!PdfEngine.removePageAnnotation}
|
|
467
467
|
*
|
package/dist/worker.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.cjs","sources":["../src/lib/webworker/engine.ts"],"sourcesContent":["import {\n FormFieldValue,\n PdfAnnotationTransformation,\n PdfAttachmentObject,\n PdfEngineError,\n PdfFile,\n PdfMetadataObject,\n PdfSignatureObject,\n PdfTextRectObject,\n PdfWidgetAnnoObject,\n SearchResult,\n SearchTarget,\n Task,\n Logger,\n NoopLogger,\n PdfAnnotationObject,\n PdfBookmarksObject,\n PdfDocumentObject,\n PdfEngine,\n PdfPageObject,\n Rect,\n Rotation,\n PdfRenderOptions,\n PdfErrorCode,\n PdfErrorReason,\n PdfPageFlattenFlag,\n PdfPageFlattenResult,\n PdfFileLoader,\n SearchAllPagesResult,\n MatchFlag,\n PdfUrlOptions,\n PdfFileUrl,\n PdfGlyphObject,\n PdfPageGeometry,\n ImageConversionTypes,\n PdfAnnotationObjectBase,\n PdfAlphaColor,\n PageTextSlice,\n WebAlphaColor,\n} from '@embedpdf/models';\nimport { ExecuteRequest, Response } from './runner';\n\nconst LOG_SOURCE = 'WebWorkerEngine';\nconst LOG_CATEGORY = 'Engine';\n\n/**\n * Task that executed by webworker\n */\nexport class WorkerTask<R> extends Task<R, PdfErrorReason> {\n /**\n * Create a task that bind to web worker with specified message id\n * @param worker - web worker instance\n * @param messageId - id of message\n *\n * @public\n */\n constructor(\n public worker: Worker,\n private messageId: string,\n ) {\n super();\n }\n\n /**\n * {@inheritDoc @embedpdf/models!Task.abort}\n *\n * @override\n */\n abort(e: PdfErrorReason) {\n super.abort(e);\n\n this.worker.postMessage({\n type: 'AbortRequest',\n data: {\n messageId: this.messageId,\n },\n });\n }\n}\n\n/**\n * PDF engine that runs within webworker\n */\nexport class WebWorkerEngine implements PdfEngine {\n static readyTaskId = '0';\n /**\n * Task that represent the state of preparation\n */\n readyTask: WorkerTask<boolean>;\n /**\n * All the tasks that is executing\n */\n tasks: Map<string, WorkerTask<any>> = new Map();\n\n /**\n * Create an instance of WebWorkerEngine, it will create a worker with\n * specified url.\n * @param worker - webworker instance, this worker needs to contains the running instance of {@link EngineRunner}\n * @param logger - logger instance\n *\n * @public\n */\n constructor(\n private worker: Worker,\n private logger: Logger = new NoopLogger(),\n ) {\n this.worker.addEventListener('message', this.handle);\n\n this.readyTask = new WorkerTask<boolean>(this.worker, WebWorkerEngine.readyTaskId);\n this.tasks.set(WebWorkerEngine.readyTaskId, this.readyTask);\n }\n\n /**\n * Handle event from web worker. There are 2 kinds of event\n * 1. ReadyResponse: web worker is ready\n * 2. ExecuteResponse: result of execution\n * @param evt - message event from web worker\n * @returns\n *\n * @private\n */\n handle = (evt: MessageEvent<any>) => {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'webworker engine start handling message: ',\n evt.data,\n );\n try {\n const response = evt.data as Response;\n const task = this.tasks.get(response.id);\n if (!task) {\n return;\n }\n\n switch (response.type) {\n case 'ReadyResponse':\n this.readyTask.resolve(true);\n break;\n case 'ExecuteResponse':\n {\n switch (response.data.type) {\n case 'result':\n task.resolve(response.data.value);\n break;\n case 'error':\n task.reject(response.data.value.reason);\n break;\n }\n this.tasks.delete(response.id);\n }\n break;\n }\n } catch (e) {\n this.logger.error(LOG_SOURCE, LOG_CATEGORY, 'webworker met error when handling message: ', e);\n }\n };\n\n /**\n * Generate a unique message id\n * @returns message id\n *\n * @private\n */\n generateRequestId(id: string) {\n return `${id}.${Date.now()}.${Math.random()}`;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.initialize}\n *\n * @public\n */\n initialize() {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'initialize');\n const requestId = this.generateRequestId('General');\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'initialize',\n args: [],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.destroy}\n *\n * @public\n */\n destroy() {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'destroy');\n const requestId = this.generateRequestId('General');\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const finish = () => {\n this.worker.removeEventListener('message', this.handle);\n this.worker.terminate();\n };\n\n task.wait(finish, finish);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'destroy',\n args: [],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocumentUrl}\n *\n * @public\n */\n openDocumentUrl(file: PdfFileUrl, options?: PdfUrlOptions) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentUrl', file.url, options);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'openDocumentUrl',\n args: [file, options],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocument}\n *\n * @public\n */\n openDocumentFromBuffer(file: PdfFile, password: string) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentFromBuffer', file, password);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'openDocumentFromBuffer',\n args: [file, password],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocumentFromLoader}\n *\n * @public\n */\n openDocumentFromLoader(file: PdfFileLoader, password: string) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentFromLoader', file, password);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'openDocumentFromLoader',\n args: [file, password],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getMetadata}\n *\n * @public\n */\n getMetadata(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getMetadata', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfMetadataObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getMetadata',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n updateAnnotationColor(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObjectBase,\n color: WebAlphaColor,\n which: number = 0,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'setAnnotationColor', doc, page, annotation, color);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'updateAnnotationColor',\n args: [doc, page, annotation, color, which],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getDocPermissions}\n *\n * @public\n */\n getDocPermissions(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getDocPermissions', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getDocPermissions',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getDocUserPermissions}\n *\n * @public\n */\n getDocUserPermissions(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getDocUserPermissions', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getDocUserPermissions',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getBookmarks}\n *\n * @public\n */\n getBookmarks(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getBookmarks', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfBookmarksObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getBookmarks',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getSignatures}\n *\n * @public\n */\n getSignatures(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getSignatures', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfSignatureObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getSignatures',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderPage}\n *\n * @public\n */\n renderPage(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n options: PdfRenderOptions,\n imageType: ImageConversionTypes = 'image/webp',\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderPage',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n options,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'renderPage',\n args: [doc, page, scaleFactor, rotation, dpr, options, imageType],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}\n *\n * @public\n */\n renderPageRect(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n rect: Rect,\n options: PdfRenderOptions,\n imageType: ImageConversionTypes = 'image/webp',\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderPageRect',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n rect,\n options,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'renderPageRect',\n args: [doc, page, scaleFactor, rotation, dpr, rect, options, imageType],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}\n *\n * @public\n */\n getAllAnnotations(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getAllAnnotations', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Record<number, PdfAnnotationObject[]>>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getAllAnnotations',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageAnnotations}\n *\n * @public\n */\n getPageAnnotations(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageAnnotations', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfAnnotationObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getPageAnnotations',\n args: [doc, page],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.createPageAnnotation}\n *\n * @public\n */\n createPageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'createPageAnnotations', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'createPageAnnotation',\n args: [doc, page, annotation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n updatePageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'updatePageAnnotation', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'updatePageAnnotation',\n args: [doc, page, annotation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.transformPageAnnotation}\n *\n * @public\n */\n transformPageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n transformation: PdfAnnotationTransformation,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'transformPageAnnotation',\n doc,\n page,\n annotation,\n transformation,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'transformPageAnnotation',\n args: [doc, page, annotation, transformation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.removePageAnnotation}\n *\n * @public\n */\n removePageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'removePageAnnotations', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'removePageAnnotation',\n args: [doc, page, annotation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageTextRects}\n *\n * @public\n */\n getPageTextRects(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'getPageTextRects',\n doc,\n page,\n scaleFactor,\n rotation,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfTextRectObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getPageTextRects',\n args: [doc, page, scaleFactor, rotation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderThumbnail}\n *\n * @public\n */\n renderThumbnail(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderThumbnail',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'renderThumbnail',\n args: [doc, page, scaleFactor, rotation, dpr],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.searchAllPages}\n *\n * @public\n */\n searchAllPages(doc: PdfDocumentObject, keyword: string, flags: MatchFlag[] = []) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'searchAllPages 123', doc, keyword, flags);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<SearchAllPagesResult>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'searchAllPages',\n args: [doc, keyword, flags],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.saveAsCopy}\n *\n * @public\n */\n saveAsCopy(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'saveAsCopy', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'saveAsCopy',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getAttachments}\n *\n * @public\n */\n getAttachments(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getAttachments', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfAttachmentObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getAttachments',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.readAttachmentContent}\n *\n * @public\n */\n readAttachmentContent(doc: PdfDocumentObject, attachment: PdfAttachmentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'readAttachmentContent', doc, attachment);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'readAttachmentContent',\n args: [doc, attachment],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.setFormFieldValue}\n *\n * @public\n */\n setFormFieldValue(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfWidgetAnnoObject,\n value: FormFieldValue,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'setFormFieldValue', doc, annotation, value);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'setFormFieldValue',\n args: [doc, page, annotation, value],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.flattenPage}\n *\n * @public\n */\n flattenPage(doc: PdfDocumentObject, page: PdfPageObject, flag: PdfPageFlattenFlag) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'flattenPage', doc, page, flag);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfPageFlattenResult>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'flattenPage',\n args: [doc, page, flag],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.extractPages}\n *\n * @public\n */\n extractPages(doc: PdfDocumentObject, pageIndexes: number[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'extractPages', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'extractPages',\n args: [doc, pageIndexes],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.extractText}\n *\n * @public\n */\n extractText(doc: PdfDocumentObject, pageIndexes: number[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'extractText', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'extractText',\n args: [doc, pageIndexes],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getTextSlices}\n *\n * @public\n */\n getTextSlices(doc: PdfDocumentObject, slices: PageTextSlice[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getTextSlices', doc, slices);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getTextSlices',\n args: [doc, slices],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageGlyphs}\n *\n * @public\n */\n getPageGlyphs(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageGlyphs', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfGlyphObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getPageGlyphs',\n args: [doc, page],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageGeometry}\n *\n * @public\n */\n getPageGeometry(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageGeometry', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfPageGeometry>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getPageGeometry',\n args: [doc, page],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.merge}\n *\n * @public\n */\n merge(files: PdfFile[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'merge', files);\n const fileIds = files.map((file) => file.id).join('.');\n const requestId = this.generateRequestId(fileIds);\n const task = new WorkerTask<PdfFile>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'merge',\n args: [files],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.mergePages}\n *\n * @public\n */\n mergePages(mergeConfigs: Array<{ docId: string; pageIndices: number[] }>) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'mergePages', mergeConfigs);\n const requestId = this.generateRequestId(mergeConfigs.map((config) => config.docId).join('.'));\n const task = new WorkerTask<PdfFile>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'mergePages',\n args: [mergeConfigs],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.closeDocument}\n *\n * @public\n */\n closeDocument(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'closeDocument', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'closeDocument',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * Send the request to webworker inside and register the task\n * @param task - task that waiting for the response\n * @param request - request that needs send to web worker\n * @param transferables - transferables that need to transfer to webworker\n * @returns\n *\n * @internal\n */\n proxy<R>(task: WorkerTask<R>, request: ExecuteRequest, transferables: any[] = []) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'send request to worker',\n task,\n request,\n transferables,\n );\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'Begin', request.id);\n this.readyTask.wait(\n () => {\n this.worker.postMessage(request, transferables);\n task.wait(\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n },\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n },\n );\n this.tasks.set(request.id, task);\n },\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n task.reject({\n code: PdfErrorCode.Initialization,\n message: 'worker initialization failed',\n });\n },\n );\n }\n}\n"],"names":["Task","NoopLogger","PdfErrorCode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.cjs","sources":["../src/lib/webworker/engine.ts"],"sourcesContent":["import {\n FormFieldValue,\n PdfAnnotationTransformation,\n PdfAttachmentObject,\n PdfEngineError,\n PdfFile,\n PdfMetadataObject,\n PdfSignatureObject,\n PdfTextRectObject,\n PdfWidgetAnnoObject,\n SearchResult,\n SearchTarget,\n Task,\n Logger,\n NoopLogger,\n PdfAnnotationObject,\n PdfBookmarksObject,\n PdfDocumentObject,\n PdfEngine,\n PdfPageObject,\n Rect,\n Rotation,\n PdfRenderOptions,\n PdfErrorCode,\n PdfErrorReason,\n PdfPageFlattenFlag,\n PdfPageFlattenResult,\n PdfFileLoader,\n SearchAllPagesResult,\n MatchFlag,\n PdfUrlOptions,\n PdfFileUrl,\n PdfGlyphObject,\n PdfPageGeometry,\n ImageConversionTypes,\n PdfAnnotationObjectBase,\n PdfAlphaColor,\n PageTextSlice,\n WebAlphaColor,\n AppearanceMode,\n} from '@embedpdf/models';\nimport { ExecuteRequest, Response } from './runner';\n\nconst LOG_SOURCE = 'WebWorkerEngine';\nconst LOG_CATEGORY = 'Engine';\n\n/**\n * Task that executed by webworker\n */\nexport class WorkerTask<R> extends Task<R, PdfErrorReason> {\n /**\n * Create a task that bind to web worker with specified message id\n * @param worker - web worker instance\n * @param messageId - id of message\n *\n * @public\n */\n constructor(\n public worker: Worker,\n private messageId: string,\n ) {\n super();\n }\n\n /**\n * {@inheritDoc @embedpdf/models!Task.abort}\n *\n * @override\n */\n abort(e: PdfErrorReason) {\n super.abort(e);\n\n this.worker.postMessage({\n type: 'AbortRequest',\n data: {\n messageId: this.messageId,\n },\n });\n }\n}\n\n/**\n * PDF engine that runs within webworker\n */\nexport class WebWorkerEngine implements PdfEngine {\n static readyTaskId = '0';\n /**\n * Task that represent the state of preparation\n */\n readyTask: WorkerTask<boolean>;\n /**\n * All the tasks that is executing\n */\n tasks: Map<string, WorkerTask<any>> = new Map();\n\n /**\n * Create an instance of WebWorkerEngine, it will create a worker with\n * specified url.\n * @param worker - webworker instance, this worker needs to contains the running instance of {@link EngineRunner}\n * @param logger - logger instance\n *\n * @public\n */\n constructor(\n private worker: Worker,\n private logger: Logger = new NoopLogger(),\n ) {\n this.worker.addEventListener('message', this.handle);\n\n this.readyTask = new WorkerTask<boolean>(this.worker, WebWorkerEngine.readyTaskId);\n this.tasks.set(WebWorkerEngine.readyTaskId, this.readyTask);\n }\n\n /**\n * Handle event from web worker. There are 2 kinds of event\n * 1. ReadyResponse: web worker is ready\n * 2. ExecuteResponse: result of execution\n * @param evt - message event from web worker\n * @returns\n *\n * @private\n */\n handle = (evt: MessageEvent<any>) => {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'webworker engine start handling message: ',\n evt.data,\n );\n try {\n const response = evt.data as Response;\n const task = this.tasks.get(response.id);\n if (!task) {\n return;\n }\n\n switch (response.type) {\n case 'ReadyResponse':\n this.readyTask.resolve(true);\n break;\n case 'ExecuteResponse':\n {\n switch (response.data.type) {\n case 'result':\n task.resolve(response.data.value);\n break;\n case 'error':\n task.reject(response.data.value.reason);\n break;\n }\n this.tasks.delete(response.id);\n }\n break;\n }\n } catch (e) {\n this.logger.error(LOG_SOURCE, LOG_CATEGORY, 'webworker met error when handling message: ', e);\n }\n };\n\n /**\n * Generate a unique message id\n * @returns message id\n *\n * @private\n */\n generateRequestId(id: string) {\n return `${id}.${Date.now()}.${Math.random()}`;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.initialize}\n *\n * @public\n */\n initialize() {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'initialize');\n const requestId = this.generateRequestId('General');\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'initialize',\n args: [],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.destroy}\n *\n * @public\n */\n destroy() {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'destroy');\n const requestId = this.generateRequestId('General');\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const finish = () => {\n this.worker.removeEventListener('message', this.handle);\n this.worker.terminate();\n };\n\n task.wait(finish, finish);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'destroy',\n args: [],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocumentUrl}\n *\n * @public\n */\n openDocumentUrl(file: PdfFileUrl, options?: PdfUrlOptions) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentUrl', file.url, options);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'openDocumentUrl',\n args: [file, options],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocument}\n *\n * @public\n */\n openDocumentFromBuffer(file: PdfFile, password: string) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentFromBuffer', file, password);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'openDocumentFromBuffer',\n args: [file, password],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocumentFromLoader}\n *\n * @public\n */\n openDocumentFromLoader(file: PdfFileLoader, password: string) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentFromLoader', file, password);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'openDocumentFromLoader',\n args: [file, password],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getMetadata}\n *\n * @public\n */\n getMetadata(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getMetadata', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfMetadataObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getMetadata',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n updateAnnotationColor(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObjectBase,\n color: WebAlphaColor,\n which: number = 0,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'setAnnotationColor', doc, page, annotation, color);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'updateAnnotationColor',\n args: [doc, page, annotation, color, which],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getDocPermissions}\n *\n * @public\n */\n getDocPermissions(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getDocPermissions', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getDocPermissions',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getDocUserPermissions}\n *\n * @public\n */\n getDocUserPermissions(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getDocUserPermissions', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getDocUserPermissions',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getBookmarks}\n *\n * @public\n */\n getBookmarks(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getBookmarks', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfBookmarksObject>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getBookmarks',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getSignatures}\n *\n * @public\n */\n getSignatures(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getSignatures', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfSignatureObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getSignatures',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderPage}\n *\n * @public\n */\n renderPage(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n options: PdfRenderOptions,\n imageType: ImageConversionTypes = 'image/webp',\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderPage',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n options,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'renderPage',\n args: [doc, page, scaleFactor, rotation, dpr, options, imageType],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}\n *\n * @public\n */\n renderPageRect(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n rect: Rect,\n options: PdfRenderOptions,\n imageType: ImageConversionTypes = 'image/webp',\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderPageRect',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n rect,\n options,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'renderPageRect',\n args: [doc, page, scaleFactor, rotation, dpr, rect, options, imageType],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderAnnotation}\n *\n * @public\n */\n renderAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n mode: AppearanceMode,\n imageType: ImageConversionTypes,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderAnnotation',\n doc,\n page,\n annotation,\n scaleFactor,\n rotation,\n dpr,\n mode,\n imageType,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'renderAnnotation',\n args: [doc, page, annotation, scaleFactor, rotation, dpr, mode, imageType],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}\n *\n * @public\n */\n getAllAnnotations(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getAllAnnotations', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Record<number, PdfAnnotationObject[]>>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getAllAnnotations',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageAnnotations}\n *\n * @public\n */\n getPageAnnotations(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageAnnotations', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfAnnotationObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getPageAnnotations',\n args: [doc, page],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.createPageAnnotation}\n *\n * @public\n */\n createPageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'createPageAnnotations', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'createPageAnnotation',\n args: [doc, page, annotation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n updatePageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'updatePageAnnotation', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'updatePageAnnotation',\n args: [doc, page, annotation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.removePageAnnotation}\n *\n * @public\n */\n removePageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'removePageAnnotations', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'removePageAnnotation',\n args: [doc, page, annotation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageTextRects}\n *\n * @public\n */\n getPageTextRects(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'getPageTextRects',\n doc,\n page,\n scaleFactor,\n rotation,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfTextRectObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getPageTextRects',\n args: [doc, page, scaleFactor, rotation],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderThumbnail}\n *\n * @public\n */\n renderThumbnail(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderThumbnail',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'renderThumbnail',\n args: [doc, page, scaleFactor, rotation, dpr],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.searchAllPages}\n *\n * @public\n */\n searchAllPages(doc: PdfDocumentObject, keyword: string, flags: MatchFlag[] = []) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'searchAllPages 123', doc, keyword, flags);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<SearchAllPagesResult>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'searchAllPages',\n args: [doc, keyword, flags],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.saveAsCopy}\n *\n * @public\n */\n saveAsCopy(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'saveAsCopy', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'saveAsCopy',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getAttachments}\n *\n * @public\n */\n getAttachments(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getAttachments', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfAttachmentObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getAttachments',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.readAttachmentContent}\n *\n * @public\n */\n readAttachmentContent(doc: PdfDocumentObject, attachment: PdfAttachmentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'readAttachmentContent', doc, attachment);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'readAttachmentContent',\n args: [doc, attachment],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.setFormFieldValue}\n *\n * @public\n */\n setFormFieldValue(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfWidgetAnnoObject,\n value: FormFieldValue,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'setFormFieldValue', doc, annotation, value);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'setFormFieldValue',\n args: [doc, page, annotation, value],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.flattenPage}\n *\n * @public\n */\n flattenPage(doc: PdfDocumentObject, page: PdfPageObject, flag: PdfPageFlattenFlag) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'flattenPage', doc, page, flag);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfPageFlattenResult>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'flattenPage',\n args: [doc, page, flag],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.extractPages}\n *\n * @public\n */\n extractPages(doc: PdfDocumentObject, pageIndexes: number[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'extractPages', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'extractPages',\n args: [doc, pageIndexes],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.extractText}\n *\n * @public\n */\n extractText(doc: PdfDocumentObject, pageIndexes: number[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'extractText', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'extractText',\n args: [doc, pageIndexes],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getTextSlices}\n *\n * @public\n */\n getTextSlices(doc: PdfDocumentObject, slices: PageTextSlice[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getTextSlices', doc, slices);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getTextSlices',\n args: [doc, slices],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageGlyphs}\n *\n * @public\n */\n getPageGlyphs(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageGlyphs', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfGlyphObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getPageGlyphs',\n args: [doc, page],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageGeometry}\n *\n * @public\n */\n getPageGeometry(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageGeometry', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfPageGeometry>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'getPageGeometry',\n args: [doc, page],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.merge}\n *\n * @public\n */\n merge(files: PdfFile[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'merge', files);\n const fileIds = files.map((file) => file.id).join('.');\n const requestId = this.generateRequestId(fileIds);\n const task = new WorkerTask<PdfFile>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'merge',\n args: [files],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.mergePages}\n *\n * @public\n */\n mergePages(mergeConfigs: Array<{ docId: string; pageIndices: number[] }>) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'mergePages', mergeConfigs);\n const requestId = this.generateRequestId(mergeConfigs.map((config) => config.docId).join('.'));\n const task = new WorkerTask<PdfFile>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'mergePages',\n args: [mergeConfigs],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.closeDocument}\n *\n * @public\n */\n closeDocument(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'closeDocument', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = {\n id: requestId,\n type: 'ExecuteRequest',\n data: {\n name: 'closeDocument',\n args: [doc],\n },\n };\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * Send the request to webworker inside and register the task\n * @param task - task that waiting for the response\n * @param request - request that needs send to web worker\n * @param transferables - transferables that need to transfer to webworker\n * @returns\n *\n * @internal\n */\n proxy<R>(task: WorkerTask<R>, request: ExecuteRequest, transferables: any[] = []) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'send request to worker',\n task,\n request,\n transferables,\n );\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'Begin', request.id);\n this.readyTask.wait(\n () => {\n this.worker.postMessage(request, transferables);\n task.wait(\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n },\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n },\n );\n this.tasks.set(request.id, task);\n },\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n task.reject({\n code: PdfErrorCode.Initialization,\n message: 'worker initialization failed',\n });\n },\n );\n }\n}\n"],"names":["Task","NoopLogger","PdfErrorCode"],"mappings":";;;;AA2CA,MAAM,UAAU,GAAG,iBAAiB,CAAC;AACrC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B;;AAEG;AACG,MAAO,UAAc,SAAQA,WAAuB,CAAA;AACxD;;;;;;AAMG;IACH,WACS,CAAA,MAAc,EACb,SAAiB,EAAA;AAEzB,QAAA,KAAK,EAAE,CAAC;QAHD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACb,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;KAG1B;AAED;;;;AAIG;AACH,IAAA,KAAK,CAAC,CAAiB,EAAA;AACrB,QAAA,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEf,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;AACtB,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,IAAI,EAAE;gBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;AAC1B,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;AACF,CAAA;AAED;;AAEG;MACU,eAAe,CAAA;AAW1B;;;;;;;AAOG;AACH,IAAA,WAAA,CACU,MAAc,EACd,MAAiB,GAAA,IAAIC,iBAAU,EAAE,EAAA;QADjC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAM,CAAA,MAAA,GAAN,MAAM,CAA2B;AAf3C;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAiC,IAAI,GAAG,EAAE,CAAC;AAoBhD;;;;;;;;AAQG;AACH,QAAA,IAAA,CAAA,MAAM,GAAG,CAAC,GAAsB,KAAI;AAClC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,EACV,YAAY,EACZ,2CAA2C,EAC3C,GAAG,CAAC,IAAI,CACT,CAAC;AACF,YAAA,IAAI;AACF,gBAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAgB,CAAC;AACtC,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO;iBACR;AAED,gBAAA,QAAQ,QAAQ,CAAC,IAAI;AACnB,oBAAA,KAAK,eAAe;AAClB,wBAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC7B,MAAM;AACR,oBAAA,KAAK,iBAAiB;wBACpB;AACE,4BAAA,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI;AACxB,gCAAA,KAAK,QAAQ;oCACX,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oCAClC,MAAM;AACR,gCAAA,KAAK,OAAO;oCACV,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oCACxC,MAAM;6BACT;4BACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;yBAChC;wBACD,MAAM;iBACT;aACF;YAAC,OAAO,CAAC,EAAE;AACV,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,6CAA6C,EAAE,CAAC,CAAC,CAAC;aAC/F;AACH,SAAC,CAAC;QAlDA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAErD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC7D;AAgDD;;;;;AAKG;AACH,IAAA,iBAAiB,CAAC,EAAU,EAAA;AAC1B,QAAA,OAAO,CAAG,EAAA,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KAC/C;AAED;;;;AAIG;IACH,UAAU,GAAA;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,IAAI,EAAE,EAAE;AACT,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,OAAO,GAAA;QACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAK;YAClB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,YAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;AAC1B,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1B,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,IAAI,EAAE,EAAE;AACT,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,eAAe,CAAC,IAAgB,EAAE,OAAuB,EAAA;AACvD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAoB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEvE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;AACtB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,sBAAsB,CAAC,IAAa,EAAE,QAAgB,EAAA;AACpD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAoB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEvE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;AACvB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,sBAAsB,CAAC,IAAmB,EAAE,QAAgB,EAAA;AAC1D,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAoB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEvE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;AACvB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,WAAW,CAAC,GAAsB,EAAA;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAoB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEvE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;IAED,qBAAqB,CACnB,GAAsB,EACtB,IAAmB,EACnB,UAAmC,EACnC,KAAoB,EACpB,KAAA,GAAgB,CAAC,EAAA;AAEjB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC;AAC5C,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,iBAAiB,CAAC,GAAsB,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAS,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE5D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,qBAAqB,CAAC,GAAsB,EAAA;AAC1C,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAS,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE5D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,YAAY,CAAC,GAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAqB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAExE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,aAAa,CAAC,GAAsB,EAAA;AAClC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAuB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE1E,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,UAAU,CACR,GAAsB,EACtB,IAAmB,EACnB,WAAmB,EACnB,QAAkB,EAClB,GAAW,EACX,OAAyB,EACzB,YAAkC,YAAY,EAAA;QAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,GAAG,EACH,OAAO,CACR,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAO,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE1D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC;AAClE,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,cAAc,CACZ,GAAsB,EACtB,IAAmB,EACnB,WAAmB,EACnB,QAAkB,EAClB,GAAW,EACX,IAAU,EACV,OAAyB,EACzB,YAAkC,YAAY,EAAA;QAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,GAAG,EACH,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,GAAG,EACH,IAAI,EACJ,OAAO,CACR,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAO,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE1D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC;AACxE,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,gBAAgB,CACd,GAAsB,EACtB,IAAmB,EACnB,UAA+B,EAC/B,WAAmB,EACnB,QAAkB,EAClB,GAAW,EACX,IAAoB,EACpB,SAA+B,EAAA;QAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,GAAG,EACH,IAAI,EACJ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,GAAG,EACH,IAAI,EACJ,SAAS,CACV,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAO,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE1D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC;AAC3E,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,iBAAiB,CAAC,GAAsB,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAwC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE3F,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,kBAAkB,CAAC,GAAsB,EAAE,IAAmB,EAAA;AAC5D,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAwB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE3E,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,oBAAoB;AAC1B,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;AAClB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,oBAAoB,CAClB,GAAsB,EACtB,IAAmB,EACnB,UAA+B,EAAA;AAE/B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAS,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE5D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;AAC9B,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,oBAAoB,CAClB,GAAsB,EACtB,IAAmB,EACnB,UAA+B,EAAA;AAE/B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;AAC9B,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,oBAAoB,CAClB,GAAsB,EACtB,IAAmB,EACnB,UAA+B,EAAA;AAE/B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;AAC9B,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,gBAAgB,CACd,GAAsB,EACtB,IAAmB,EACnB,WAAmB,EACnB,QAAkB,EAAA;AAElB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,GAAG,EACH,IAAI,EACJ,WAAW,EACX,QAAQ,CACT,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAsB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEzE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC;AACzC,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,eAAe,CACb,GAAsB,EACtB,IAAmB,EACnB,WAAmB,EACnB,QAAkB,EAClB,GAAW,EAAA;QAEX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,GAAG,EACH,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,GAAG,CACJ,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAO,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE1D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC;AAC9C,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,cAAc,CAAC,GAAsB,EAAE,OAAe,EAAE,QAAqB,EAAE,EAAA;AAC7E,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAuB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE1E,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC;AAC5B,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,UAAU,CAAC,GAAsB,EAAA;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAc,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEjE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,cAAc,CAAC,GAAsB,EAAA;AACnC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAwB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE3E,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,qBAAqB,CAAC,GAAsB,EAAE,UAA+B,EAAA;AAC3E,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAc,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEjE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC;AACxB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,iBAAiB,CACf,GAAsB,EACtB,IAAmB,EACnB,UAA+B,EAC/B,KAAqB,EAAA;AAErB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC;AACrC,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,WAAW,CAAC,GAAsB,EAAE,IAAmB,EAAE,IAAwB,EAAA;AAC/E,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAuB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE1E,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;AACxB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,YAAY,CAAC,GAAsB,EAAE,WAAqB,EAAA;AACxD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAc,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEjE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,cAAc;AACpB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC;AACzB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,WAAW,CAAC,GAAsB,EAAE,WAAqB,EAAA;AACvD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAS,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE5D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC;AACzB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,aAAa,CAAC,GAAsB,EAAE,MAAuB,EAAA;AAC3D,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE9D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC;AACpB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,aAAa,CAAC,GAAsB,EAAE,IAAmB,EAAA;AACvD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAmB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;AAClB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACH,eAAe,CAAC,GAAsB,EAAE,IAAmB,EAAA;AACzD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAkB,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAErE,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;AAClB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,KAAK,CAAC,KAAgB,EAAA;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,CAAC,KAAK,CAAC;AACd,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,UAAU,CAAC,YAA6D,EAAA;AACtE,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,CAAC,YAAY,CAAC;AACrB,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACH,IAAA,aAAa,CAAC,GAAsB,EAAA;AAClC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAU,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAmB;AAC9B,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,CAAC,GAAG,CAAC;AACZ,aAAA;SACF,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;AAQG;AACH,IAAA,KAAK,CAAI,IAAmB,EAAE,OAAuB,EAAE,gBAAuB,EAAE,EAAA;AAC9E,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,IAAI,EACJ,OAAO,EACP,aAAa,CACd,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,CAAG,EAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,MAAK;YACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAChD,YAAA,IAAI,CAAC,IAAI,CACP,MAAK;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,CAAG,EAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;aACvF,EACD,MAAK;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,CAAG,EAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AACxF,aAAC,CACF,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SAClC,EACD,MAAK;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,CAAG,EAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAEC,mBAAY,CAAC,cAAc;AACjC,gBAAA,OAAO,EAAE,8BAA8B;AACxC,aAAA,CAAC,CAAC;AACL,SAAC,CACF,CAAC;KACH;;AA7gCM,eAAW,CAAA,WAAA,GAAG,GAAH;;;;;"}
|
package/dist/worker.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PdfEngineMethodName, PdfEngineMethodArgs, Task, PdfErrorReason, PdfEngine, Logger, PdfFileUrl, PdfUrlOptions, PdfDocumentObject, PdfFile, PdfFileLoader, PdfMetadataObject, PdfPageObject, PdfAnnotationObjectBase, WebAlphaColor, PdfBookmarksObject, PdfSignatureObject, Rotation, PdfRenderOptions, ImageConversionTypes, Rect, PdfAnnotationObject,
|
|
1
|
+
import { PdfEngineMethodName, PdfEngineMethodArgs, Task, PdfErrorReason, PdfEngine, Logger, PdfFileUrl, PdfUrlOptions, PdfDocumentObject, PdfFile, PdfFileLoader, PdfMetadataObject, PdfPageObject, PdfAnnotationObjectBase, WebAlphaColor, PdfBookmarksObject, PdfSignatureObject, Rotation, PdfRenderOptions, ImageConversionTypes, Rect, PdfAnnotationObject, AppearanceMode, PdfTextRectObject, MatchFlag, SearchAllPagesResult, PdfAttachmentObject, PdfWidgetAnnoObject, FormFieldValue, PdfPageFlattenFlag, PdfPageFlattenResult, PageTextSlice, PdfGlyphObject, PdfPageGeometry } from '@embedpdf/models';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Request body that represent method calls of PdfEngine, it contains the
|
|
@@ -163,6 +163,12 @@ declare class WebWorkerEngine implements PdfEngine {
|
|
|
163
163
|
* @public
|
|
164
164
|
*/
|
|
165
165
|
renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, scaleFactor: number, rotation: Rotation, dpr: number, rect: Rect, options: PdfRenderOptions, imageType?: ImageConversionTypes): WorkerTask<Blob>;
|
|
166
|
+
/**
|
|
167
|
+
* {@inheritDoc @embedpdf/models!PdfEngine.renderAnnotation}
|
|
168
|
+
*
|
|
169
|
+
* @public
|
|
170
|
+
*/
|
|
171
|
+
renderAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject, scaleFactor: number, rotation: Rotation, dpr: number, mode: AppearanceMode, imageType: ImageConversionTypes): WorkerTask<Blob>;
|
|
166
172
|
/**
|
|
167
173
|
* {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}
|
|
168
174
|
*
|
|
@@ -182,12 +188,6 @@ declare class WebWorkerEngine implements PdfEngine {
|
|
|
182
188
|
*/
|
|
183
189
|
createPageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): WorkerTask<number>;
|
|
184
190
|
updatePageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): WorkerTask<boolean>;
|
|
185
|
-
/**
|
|
186
|
-
* {@inheritDoc @embedpdf/models!PdfEngine.transformPageAnnotation}
|
|
187
|
-
*
|
|
188
|
-
* @public
|
|
189
|
-
*/
|
|
190
|
-
transformPageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject, transformation: PdfAnnotationTransformation): WorkerTask<boolean>;
|
|
191
191
|
/**
|
|
192
192
|
* {@inheritDoc @embedpdf/models!PdfEngine.removePageAnnotation}
|
|
193
193
|
*
|
package/dist/worker.js
CHANGED
|
@@ -365,6 +365,26 @@ class WebWorkerEngine {
|
|
|
365
365
|
this.proxy(task, request);
|
|
366
366
|
return task;
|
|
367
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* {@inheritDoc @embedpdf/models!PdfEngine.renderAnnotation}
|
|
370
|
+
*
|
|
371
|
+
* @public
|
|
372
|
+
*/
|
|
373
|
+
renderAnnotation(doc, page, annotation, scaleFactor, rotation, dpr, mode, imageType) {
|
|
374
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'renderAnnotation', doc, page, annotation, scaleFactor, rotation, dpr, mode, imageType);
|
|
375
|
+
const requestId = this.generateRequestId(doc.id);
|
|
376
|
+
const task = new WorkerTask(this.worker, requestId);
|
|
377
|
+
const request = {
|
|
378
|
+
id: requestId,
|
|
379
|
+
type: 'ExecuteRequest',
|
|
380
|
+
data: {
|
|
381
|
+
name: 'renderAnnotation',
|
|
382
|
+
args: [doc, page, annotation, scaleFactor, rotation, dpr, mode, imageType],
|
|
383
|
+
},
|
|
384
|
+
};
|
|
385
|
+
this.proxy(task, request);
|
|
386
|
+
return task;
|
|
387
|
+
}
|
|
368
388
|
/**
|
|
369
389
|
* {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}
|
|
370
390
|
*
|
|
@@ -440,26 +460,6 @@ class WebWorkerEngine {
|
|
|
440
460
|
this.proxy(task, request);
|
|
441
461
|
return task;
|
|
442
462
|
}
|
|
443
|
-
/**
|
|
444
|
-
* {@inheritDoc @embedpdf/models!PdfEngine.transformPageAnnotation}
|
|
445
|
-
*
|
|
446
|
-
* @public
|
|
447
|
-
*/
|
|
448
|
-
transformPageAnnotation(doc, page, annotation, transformation) {
|
|
449
|
-
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'transformPageAnnotation', doc, page, annotation, transformation);
|
|
450
|
-
const requestId = this.generateRequestId(doc.id);
|
|
451
|
-
const task = new WorkerTask(this.worker, requestId);
|
|
452
|
-
const request = {
|
|
453
|
-
id: requestId,
|
|
454
|
-
type: 'ExecuteRequest',
|
|
455
|
-
data: {
|
|
456
|
-
name: 'transformPageAnnotation',
|
|
457
|
-
args: [doc, page, annotation, transformation],
|
|
458
|
-
},
|
|
459
|
-
};
|
|
460
|
-
this.proxy(task, request);
|
|
461
|
-
return task;
|
|
462
|
-
}
|
|
463
463
|
/**
|
|
464
464
|
* {@inheritDoc @embedpdf/models!PdfEngine.removePageAnnotation}
|
|
465
465
|
*
|